summary refs log tree commit diff stats
path: root/system/services/mail/default.nix
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-07-03 15:10:14 +0200
committerSoispha <soispha@vhack.eu>2023-07-03 15:12:58 +0200
commitdacf980342f91654768a37926b23633846d8bb2f (patch)
tree9dca8583e1616ee836fd78744632d3eeee7f48b5 /system/services/mail/default.nix
parentFix(system/services/openssh): Rename to 'openssh' as the 'd' is a typo (diff)
downloadnixos-server-dacf980342f91654768a37926b23633846d8bb2f.zip
Refactor(system/services/mail): Move mail to services as it's one
Diffstat (limited to 'system/services/mail/default.nix')
-rw-r--r--system/services/mail/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/system/services/mail/default.nix b/system/services/mail/default.nix
new file mode 100644
index 0000000..f9d00ea
--- /dev/null
+++ b/system/services/mail/default.nix
@@ -0,0 +1,42 @@
+{lib, ...}: let
+  all_admins = [
+    "sils@vhack.eu"
+    "soispha@vhack.eu"
+    "nightingale@vhack.eu"
+  ];
+  users = import ./users.nix {};
+in {
+  mailserver =
+    lib.recursiveUpdate {
+      enable = true;
+      fqdn = "server1.vhack.eu";
+
+      useFsLayout = true;
+
+      extraVirtualAliases = {
+        "abuse@vhack.eu" = all_admins;
+        "postmaster@vhack.eu" = all_admins;
+        "admin@vhack.eu" = all_admins;
+      };
+
+      mailDirectory = "/srv/mail/vmail";
+      dkimKeyDirectory = "/srv/mail/dkim";
+      sieveDirectory = "/srv/mail/sieve";
+      backup.snapshotRoot = "/srv/mail/backup";
+
+      enableImap = false;
+      enableImapSsl = true;
+      enablePop3 = false;
+      enablePop3Ssl = true;
+      # SMTP
+      enableSubmission = false;
+      enableSubmissionSsl = true;
+      openFirewall = true;
+
+      keyFile = "/var/lib/acme/server1.vhack.eu/key.pem";
+      certificateScheme = "acme";
+      certificateFile = "/var/lib/acme/server1.vhack.eu/fullchain.pem";
+    }
+    users;
+}
+# vim: ts=2