aboutsummaryrefslogtreecommitdiff
path: root/bash/agents.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bash/agents.sh')
-rw-r--r--bash/agents.sh21
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