about summary refs log tree commit diff
diff options
context:
space:
mode:
-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";
-        };
-      };
-    };
-
+      }));
   };
 
 }