about summary refs log tree commit diff
path: root/nixpkgs/nixos/modules/services/mail
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-12-11 18:11:45 +0000
committerAlyssa Ross <hi@alyssa.is>2020-12-11 18:11:45 +0000
commit75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db (patch)
treeb82622ea838785f9c4e7dc4f6edeedf448a74220 /nixpkgs/nixos/modules/services/mail
parent1e210a0110f4b0ef367b27be903d5bade85d00f4 (diff)
downloadnixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar.gz
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar.bz2
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar.lz
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar.xz
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.tar.zst
nixlib-75aa6a7ff567f47b2f5e53b40b2e9a30d1f2a3db.zip
nixos/mailman: one big systemd.services attrset
Adapted from
b478e0043c53964c99cc9a145c155a673af3c7d8 ("nixos/mailman: refactor"),
to bring myself closer to current upstream.

The conditional was added for the case where the directory did not yet
exist, and quotes were changed to the more robust escapeShellArg.
Diffstat (limited to 'nixpkgs/nixos/modules/services/mail')
-rw-r--r--nixpkgs/nixos/modules/services/mail/mailman.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/nixpkgs/nixos/modules/services/mail/mailman.nix b/nixpkgs/nixos/modules/services/mail/mailman.nix
index ea5dd815df1b..4f3f52b45d7c 100644
--- a/nixpkgs/nixos/modules/services/mail/mailman.nix
+++ b/nixpkgs/nixos/modules/services/mail/mailman.nix
@@ -13,7 +13,7 @@ let
     SERVER_EMAIL = cfg.siteOwner;
     ALLOWED_HOSTS = [ "localhost" "127.0.0.1" ] ++ cfg.webHosts;
     COMPRESS_OFFLINE = true;
-    STATIC_ROOT = "/var/lib/mailman-web/static";
+    STATIC_ROOT = "/var/lib/mailman-web-static";
     MEDIA_ROOT = "/var/lib/mailman-web/media";
     LOGGING = {
       version = 1;
@@ -245,7 +245,7 @@ in {
           mailmanCfg=$mailmanDir/mailman-hyperkitty.cfg
           mailmanWebCfg=$mailmanWebDir/settings_local.json
 
-          install -m 0700 -o mailman -g nogroup -d $mailmanDir
+          install -m 0700 -o ${cfg.webUser} -g nogroup -d /var/lib/mailman-web-static
           install -m 0700 -o ${cfg.webUser} -g nogroup -d $mailmanWebDir
 
           if [ ! -e $mailmanWebCfg ]; then
@@ -283,8 +283,12 @@ in {
         requiredBy = [ "httpd.service" "uwsgi.service" ];
         restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
         script = ''
+          if [ -d ${escapeShellArg settings.STATIC_ROOT} ]
+          then
+              find ${escapeShellArg settings.STATIC_ROOT}/ -mindepth 1 -delete
+          fi
+
           ${pkgs.mailman-web}/bin/mailman-web migrate
-          rm -rf static
           ${pkgs.mailman-web}/bin/mailman-web collectstatic
           ${pkgs.mailman-web}/bin/mailman-web compress
         '';