hosts/mail: allow aliased sending on some domains
All checks were successful
Check flake / build-amd64-linux (push) Successful in 1m16s

This commit is contained in:
2025-05-26 22:33:36 +01:00
parent 59f771e4e4
commit 8a7f4e5340

View File

@ -5,18 +5,21 @@
}: }:
let let
domains = [ sendingDomains = [
"h0lt.com"
"jdholt.com" "jdholt.com"
"vimium.com"
];
receiveOnlyDomains = [
"h0lt.com"
"jordanholt.xyz" "jordanholt.xyz"
"vimium.co" "vimium.co"
"vimium.com"
"vimium.co.uk" "vimium.co.uk"
"vimium.info" "vimium.info"
"vimium.net" "vimium.net"
"vimium.org" "vimium.org"
"vimium.xyz" "vimium.xyz"
]; ];
allDomains = sendingDomains ++ receiveOnlyDomains;
in in
{ {
imports = [ imports = [
@ -50,7 +53,7 @@ in
mailserver = { mailserver = {
enable = true; enable = true;
fqdn = "mail.vimium.com"; fqdn = "mail.vimium.com";
domains = domains; domains = allDomains;
indexDir = "/var/lib/dovecot/indices"; indexDir = "/var/lib/dovecot/indices";
certificateDomains = [ certificateDomains = [
@ -64,16 +67,10 @@ in
loginAccounts = { loginAccounts = {
"jordan@vimium.com" = { "jordan@vimium.com" = {
hashedPasswordFile = config.age.secrets."passwords/users/jordan".path; hashedPasswordFile = config.age.secrets."passwords/users/jordan".path;
catchAll = domains; aliases = map (domain: "@" + domain) sendingDomains;
catchAll = receiveOnlyDomains;
}; };
}; };
extraVirtualAliases = {
"hostmaster@vimium.com" = "jordan@vimium.com";
"postmaster@vimium.com" = "jordan@vimium.com";
"webmaster@vimium.com" = "jordan@vimium.com";
"abuse@vimium.com" = "jordan@vimium.com";
};
}; };
services.postfix.config = { services.postfix.config = {