add gpg auto-unlock
This commit is contained in:
parent
a8a8be5a59
commit
c5e919a2dc
4 changed files with 75 additions and 0 deletions
30
scripts/_gpg-unlock.nix
Normal file
30
scripts/_gpg-unlock.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
pkgs.writeShellScriptBin "_gpg-unlock" ''
|
||||
${pkgs.gnupg}/bin/gpg-connect-agent reloadagent /bye
|
||||
|
||||
set -xe
|
||||
|
||||
test -f "$HOME/.config/.preset-password" || {
|
||||
notify-send "No preset password found"
|
||||
exit 0;
|
||||
}
|
||||
|
||||
get_keygrip() {
|
||||
${pkgs.gnupg}/bin/gpg --list-secret-keys --with-keygrip |
|
||||
awk '
|
||||
/^ssb/ {
|
||||
ssb=1
|
||||
}
|
||||
/Keygrip/{
|
||||
if (ssb) print $3
|
||||
}'
|
||||
}
|
||||
|
||||
keygrip=$(get_keygrip)
|
||||
|
||||
test -n "$keygrip" || exit 0
|
||||
|
||||
cat "$HOME/.config/.preset-password" |
|
||||
base64 -d |
|
||||
${pkgs.gnupg}/libexec/gpg-preset-passphrase --preset "$keygrip"
|
||||
''
|
|
@ -6,4 +6,5 @@
|
|||
terminal = import ./terminal.nix { inherit config pkgs lib; };
|
||||
wpass = import ./wpass.nix { inherit config pkgs lib; };
|
||||
screenshotsh = import ./screenshotsh.nix { inherit config pkgs lib; };
|
||||
_gpg-unlock = import ./_gpg-unlock.nix { inherit config pkgs lib; };
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue