nixfiles/modules/server/taf/default.nix
2025-10-13 16:14:51 +02:00

65 lines
1.2 KiB
Nix

{ config, ... }:
{
mailserver = {
enable = true;
stateVersion = 3;
fqdn = "taf.lyes.eu";
domains = [
"lyes.eu"
"mail.lyes.eu"
];
localDnsResolver = false;
enableManageSieve = true;
ldap = {
enable = true;
uris = [ "ldaps://" ];
searchBase = "dc=auth,dc=lyes,dc=eu";
searchScope = "sub";
bind = {
dn = "dn=token,dc=auth,dc=lyes,dc=eu";
passwordFile = config.age.secrets.taf-token.path;
};
dovecot = {
userFilter = "(mail=%u)";
passFilter = "(mail=%u)";
};
postfix = {
filter = "(mail=%s)";
mailAttribute = "mail";
uidAttribute = "name";
};
};
extraVirtualAliases = {
"@lyes.eu" = "lyes@mail.lyes.eu";
};
certificateScheme = "acme-nginx";
};
services.roundcube = {
enable = true;
hostName = "mail.lyes.eu";
extraConfig = ''
$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;
};
};
}