summaryrefslogtreecommitdiff
path: root/dots/zsh/.config/zsh/setup/gpg.zsh.j2
diff options
context:
space:
mode:
Diffstat (limited to 'dots/zsh/.config/zsh/setup/gpg.zsh.j2')
-rwxr-xr-xdots/zsh/.config/zsh/setup/gpg.zsh.j223
1 files changed, 23 insertions, 0 deletions
diff --git a/dots/zsh/.config/zsh/setup/gpg.zsh.j2 b/dots/zsh/.config/zsh/setup/gpg.zsh.j2
new file mode 100755
index 0000000..4ffb38f
--- /dev/null
+++ b/dots/zsh/.config/zsh/setup/gpg.zsh.j2
@@ -0,0 +1,23 @@
+#!/bin/zsh
+
+
+# -- <gpg> --
+KEY_ID="{{ pgp.id }}"
+gpg -k "$KEY_ID" >/dev/null 2>&1 || gpg --import "$HOME/.pubkey"
+
+cp $HOME/scripts/pinentry.sh /tmp/pinentry
+
+
+export PINENTRY_USER_DATA="${PINENTRY_USER_DATA:-PINENTRY_USE_TTY}"
+if [ "$SSH_CLIENT" ]; then
+ export PINENTRY_USER_DATA=PINENTRY_USE_CURSES
+ exit 0
+fi
+
+# yubikey!
+unset SSH_AGENT_PID
+export GPG_TTY=$(tty)
+export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+gpgconf --launch gpg-agent
+gpg-connect-agent updatestartuptty /bye > /dev/null
+# -- </gpg> --