X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fmail%2Fdefault.nix;h=b50e346a10495ed844ad15b2e2809a5f19795b1a;hb=5400b9b6f65451d41a9106fae6fc00f97d83f4ef;hp=d3b2a25eba8fd44fd8a579794fdcf9a904f60d8c;hpb=8415083eb6acc343dfa404dbbc12fa0171a48a20;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/mail/default.nix b/modules/private/mail/default.nix index d3b2a25..b50e346 100644 --- a/modules/private/mail/default.nix +++ b/modules/private/mail/default.nix @@ -1,24 +1,28 @@ -{ lib, pkgs, config, myconfig, ... }: +{ lib, pkgs, config, ... }: { imports = [ ./milters.nix ./postfix.nix ./dovecot.nix + ./relay.nix ./rspamd.nix + ./opensmtpd.nix ]; options.myServices.mail.enable = lib.mkEnableOption "enable Mail services"; + options.myServices.mailRelay.enable = lib.mkEnableOption "enable Mail relay services"; + options.myServices.mailBackup.enable = lib.mkEnableOption "enable MX backup services"; config = lib.mkIf config.myServices.mail.enable { security.acme.certs."mail" = config.myServices.certificates.certConfig // { - domain = "eldiron.immae.eu"; + domain = config.hostEnv.fqdn; extraDomains = let zonesWithMx = builtins.filter (zone: lib.attrsets.hasAttr "withEmail" zone && lib.lists.length zone.withEmail > 0 - ) myconfig.env.dns.masterZones; - mxs = map (zone: "mx-1.${zone.name}") zonesWithMx; + ) config.myEnv.dns.masterZones; + mxs = map (zone: "${config.hostEnv.mx.subdomain}.${zone.name}") zonesWithMx; in builtins.listToAttrs (map (mx: lib.attrsets.nameValuePair mx null) mxs); }; - services.backup.profiles = { + services.duplyBackup.profiles = { mail = { rootDir = "/var/lib"; excludeFile = lib.mkAfter ''