diff options
Diffstat (limited to '')
-rw-r--r-- | system/services/nginx/default.nix | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/system/services/nginx/default.nix b/system/services/nginx/default.nix index 8544475..cc633ed 100644 --- a/system/services/nginx/default.nix +++ b/system/services/nginx/default.nix @@ -1,5 +1,17 @@ {...}: let domains = import ./hosts.nix {}; + importedRedirects = import ./redirects.nix {}; + mkRedirect = { + key, + value, + }: { + name = key; + value = { + forceSSL = false; + enableACME = false; + locations."/".return = "301 ${value}"; + }; + }; mkVirtHost = { domain, root, @@ -27,6 +39,7 @@ virtHosts = builtins.listToAttrs (builtins.map mkVirtHost domains); nixSyncRepositories = builtins.listToAttrs (builtins.map mkNixSyncRepository domains); + redirects = builtins.listToAttrs (builtins.map mkRedirect importedRedirects); in { security.acme = { acceptTerms = true; @@ -41,7 +54,8 @@ in { }; services.nginx = { enable = true; - virtualHosts = virtHosts; + # The merge here is fine, as no domain should be specified twice + virtualHosts = virtHosts // redirects; }; services.nix-sync = { |