From c77d2f4dbab0a30f2db60bf56501af6b7060085d Mon Sep 17 00:00:00 2001 From: Soispha Date: Sat, 14 Oct 2023 16:18:32 +0200 Subject: refactor(system/services/redirects): Move under the nginx directory --- system/services/nginx/default.nix | 16 +++++++++++++++- system/services/nginx/redirects.nix | 6 ++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 system/services/nginx/redirects.nix (limited to 'system/services/nginx') 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 = { diff --git a/system/services/nginx/redirects.nix b/system/services/nginx/redirects.nix new file mode 100644 index 0000000..a021e72 --- /dev/null +++ b/system/services/nginx/redirects.nix @@ -0,0 +1,6 @@ +{...}: [ + { + key = "source.vhack.eu"; + value = "https://codeberg.org/vhack.eu/nixos-server"; + } +] -- cgit 1.4.1