diff options
-rw-r--r-- | .pam_environment | 3 | ||||
-rw-r--r-- | .zshrc | 16 |
2 files changed, 16 insertions, 3 deletions
diff --git a/.pam_environment b/.pam_environment new file mode 100644 index 0000000..0a840fa --- /dev/null +++ b/.pam_environment @@ -0,0 +1,3 @@ +SSH_AGENT_PID DEFAULT= +SSH_AUTH_SOCK DEFAULT="${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh" +GSM_SKIP_SSH_AGENT_WORKAROUND DEFAULT="true" @@ -185,9 +185,19 @@ alias open="xdg-open" ## env export EDITOR=vim -# use gpg-agent as ssh-agent -gpg-connect-agent /bye > /dev/null 2>&1 -export SSH_AUTH_SOCK="$HOME/.gnupg/S.gpg-agent.ssh" +## gpg-agent +export GPG_TTY=$(tty) + +# Refresh gpg-agent tty in case user switches into an X session +gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1 + +# if $SSH_AUTH_SOCK is not set or not pointing to a socket, use gpg-agent +if [ ! -S "$SSH_AUTH_SOCK" ] && type "gpgconf" > /dev/null; then + unset SSH_AGENT_PID + if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then + export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" + fi +fi ## zsh options |