diff options
Diffstat (limited to 'systems/eldiron/mail')
-rw-r--r-- | systems/eldiron/mail/default.nix | 4 | ||||
-rw-r--r-- | systems/eldiron/mail/dovecot.nix | 8 | ||||
-rw-r--r-- | systems/eldiron/mail/postfix.nix | 7 | ||||
-rw-r--r-- | systems/eldiron/mail/rspamd.nix | 7 | ||||
-rw-r--r-- | systems/eldiron/mail/sympa.nix | 18 |
5 files changed, 44 insertions, 0 deletions
diff --git a/systems/eldiron/mail/default.nix b/systems/eldiron/mail/default.nix index 4e13f6a..a6acce0 100644 --- a/systems/eldiron/mail/default.nix +++ b/systems/eldiron/mail/default.nix | |||
@@ -9,6 +9,10 @@ | |||
9 | 9 | ||
10 | options.myServices.mail.enable = lib.mkEnableOption "enable Mail services"; | 10 | options.myServices.mail.enable = lib.mkEnableOption "enable Mail services"; |
11 | config = lib.mkIf config.myServices.mail.enable { | 11 | config = lib.mkIf config.myServices.mail.enable { |
12 | services.borgBackup.profiles.global.includedPaths = [ | ||
13 | "opendkim" | ||
14 | "vhost/immae.eu" | ||
15 | ]; | ||
12 | myServices.mail.milters.enable = true; | 16 | myServices.mail.milters.enable = true; |
13 | security.acme.certs."mail" = { | 17 | security.acme.certs."mail" = { |
14 | postRun = lib.mkBefore '' | 18 | postRun = lib.mkBefore '' |
diff --git a/systems/eldiron/mail/dovecot.nix b/systems/eldiron/mail/dovecot.nix index 9c9cd7c..a14e400 100644 --- a/systems/eldiron/mail/dovecot.nix +++ b/systems/eldiron/mail/dovecot.nix | |||
@@ -13,6 +13,14 @@ let | |||
13 | in | 13 | in |
14 | { | 14 | { |
15 | config = lib.mkIf config.myServices.mail.enable { | 15 | config = lib.mkIf config.myServices.mail.enable { |
16 | services.borgBackup.profiles.global.includedPaths = [ | ||
17 | "dhparams" | ||
18 | ]; | ||
19 | services.borgBackup.profiles.global.ignoredPaths = [ | ||
20 | "vhost/.sieve_bin" | ||
21 | "vhost/.imapsieve_bin" | ||
22 | "dovecot" | ||
23 | ]; | ||
16 | myServices.dns.zones."immae.eu".subdomains = | 24 | myServices.dns.zones."immae.eu".subdomains = |
17 | with config.myServices.dns.helpers; | 25 | with config.myServices.dns.helpers; |
18 | { | 26 | { |
diff --git a/systems/eldiron/mail/postfix.nix b/systems/eldiron/mail/postfix.nix index ce7615d..c526c84 100644 --- a/systems/eldiron/mail/postfix.nix +++ b/systems/eldiron/mail/postfix.nix | |||
@@ -10,6 +10,13 @@ in | |||
10 | apply = builtins.mapAttrs (n: v: if builtins.isList v then builtins.concatStringsSep "," v else v); | 10 | apply = builtins.mapAttrs (n: v: if builtins.isList v then builtins.concatStringsSep "," v else v); |
11 | }; | 11 | }; |
12 | config = lib.mkIf config.myServices.mail.enable { | 12 | config = lib.mkIf config.myServices.mail.enable { |
13 | services.borgBackup.profiles.global.ignoredPaths = [ | ||
14 | "postfix/conf" | ||
15 | "postfix/data" | ||
16 | ]; | ||
17 | services.borgBackup.profiles.global.includedPaths = [ | ||
18 | "postfix/queue" | ||
19 | ]; | ||
13 | myServices.dns.zones."immae.eu" = with config.myServices.dns.helpers; lib.mkMerge [ | 20 | myServices.dns.zones."immae.eu" = with config.myServices.dns.helpers; lib.mkMerge [ |
14 | mailMX | 21 | mailMX |
15 | (mailCommon "immae.eu" true) | 22 | (mailCommon "immae.eu" true) |
diff --git a/systems/eldiron/mail/rspamd.nix b/systems/eldiron/mail/rspamd.nix index 8a2b5f3..2385991 100644 --- a/systems/eldiron/mail/rspamd.nix +++ b/systems/eldiron/mail/rspamd.nix | |||
@@ -11,6 +11,13 @@ | |||
11 | ''; | 11 | ''; |
12 | }; | 12 | }; |
13 | config = lib.mkIf config.myServices.mail.enable { | 13 | config = lib.mkIf config.myServices.mail.enable { |
14 | services.borgBackup.profiles.global.ignoredPaths = [ | ||
15 | "vhost/.rspamd/rspamd.log" | ||
16 | "vhost/scan_reported_mails.lock" | ||
17 | ]; | ||
18 | services.borgBackup.profiles.global.includedPaths = [ | ||
19 | "rspamd" | ||
20 | ]; | ||
14 | services.cron.systemCronJobs = let | 21 | services.cron.systemCronJobs = let |
15 | cron_script = pkgs.runCommand "cron_script" { | 22 | cron_script = pkgs.runCommand "cron_script" { |
16 | buildInputs = [ pkgs.makeWrapper ]; | 23 | buildInputs = [ pkgs.makeWrapper ]; |
diff --git a/systems/eldiron/mail/sympa.nix b/systems/eldiron/mail/sympa.nix index 07175e8..9f57f0a 100644 --- a/systems/eldiron/mail/sympa.nix +++ b/systems/eldiron/mail/sympa.nix | |||
@@ -5,6 +5,24 @@ let | |||
5 | in | 5 | in |
6 | { | 6 | { |
7 | config = lib.mkIf config.myServices.mail.enable { | 7 | config = lib.mkIf config.myServices.mail.enable { |
8 | services.borgBackup.profiles.global.includedPaths = [ | ||
9 | "sympa/spool/auth" | ||
10 | "sympa/spool/automatic" | ||
11 | "sympa/spool/bounce" | ||
12 | "sympa/spool/bulk" | ||
13 | "sympa/spool/moderation" | ||
14 | "sympa/spool/msg" | ||
15 | "sympa/spool/outgoing" | ||
16 | "sympa/spool/subscribe" | ||
17 | "sympa/spool/task" | ||
18 | "sympa/spool/tmp" | ||
19 | "sympa/spool/viewmail" | ||
20 | "sympa/etc" | ||
21 | "sympa/static_content" | ||
22 | "sympa/sympa_transport" | ||
23 | "sympa/sympa_transport.db" | ||
24 | "sympa/sympa_transport.db.bak" | ||
25 | ]; | ||
8 | myServices.dns.zones."immae.eu".emailPolicies."lists".receive = true; | 26 | myServices.dns.zones."immae.eu".emailPolicies."lists".receive = true; |
9 | myServices.dns.zones."immae.eu".subdomains.lists = | 27 | myServices.dns.zones."immae.eu".subdomains.lists = |
10 | with config.myServices.dns.helpers; lib.mkMerge [ | 28 | with config.myServices.dns.helpers; lib.mkMerge [ |