zaphyra's git: nixfiles

zaphyra and void's nixfiles

commit 864e5cc3059d4bf6af819b685a281f18e16e7952
parent 732010e1aa306593c539ca66b81b0545cff9191d
Author: Katja (zaphyra) <git@ctu.cx>
Date: Mon, 26 May 2025 23:57:26 +0200

config/nixos/modules/presets/katja/mailServer: add domains `ctu.cx`, `ctucx.de`, `thein.ovh`, `zuggeschmack.de`
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/config/nixos/modules/presets/katja/mailServer.nix b/config/nixos/modules/presets/katja/mailServer.nix
@@ -31,6 +31,19 @@ in
       type = types.str;
       default = "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMuEtG24S6ksVx04avtjwIrfijZvQMxe44HrAXjW+Qe7ZbBHtS+q8alvL21zHbe4VgAOTNZ+fCnqSif4TFaOQnwuGwWke5SRBHV6RmWLaJUnN7krjFj+oNmKnl5M3GPI62shhk4OlMgAdDrH/JApd4XTqR3m0U/8rXqPumfbHhzwIDAQAB";
     };
+    extraDomains = {
+      type = with types; attrsOf str;
+      default = {
+        "ctu.cx" =
+          "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOuE5vBNP0L4i3OxcFdFbTJ/c8o58CL+cMHBh8lAZej1nSYOPBdpfJRpWiHduWu8cLWNu62nDeY9IGGnE6g9o6+6sMT51NdoY7FFcNNjhm0EoZVDaB1Ffy74ycIDAwuNfp8kpKFsxWMSs1CFy6IRDIIzaQc9JAIoBUBbN5rP2DcwIDAQAB";
+        "ctucx.de" =
+          "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCg3pBG8oH8h0w5YrZ7Dpmtk+/XqE9HElWeF1SWMo86aVLkbsMKjY0WbfAq5YfEdSr/pQrILC+oAt/q6TuLzABYd7cLzK7KgdIX2SuYvujmHqzOOn1huAkzQU0wJMnMYx/0wCFMnVHXsWY9UF2zHDhYu8Jo9vuwMPwGG9u1qnfdCQIDAQAB";
+        "thein.ovh" =
+          "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDYogCqmPNomxG4KyZGsfpefFNPS5lY9aRm7TjiONKKPKQFb4oFfUBacurfL+cdGhX6CBnRr6IUXZ37e+ptOyWNFfG1e5R7dJeRdmCZvsn2DRbxCEeGA6gjl3hmRIjg3HUCWjWlzjRXV4Qke/7Q1y1lfivOrgU72bLw/V7BEi1OZQIDAQAB";
+        "zuggeschmack.de" =
+          "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnAw4RQAJ2yFYmqIRzSfyEhFmC7ICywBMx65u3U3blge+HOa/kO1jc8tA2CCVQpgJur0fBB8NFFWpTMEfL0zETxWK07FQE9HfN52P+i4B4wo4P9N/ig5ZYcyXfrgUZtQaUzGRpHZ6gAe6YS1SREsjfOC8eTMF6HELdSR4W4fFbiwIDAQAB";
+      };
+    };
     ip6Address = {
       type = types.str;
       default = hostConfig.networking.ip6Address;

@@ -114,7 +127,15 @@ in
               "${config.mailserver.dkimSelector}._domainkey".TXT = [ cfg.primaryDomainDkimKey ];
             };
           };
-        };
+        }
+        // (lib.mapAttrs (domain: dkimKey: {
+          inherit MX TXT;
+
+          subdomains = {
+            _dmarc.TXT = [ DMARC ];
+            "${config.mailserver.dkimSelector}._domainkey".TXT = [ dkimKey ];
+          };
+        }) cfg.extraDomains);
 
       sops.secrets = {
         "mailPasswords/katja@zaphyra.eu" = { };

@@ -180,7 +201,7 @@ in
 
         domains = [
           cfg.primaryDomain
-        ];
+        ] ++ (lib.attrNames cfg.extraDomains);
 
         loginAccounts = {
           "katja@zaphyra.eu" = {