blob: 01f1125f9484fdf85db73b02379348ad92be6cf4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
];
}
|