about summary refs log tree commit diff
path: root/nixpkgs/nixos
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-12-11 19:24:27 +0000
committerAlyssa Ross <hi@alyssa.is>2020-12-11 19:24:27 +0000
commit55f2bef9faf78f3e47058292f3a9513778e64f98 (patch)
tree97997e938f16b157a2568edbac19c66aaabc6edb /nixpkgs/nixos
parent88055a7dbe8bf574b5b49239ba5d16c686be430a (diff)
downloadnixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar.gz
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar.bz2
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar.lz
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar.xz
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.tar.zst
nixlib-55f2bef9faf78f3e47058292f3a9513778e64f98.zip
nixos/mailman: refactor Hyperkitty's periodic jobs
Extracted from
b478e0043c53964c99cc9a145c155a673af3c7d8 ("nixos/mailman: refactor"),
to bring myself closer to current upstream.
Diffstat (limited to 'nixpkgs/nixos')
-rw-r--r--nixpkgs/nixos/modules/services/mail/mailman.nix87
1 files changed, 13 insertions, 74 deletions
diff --git a/nixpkgs/nixos/modules/services/mail/mailman.nix b/nixpkgs/nixos/modules/services/mail/mailman.nix
index e2ffb930c304..1ced5408fdca 100644
--- a/nixpkgs/nixos/modules/services/mail/mailman.nix
+++ b/nixpkgs/nixos/modules/services/mail/mailman.nix
@@ -333,86 +333,25 @@ in {
           WorkingDirectory = "/var/lib/mailman-web";
         };
       };
-
-      hyperkitty-minutely = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger minutely Hyperkitty events";
-        startAt = "minutely";
-        restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
-        serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs minutely";
-          User = cfg.webUser;
-          Group = "mailman";
-          WorkingDirectory = "/var/lib/mailman-web";
-        };
-      };
-
-      hyperkitty-quarter-hourly = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger quarter-hourly Hyperkitty events";
-        startAt = "*:00/15";
+    } // flip lib.mapAttrs' {
+      "minutely" = "minutely";
+      "quarter_hourly" = "*:00/15";
+      "hourly" = "hourly";
+      "daily" = "daily";
+      "weekly" = "weekly";
+      "yearly" = "yearly";
+    } (name: startAt:
+      lib.nameValuePair "hyperkitty-${name}" (lib.mkIf cfg.hyperkitty.enable {
+        description = "Trigger ${name} Hyperkitty events";
+        inherit startAt;
         restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
         serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs quarter_hourly";
+          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs ${name}";
           User = cfg.webUser;
           Group = "mailman";
           WorkingDirectory = "/var/lib/mailman-web";
         };
-      };
-
-      hyperkitty-hourly = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger hourly Hyperkitty events";
-        startAt = "hourly";
-        restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
-        serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs hourly";
-          User = cfg.webUser;
-          Group = "mailman";
-          WorkingDirectory = "/var/lib/mailman-web";
-        };
-      };
-
-      hyperkitty-daily = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger daily Hyperkitty events";
-        startAt = "daily";
-        restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
-        serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs daily";
-          User = cfg.webUser;
-          Group = "mailman";
-          WorkingDirectory = "/var/lib/mailman-web";
-        };
-      };
-
-      hyperkitty-weekly = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger weekly Hyperkitty events";
-        startAt = "weekly";
-        restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
-        serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs weekly";
-          User = cfg.webUser;
-          Group = "mailman";
-          WorkingDirectory = "/var/lib/mailman-web";
-        };
-      };
-
-      hyperkitty-yearly = {
-        inherit (cfg.hyperkitty) enable;
-        description = "Trigger yearly Hyperkitty events";
-        startAt = "yearly";
-        restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
-        serviceConfig = {
-          ExecStart = "${pkgs.mailman-web}/bin/mailman-web runjobs yearly";
-          User = cfg.webUser;
-          Group = "mailman";
-          WorkingDirectory = "/var/lib/mailman-web";
-        };
-      };
-    };
-
+      }));
   };
 
 }