{ config, lib, libNginx, ... }: with lib; let cfg = config.nixfiles.modules.rss-bridge; in { options.nixfiles.modules.rss-bridge = { enable = mkEnableOption "RSS-Bridge"; domain = mkOption { description = "Domain name sans protocol scheme."; type = with types; str; default = "rss-bridge.${config.networking.domain}"; }; }; config = mkIf cfg.enable { ark.directories = [ config.services.rss-bridge.dataDir ]; nixfiles.modules.nginx = { enable = true; virtualHosts.${cfg.domain}.extraConfig = libNginx.config.internalOnly; }; services.rss-bridge = { enable = true; virtualHost = cfg.domain; config = { system.enabled_bridges = [ "*" ]; FileCache = { path = "${config.services.rss-bridge.dataDir}/cache"; enable_purge = true; }; }; }; }; }