{ lib, config, ... }: { options.services.bazarr = { 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.bazarr.enable && config.services.bazarr.subdomain != null) { host.reverse_proxy.subdomains.bazarr = { subdomain = config.services.bazarr.subdomain; extraSubdomains = config.services.bazarr.extraSubdomains; target = "http://127.0.0.1:6767"; websockets.enable = true; forwardHeaders.enable = true; }; }; }