summary refs log tree commit diff
path: root/pkgs/desktops/plasma-5/kwallet-pam.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/plasma-5/kwallet-pam.nix')
-rw-r--r--pkgs/desktops/plasma-5/kwallet-pam.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/desktops/plasma-5/kwallet-pam.nix b/pkgs/desktops/plasma-5/kwallet-pam.nix
index 7ddd6e2abb7..590c523e9d7 100644
--- a/pkgs/desktops/plasma-5/kwallet-pam.nix
+++ b/pkgs/desktops/plasma-5/kwallet-pam.nix
@@ -7,8 +7,15 @@ mkDerivation {
   postPatch = ''
     sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|"
   '';
+
+  # We get a crash when QT_PLUGIN_PATH is more than 1000 characters.
+  # pam_kwallet_init passes its environment to kwalletd5, but
+  # wrapQtApps gives our environment a huge QT_PLUGIN_PATH value. We
+  # are able to unset it here since kwalletd5 will have its own
+  # QT_PLUGIN_PATH.
   postFixup = ''
-    wrapQtApp $out/libexec/pam_kwallet_init
+    wrapProgram $out/libexec/pam_kwallet_init --unset QT_PLUGIN_PATH
   '';
+
   dontWrapQtApps = true;
 }