summary refs log tree commit diff stats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/mailserver.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/mailserver.nix b/modules/mailserver.nix
new file mode 100644
index 0000000..90c17fa
--- /dev/null
+++ b/modules/mailserver.nix
@@ -0,0 +1,36 @@
+{ config, pkgs, ... }: {
+  imports = [
+    (builtins.fetchTarball {
+      url = "https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/archive/nixos-24.11/nixos-mailserver-nixos-24.11.tar.gz";
+      sha256 = "05k4nj2cqz1c5zgqa0c6b8sp3807ps385qca74fgs6cdc415y3qw";
+    })
+  ];
+
+  mailserver = {
+    enable = true;
+    fqdn = "mail.krinitsin.com";
+    domains = [ "krinitsin.com" ];
+    certificateScheme = "acme-nginx";
+
+    # To create the password hashes, use nix-shell -p mkpasswd --run 'mkpasswd -sm bcrypt'
+    loginAccounts = {
+      "mail@krinitsin.com" = {
+        hashedPasswordFile = "/secret/mail@krinitsin.com";
+        aliases = ["postmaster@krinitsin.com"];
+      };
+      "wladislaw@krinitsin.com" = {
+        hashedPasswordFile = "/secret/wladislaw@krinitsin.com";
+      };
+    };
+  };
+
+  services.roundcube = {
+     enable = true;
+     hostName = "webmail.krinitsin.com";
+     extraConfig = ''
+       $config['smtp_host'] = "tls://${config.mailserver.fqdn}";
+       $config['smtp_user'] = "%u";
+       $config['smtp_pass'] = "%p";
+     '';
+  };
+}