nixos-config/scripts/_gpg-unlock.nix

31 lines
680 B
Nix
Raw Permalink Normal View History

2022-10-18 21:45:20 -03:00
{ pkgs, ... }:
2022-08-08 21:16:45 -03:00
pkgs.writeShellScriptBin "_gpg-unlock" ''
${pkgs.gnupg}/bin/gpg-connect-agent reloadagent /bye
2022-11-30 14:39:55 -03:00
set -e
2022-08-08 21:16:45 -03:00
test -f "$HOME/.config/.preset-password" || {
2022-12-07 11:42:32 -03:00
${pkgs.libnotify}/bin/notify-send "No preset password found"
2022-08-08 21:16:45 -03:00
exit 0;
}
get_keygrip() {
${pkgs.gnupg}/bin/gpg --list-secret-keys --with-keygrip |
2022-12-07 11:42:32 -03:00
${pkgs.gawk}/bin/awk '
2022-08-08 21:16:45 -03:00
/^ssb/ {
ssb=1
}
/Keygrip/{
if (ssb) print $3
}'
}
keygrip=$(get_keygrip)
test -n "$keygrip" || exit 0
2022-12-07 11:42:32 -03:00
${pkgs.coreutils}/bin/cat "$HOME/.config/.preset-password" |
${pkgs.coreutils}/bin/base64 -d |
2022-08-08 21:16:45 -03:00
${pkgs.gnupg}/libexec/gpg-preset-passphrase --preset "$keygrip"
''