summary refs log tree commit diff
path: root/pkgs/tools/security/pass/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/security/pass/default.nix')
-rw-r--r--pkgs/tools/security/pass/default.nix17
1 files changed, 10 insertions, 7 deletions
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 76b90d5b885..9ba03fc74a2 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -3,7 +3,7 @@
 , qrencode , makeWrapper, pass, symlinkJoin
 
 , xclip ? null, xdotool ? null, dmenu ? null
-, x11Support ? !stdenv.isDarwin
+, x11Support ? !stdenv.isDarwin , dmenuSupport ? x11Support
 , waylandSupport ? false, wl-clipboard ? null
 
 # For backwards-compatibility
@@ -12,9 +12,11 @@
 
 with lib;
 
-assert x11Support -> xclip != null
-                  && xdotool != null
-                  && dmenu != null;
+assert x11Support -> xclip != null;
+
+assert dmenuSupport -> dmenu != null
+                       && xdotool != null
+                       && x11Support;
 
 assert waylandSupport -> wl-clipboard != null;
 
@@ -72,7 +74,7 @@ stdenv.mkDerivation rec {
     # himself.
     mkdir -p "$out/share/emacs/site-lisp"
     cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
-  '' + optionalString x11Support ''
+  '' + optionalString dmenuSupport ''
     cp "contrib/dmenu/passmenu" "$out/bin/"
   '';
 
@@ -87,7 +89,8 @@ stdenv.mkDerivation rec {
     qrencode
     procps
   ] ++ optional stdenv.isDarwin openssl
-    ++ ifEnable x11Support [ dmenu xclip xdotool ]
+    ++ optional x11Support xclip
+    ++ optionals dmenuSupport [ xdotool dmenu ]
     ++ optional waylandSupport wl-clipboard);
 
   postFixup = ''
@@ -98,7 +101,7 @@ stdenv.mkDerivation rec {
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
       --prefix PATH : "${wrapperPath}"
-  '' + stdenv.lib.optionalString x11Support ''
+  '' + stdenv.lib.optionalString dmenuSupport ''
     # We just wrap passmenu with the same PATH as pass. It doesn't
     # need all the tools in there but it doesn't hurt either.
     wrapProgram $out/bin/passmenu \