aboutsummaryrefslogtreecommitdiff
path: root/systems/eldiron/mail
diff options
context:
space:
mode:
Diffstat (limited to 'systems/eldiron/mail')
-rw-r--r--systems/eldiron/mail/default.nix4
-rw-r--r--systems/eldiron/mail/dovecot.nix8
-rw-r--r--systems/eldiron/mail/postfix.nix7
-rw-r--r--systems/eldiron/mail/rspamd.nix7
-rw-r--r--systems/eldiron/mail/sympa.nix18
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
13in 13in
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
5in 5in
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 [