nixfiles/modules/server/taf/default.nix

99 lines
2 KiB
Nix

{ config, ... }:
{
mailserver = {
enable = true;
stateVersion = 3;
fqdn = "taf.lyes.eu";
domains = [
"lyes.eu"
"mail.lyes.eu"
];
localDnsResolver = false;
enableManageSieve = true;
# debug.all = true;
# ldap = {
# enable = true;
# uris = [ "ldaps://auth.lyes.eu:636" ];
# searchBase = "dc=auth,dc=lyes,dc=eu";
# searchScope = "sub";
# bind = {
# # dn = "dn=token,dc=auth,dc=lyes,dc=eu";
# dn = "dn=token";
# passwordFile = config.age.secrets.taf-token.path;
# };
# dovecot = {
# userFilter = "(name=%u)";
# passFilter = "(name=%u)";
# };
# postfix = {
# filter = "(name=%s)";
# mailAttribute = "mail";
# uidAttribute = "name";
# };
# };
loginAccounts = {
"lyes@mail.lyes.eu" = {
hashedPasswordFile = config.age.secrets.lyes-mail-passwd.path;
aliases = [
"@lyes.eu"
];
};
};
# extraVirtualAliases = {
# "@lyes.eu" = "lyes@mail.lyes.eu";
# };
certificateScheme = "acme-nginx";
};
# services.dovecot2.extraConfig = ''
# userdb {
# driver = ldap
# auth_bind = yes
# # pass_attrs = uid=user
# pass_filter = (name=%u)
# }
# passdb {
# driver = ldap
# auth_bind = yes
# # pass_attrs = uid=user
# pass_filter = (name=%u)
# }
# '';
services.roundcube = {
enable = true;
hostName = "taf.lyes.eu";
extraConfig = ''
$config['imap_host'] = "ssl://taf.lyes.eu:993";
$config['smtp_host'] = "tls://taf.lyes.eu";
$config['smtp_port'] = 587;
$config['smtp_user'] = "%u";
$config['smtp_pass'] = "%p";
'';
};
age.secrets = {
taf-token = {
owner = "postfix";
file = ../../../secrets/zora/services/taf-token.age;
};
lyes-mail-passwd = {
owner = "postfix";
file = ../../../secrets/lyes/mail-passwd.age;
};
};
}