diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 0b4a727..a95381d 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -17,6 +17,7 @@ ./programs/photoprism.nix ./programs/synapse.nix ./programs/fail2ban.nix + ./programs/maddy.nix ]; # Enable flakes diff --git a/nixos/programs/maddy.nix b/nixos/programs/maddy.nix new file mode 100644 index 0000000..dcaf89b --- /dev/null +++ b/nixos/programs/maddy.nix @@ -0,0 +1,28 @@ +{ config, options, ... }: +{ + services.maddy = { + enable = true; + primaryDomain = "comfycamp.space"; + hostname = "mx.comfycamp.space"; + tls = { + loader = "file"; + certificates = [{ + keyPath = "/var/lib/acme/comfycamp.space/key.pem"; + certPath = "/var/lib/acme/comfycamp.space/fullchain.pem"; + }]; + }; + config = builtins.replaceStrings [ + "imap tcp://0.0.0.0:143" + "submission tcp://0.0.0.0:587" + "dsn imapsql.db" + "dsn credentials.db" + "driver sqlite3" + ] [ + "imap tls://0.0.0.0:993 tcp://0.0.0.0:143" + "submission tls://0.0.0.0:465 tcp://0.0.0.0:587" + "dsn user=maddy host=/run/postgresql dbname=maddy" + "dsn user=maddy host=/run/postgresql dbname=maddy" + "driver postgres" + ] options.services.maddy.config.default; + }; +}