dotfiles/modules/mailserver.nix

67 lines
1.5 KiB
Nix

{ pkgs, lib, config, ... }:
let
fqdn = "mail.cochrun.xyz";
dn = "cochrun.xyz";
in
with lib;
{
services.caddy = {
virtualHosts = {
"mail.cochrun.xyz".extraConfig = ''
tls internal {
key_type rsa2048
}
respond "Hello DMS"
'' ;
};
};
mailserver = {
enable = true;
fqdn = fqdn;
domains = [ dn ];
enableManageSieve = true;
mailDirectory = "/home/chris/mailserver/docker-data/mail-data";
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 = "acme";
certificateFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${fqdn}/${fqdn}.crt";
keyFile = "/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/${fqdn}/${fqdn}.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"
];
};
};
};
}