diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-12-11 19:24:27 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-12-11 19:24:27 +0000 |
commit | 55f2bef9faf78f3e47058292f3a9513778e64f98 (patch) | |
tree | 97997e938f16b157a2568edbac19c66aaabc6edb /nixpkgs/nixos | |
parent | 88055a7dbe8bf574b5b49239ba5d16c686be430a (diff) | |
download | nixlib-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.nix | 87 |
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"; - }; - }; - }; - + })); }; } |