{ lib, config, ... }: { options.services.radarr = { subdomain = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; description = "Subdomain for reverse proxy. If null, service will be local only."; }; extraSubdomains = lib.mkOption { type = lib.types.listOf lib.types.str; default = []; description = "Extra subdomains for reverse proxy."; }; }; config = lib.mkIf (config.services.radarr.enable && config.services.radarr.subdomain != null) { host.reverse_proxy.subdomains.radarr = { subdomain = config.services.radarr.subdomain; extraSubdomains = config.services.radarr.extraSubdomains; target = "http://127.0.0.1:7878"; websockets.enable = true; forwardHeaders.enable = true; }; }; }