{ config, lib, ... }: with lib; let cfg = config.nixfiles.modules.sonarr; in { options.nixfiles.modules.sonarr = { enable = mkEnableOption "Sonarr"; domain = mkOption { description = "Domain name sans protocol scheme."; type = with types; str; default = "sonarr.${config.networking.fqdn}"; }; }; config = mkIf cfg.enable { nixfiles.modules.nginx = { enable = true; upstreams.sonarr.servers."127.0.0.1:8989" = {}; virtualHosts.${cfg.domain}.locations."/".proxyPass = "http://sonarr"; }; services.sonarr.enable = true; }; }