]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/mail/default.nix
Configure mail (dovecot, postfix, spam checks)
[perso/Immae/Config/Nix.git] / modules / private / mail / default.nix
diff --git a/modules/private/mail/default.nix b/modules/private/mail/default.nix
new file mode 100644 (file)
index 0000000..ad2c684
--- /dev/null
@@ -0,0 +1,12 @@
+{ lib, pkgs, config, myconfig,  ... }:
+{
+  config.security.acme.certs."mail" = config.services.myCertificates.certConfig // {
+    domain = "eldiron.immae.eu";
+    extraDomains = let
+      zonesWithMx = builtins.filter (zone:
+        lib.attrsets.hasAttr "withEmail" zone && lib.lists.length zone.withEmail > 0
+      ) myconfig.env.dns.masterZones;
+      mxs = map (zone: "mx-1.${zone.name}") zonesWithMx;
+    in builtins.listToAttrs (map (mx: lib.attrsets.nameValuePair mx null) mxs);
+  };
+}