about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--modules/server/spectrum/nginx/default.nix22
-rw-r--r--sys/atuin.nix5
2 files changed, 21 insertions, 6 deletions
diff --git a/modules/server/spectrum/nginx/default.nix b/modules/server/spectrum/nginx/default.nix
index 3669fdeaa168..9614558dbcb7 100644
--- a/modules/server/spectrum/nginx/default.nix
+++ b/modules/server/spectrum/nginx/default.nix
@@ -1,6 +1,26 @@
-{ ... }:
+{ lib, ... }:
+
+let
+  inherit (lib) head tail;
+
+  redirectDomains = [
+    "spectrum-os.com"
+    "spectrumos.org"
+    "www.spectrum-os.com"
+    "www.spectrum-os.org"
+    "www.spectrumos.org"
+  ];
+in
 
 {
+  services.nginx.virtualHosts."spectrum-redirects" = {
+    serverName = head redirectDomains;
+    serverAliases = tail redirectDomains;
+    addSSL = true;
+    enableACME = true;
+    globalRedirect = "spectrum-os.org";
+  };
+
   # TODO: some sort of robots.txt generation module might be nice.
   services.nginx.virtualHosts."spectrum-os.org".locations."= /robots.txt" = {
     alias = ./robots.txt;
diff --git a/sys/atuin.nix b/sys/atuin.nix
index e9bd3016cc5b..0cb6bea29688 100644
--- a/sys/atuin.nix
+++ b/sys/atuin.nix
@@ -165,11 +165,6 @@
     let
       vhosts = {
         "znc.qyliss.net".locations."/".proxyPass = "http://127.0.0.1:6667/";
-        "spectrum-os.com".locations."/".return = "301 https://spectrum-os.org/";
-        "spectrumos.org".locations."/".return = "301 https://spectrum-os.org/";
-        "www.spectrum-os.com".locations."/".return = "301 https://spectrum-os.org/";
-        "www.spectrum-os.org".locations."/".return = "301 https://spectrum-os.org/";
-        "www.spectrumos.org".locations."/".return = "301 https://spectrum-os.org/";
 
         "spectrum-os.org".locations = {
           "/".root = "/home/spectrum/www";