]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - modules/private/mail/sympa.nix
Write peertube flake
[perso/Immae/Config/Nix.git] / modules / private / mail / sympa.nix
index 9bd5a572c4e478b1c608fb5664d703c905b7d34f..5270b693f72bed7cdde29ed611bef20b8bd250f7 100644 (file)
@@ -50,12 +50,22 @@ in
       dest = "sympa/scenari/${n}"; permissions = "0400"; group = "sympa"; user = "sympa"; text = v;
     }) sympaConfig.scenari;
     users.users.sympa.extraGroups = [ "keys" ];
+    systemd.slices.mail-sympa = {
+      description = "Sympa slice";
+    };
+
     systemd.services.sympa.serviceConfig.SupplementaryGroups = [ "keys" ];
     systemd.services.sympa-archive.serviceConfig.SupplementaryGroups = [ "keys" ];
     systemd.services.sympa-bounce.serviceConfig.SupplementaryGroups = [ "keys" ];
     systemd.services.sympa-bulk.serviceConfig.SupplementaryGroups = [ "keys" ];
     systemd.services.sympa-task.serviceConfig.SupplementaryGroups = [ "keys" ];
 
+    systemd.services.sympa.serviceConfig.Slice = "mail-sympa.slice";
+    systemd.services.sympa-archive.serviceConfig.Slice = "mail-sympa.slice";
+    systemd.services.sympa-bounce.serviceConfig.Slice = "mail-sympa.slice";
+    systemd.services.sympa-bulk.serviceConfig.Slice = "mail-sympa.slice";
+    systemd.services.sympa-task.serviceConfig.Slice = "mail-sympa.slice";
+
     # https://github.com/NixOS/nixpkgs/pull/84202
     systemd.services.sympa.serviceConfig.ProtectKernelModules = lib.mkForce false;
     systemd.services.sympa-archive.serviceConfig.ProtectKernelModules = lib.mkForce false;
@@ -72,6 +82,7 @@ in
       wantedBy = [ "multi-user.target" ];
       after = [ "sympa.service" ];
       serviceConfig = {
+        Slice = "mail-sympa.slice";
         Type = "forking";
         PIDFile = "/run/sympa/wwsympa.pid";
         Restart = "always";
@@ -83,7 +94,7 @@ in
           -F 2 \
           -P /run/sympa/wwsympa.pid \
           -s /run/sympa/wwsympa.socket \
-          -- ${pkgs.sympa}/bin/wwsympa.fcgi
+          -- ${pkgs.sympa}/lib/sympa/cgi/wwsympa.fcgi
         '';
         StateDirectory = "sympa";
         ProtectHome = true;
@@ -98,6 +109,9 @@ in
         sympa_virtual = pkgs.writeText "virtual.sympa" ''
           sympa-request@${domain} postmaster@immae.eu
           sympa-owner@${domain}   postmaster@immae.eu
+
+          sympa-request@cip-ca.fr postmaster@immae.eu
+          sympa-owner@cip-ca.fr   postmaster@immae.eu
         '';
         sympa_transport = pkgs.writeText "transport.sympa" ''
           ${domain}                        error:User unknown in recipient table
@@ -105,6 +119,11 @@ in
           listmaster@${domain}             sympa:listmaster@${domain}
           bounce@${domain}                 sympabounce:sympa@${domain}
           abuse-feedback-report@${domain}  sympabounce:sympa@${domain}
+
+          sympa@cip-ca.fr                  sympa:sympa@cip-ca.fr
+          listmaster@cip-ca.fr             sympa:listmaster@cip-ca.fr
+          bounce@cip-ca.fr                 sympabounce:sympa@cip-ca.fr
+          abuse-feedback-report@cip-ca.fr  sympabounce:sympa@cip-ca.fr
         '';
       };
       config = {
@@ -130,7 +149,7 @@ in
           args = [
             "flags=hqRu"
             "user=sympa"
-            "argv=${pkgs.sympa}/bin/queue"
+            "argv=${pkgs.sympa}/libexec/queue"
             "\${nexthop}"
           ];
         };
@@ -142,7 +161,7 @@ in
           args = [
             "flags=hqRu"
             "user=sympa"
-            "argv=${pkgs.sympa}/bin/bouncequeue"
+            "argv=${pkgs.sympa}/libexec/bouncequeue"
             "\${nexthop}"
           ];
         };
@@ -157,6 +176,10 @@ in
           webHost = "mail.immae.eu";
           webLocation = "/sympa";
         };
+        "cip-ca.fr" = {
+          webHost = "mail.cip-ca.fr";
+          webLocation = "/sympa";
+        };
       };
 
       database = {