X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fmail%2Frelay.nix;h=add9c8ca8417aaacf21100aca9a7ff801b2cc4b3;hb=6596ce997908aab8daaae635229e5031c83fd57c;hpb=cc0ec972ee21b296ca382939350605cb2483aefd;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/mail/relay.nix b/modules/private/mail/relay.nix index fe16123..add9c8c 100644 --- a/modules/private/mail/relay.nix +++ b/modules/private/mail/relay.nix @@ -1,4 +1,16 @@ { lib, pkgs, config, nodes, name, ... }: +let all_domains = config.myEnv.mail.postfix.additional_mailbox_domains + ++ lib.remove null (lib.flatten (map + (zone: map + (e: if e.receive + then "${e.domain}${lib.optionalString (e.domain != "") "."}${zone.name}" + else null + ) + (zone.withEmail or []) + ) + config.myEnv.dns.masterZones + )); +in { config = lib.mkIf config.myServices.mailBackup.enable { security.acme.certs."mail" = config.myServices.certificates.certConfig // { @@ -138,14 +150,18 @@ virtual = let cfg = config.myEnv.monitoring.email_check.eldiron; address = "${cfg.mail_address}@${cfg.mail_domain}"; + aliases = config.myEnv.mail.postfix.common_aliases; in pkgs.writeText "postfix-virtual" ( builtins.concatStringsSep "\n" ( - ["${address} 1"] ++ + [ "${address} 1" + ] ++ + map (a: "${a} 1") config.myEnv.mail.postfix.other_aliases ++ lib.attrsets.mapAttrsToList ( n: v: lib.optionalString v.external '' script_${n}@mail.immae.eu 1 '' ) config.myEnv.mail.scripts + ++ lib.lists.flatten (map (domain: map (alias: "${alias}@${domain} 1") aliases) all_domains) ) ); };