summary refs log tree commit diff
path: root/nixos/modules/services/mail/mailman.nix
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2023-01-04 11:58:41 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2023-01-04 11:59:27 +0100
commit05f6dd4dc685ed874c20195792907ecf71d5ef00 (patch)
treeeafca9d8ed57b781e85cbfd52a5cf63a2b701d1a /nixos/modules/services/mail/mailman.nix
parenteb44dbc1e63662c82b0bd35af7a3fdae2e6b4d8e (diff)
downloadnixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar.gz
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar.bz2
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar.lz
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar.xz
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.tar.zst
nixpkgs-05f6dd4dc685ed874c20195792907ecf71d5ef00.zip
nixos/mailman: fix hyperkitty css/js when virtualRoot is `/`
The `manage-script-name` / `mount` approach doesn't work if you don't
serve your instance behind e.g. `/lists`.
Diffstat (limited to 'nixos/modules/services/mail/mailman.nix')
-rw-r--r--nixos/modules/services/mail/mailman.nix10
1 files changed, 7 insertions, 3 deletions
diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix
index 0ca87696b14..2adc7427abf 100644
--- a/nixos/modules/services/mail/mailman.nix
+++ b/nixos/modules/services/mail/mailman.nix
@@ -570,10 +570,14 @@ in {
           type = "normal";
           plugins = ["python3"];
           home = webEnv;
-          manage-script-name = true;
-          mount = "${cfg.serve.virtualRoot}=mailman_web.wsgi:application";
           http = "127.0.0.1:18507";
-        };
+        }
+        // (if cfg.serve.virtualRoot == "/"
+          then { module = "mailman_web.wsgi:application"; }
+          else {
+            mount = "${cfg.serve.virtualRoot}=mailman_web.wsgi:application";
+            manage-script-name = true;
+          });
         uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
       in {
         wantedBy = ["multi-user.target"];