diff --git a/flake.nix b/flake.nix index ec0b9da..9743f4f 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,9 @@ nix-bitcoin = { url = "github:fort-nix/nix-bitcoin/release"; }; + simple-nixos-mailserver = { + url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-22.11"; + }; libre-presenter = { url = "gitlab:chriscochrun/church-presenter"; }; @@ -104,6 +107,7 @@ modules = [ ./system/dalinar/configuration.nix nix-bitcoin.nixosModules.default + # simple-nixos-mailserver.nixosModules.default ]; }; kohlin = nixpkgs-stable.lib.nixosSystem { diff --git a/system/dalinar/configuration.nix b/system/dalinar/configuration.nix index f8f5e3f..35f4bcd 100644 --- a/system/dalinar/configuration.nix +++ b/system/dalinar/configuration.nix @@ -171,6 +171,54 @@ nodes.clightning.enable = true; }; + mailserver = { + enable = true; + fqdn = "mail.cochrun.xyz"; + domains = [ "cochrun.xyz" ]; + enableManageSieve = true; + mailDirectory = "/storage/vmail"; + mailboxes = { + Archive = { + auto = "subsribe"; + specialUse = "Archive"; + } + Drafts = { + auto = "subscribe"; + specialUse = "Drafts"; + }; + Junk = { + auto = "subscribe"; + specialUse = "Junk"; + }; + Sent = { + auto = "subscribe"; + specialUse = "Sent"; + }; + Trash = { + auto = "no"; + specialUse = "Trash"; + }; + }; + useFsLayout = true; + hierarchySeparator = "/"; + certificateScheme = 1; + certificateFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.cochrun.xyz/mail.cochrun.xyz.crt"; + keyFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/mail.cochrun.xyz/mail.cochrun.xyz.key"; + loginAccounts = { + "chris@cochrun.xyz" = { + hashedPasswordFile = "/home/chris/mailp"; + aliases = [ + "postmaster@cochrun.xyz" + "cxda@cochrun.xyz" + "ceth@cochrun.xyz" + "clocb@cochrun.xyz" + "higdry@cochrun.xyz" + "clin@cochrun.xyz" + ] + } + } + } + # DDCLIENT services.ddclient = { enable = true; @@ -213,6 +261,10 @@ reverse_proxy localhost:8123 ''; }; + virtualHosts = { + "mail.cochrun.xyz".extraConfig = '' + ''; + } virtualHosts = { "jelly.cochrun.xyz".extraConfig = '' reverse_proxy localhost:8096