diff options
Diffstat (limited to 'sys/web/nginx.nix')
| -rw-r--r-- | sys/web/nginx.nix | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/sys/web/nginx.nix b/sys/web/nginx.nix index db2d27d..a971eb2 100644 --- a/sys/web/nginx.nix +++ b/sys/web/nginx.nix @@ -6,6 +6,11 @@ in { options.local.web = { enable = mkEnableOption "web server"; + + ownedCerts = mkOption { + type = with lib.types; listOf str; + default = [ ]; + }; }; config = mkIf cfg.enable { @@ -21,25 +26,29 @@ in clientMaxBodySize = "42M"; - virtualHosts = { - ${domains.host.www} = { - serverAliases = [ domains.host.main ]; - useACMEHost = domains.host.main; - forceSSL = true; - }; - }; + virtualHosts = { }; }; + local.certs = listToAttrs (map + (name: { + inherit name; + value.enable = true; + }) + cfg.ownedCerts); + + networking.firewall.allowedTCPPorts = [ 80 443 ]; + security = { - acme.certs.${domains.host.main} = { - inherit (config.services.nginx) group; - }; + acme.certs = listToAttrs (map + (name: { + name = domains.${name}.main; + value = { + group = mkDefault config.services.nginx.group; + }; + }) + cfg.ownedCerts); dhparams.params.nginx = { }; }; - - networking.firewall.allowedTCPPorts = [ 80 443 ]; - - local.certs.host.enable = true; }; } |
