summaryrefslogtreecommitdiffstats
path: root/gpg-agent.sh
blob: cd8a8667c428d9c5a06bcd1520b91cd5b99a2fda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
#----------------------------------------------------
# Version:      0.2.1
# Author:       Florian "Bluewind" Pritz <flo@xssn.at>
#
# Licensed under WTFPL v2
#   (see COPYING for full license text)
#    
#----------------------------------------------------
# make working with the agent easier and prevent
# starting multiple agents
#----------------------------------------------------
initgpg(){
  [[ -z $XDG_CONFIG_HOME ]] && XDG_CONFIG_HOME="$HOME/.config"
  [[ -z $XDG_DATA_HOME ]] && XDG_DATA_HOME="$HOME/.local/share"
  [ -f "$XDG_CONFIG_HOME/disable-gpg-agent" ] && return 0
  envfile="${XDG_DATA_HOME}/.gpginfo"
  if test -f ${envfile} && test -S $(cut -d= -f 2 ${envfile} | head -n 2 | tail -n 1) 2>/dev/null; then
    eval $(cat ${envfile})
	else
    eval `/usr/bin/gpg-agent --daemon --enable-ssh-support --write-env-file ${envfile}`
  fi
  export GPG_AGENT_INFO
  export SSH_AUTH_SOCK
  export SSH_AGENT_PID
}

if [[ -n $DISPLAY ]]; then
	initgpg
fi