{ config, lib, ... }: let cfg = config.services.sillytavern; fqdn = "${cfg.subdomain}.${config.networking.domain}"; in { options.services.sillytavern = { subdomain = lib.mkOption { type = lib.types.str; default = "sillytavern"; }; }; config = lib.mkIf cfg.enable { services.webserver = { enable = lib.mkDefault true; vHosts.${fqdn} = { tailscaleAuth = true; proxyBuffering = false; locations."/".proxyPort = cfg.port; }; }; }; }