diff options
Diffstat (limited to 'bash/agents.sh')
-rw-r--r-- | bash/agents.sh | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/bash/agents.sh b/bash/agents.sh index 8d7f397..0fd307a 100644 --- a/bash/agents.sh +++ b/bash/agents.sh @@ -4,8 +4,19 @@ eval "$(thefuck --alias f)" export GPG_TTY=$(tty) -if [ -n "$DESKTOP_SESSION" ];then - eval $(gnome-keyring-daemon) - eval $(gnome-keyring-daemon --start) - export SSH_AUTH_SOCK -fi +export SSH_ENV="$HOME/.ssh/environment" +start_agent() { + echo "Initialising new SSH agent..." + ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}" + echo succeeded + chmod 600 "${SSH_ENV}" + . "${SSH_ENV}" > /dev/null + ssh-add +} + +[ -f "${SSH_ENV}" ] && { + . "${SSH_ENV}" > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent + } +} || start_agent |