]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/mail/default.nix
ac8ad8c88137387f97ff46bb8925df06c165ec64
[perso/Immae/Config/Nix.git] / modules / private / mail / default.nix
1 { lib, pkgs, config, myconfig, ... }:
2 {
3 config.security.acme.certs."mail" = config.services.myCertificates.certConfig // {
4 domain = "eldiron.immae.eu";
5 extraDomains = let
6 zonesWithMx = builtins.filter (zone:
7 lib.attrsets.hasAttr "withEmail" zone && lib.lists.length zone.withEmail > 0
8 ) myconfig.env.dns.masterZones;
9 mxs = map (zone: "mx-1.${zone.name}") zonesWithMx;
10 in builtins.listToAttrs (map (mx: lib.attrsets.nameValuePair mx null) mxs);
11 };
12 config.services.backup.profiles = {
13 mail = {
14 rootDir = "/var/lib";
15 excludeFile = lib.mkAfter ''
16 + /var/lib/vhost
17 - /var/lib
18 '';
19 };
20 };
21 }