summaryrefslogtreecommitdiff
path: root/home-manager/sh/fuzzel.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/sh/fuzzel.nix')
-rw-r--r--home-manager/sh/fuzzel.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/home-manager/sh/fuzzel.nix b/home-manager/sh/fuzzel.nix
new file mode 100644
index 0000000..01f1125
--- /dev/null
+++ b/home-manager/sh/fuzzel.nix
@@ -0,0 +1,31 @@
+
+{ pkgs }: let
+ #emojis = pkgs.writeText "emojis" ./emojis;
+
+ fuzzel-emoji = pkgs.writeShellScriptBin "fuzzel-emoji" ''
+ emoji=$(${pkgs.fuzzel}/bin/fuzzel -d -l 20 "$@" < "${./emojis}")
+
+ printf "%s" "''${emoji%% *}" | ${pkgs.wl-clipboard}/bin/wl-copy
+ '';
+
+ fuzzel-pass = pkgs.writeShellScriptBin "fuzzel-pass" ''
+ shopt -s nullglob globstar
+
+ prefix=''${PASSWORD_STORE_DIR-~/.password-store}
+ password_files=( "$prefix"/**/*.gpg )
+ password_files=( "''${password_files[@]#"$prefix"/}" )
+ password_files=( "''${password_files[@]%.gpg}" )
+
+ password=$(printf '%s\n' "''${password_files[@]}" | ${pkgs.fuzzel}/bin/fuzzel -d "$@")
+
+ [[ -n $password ]] || exit
+
+ ${pkgs.pass}/bin/pass show -c "$password" 2>/dev/null
+ '';
+in pkgs.symlinkJoin {
+ name = "fuzzel";
+ paths = [
+ fuzzel-emoji
+ fuzzel-pass
+ ];
+}
Software created with 💖