diff --git a/.gitignore b/.gitignore index c118c5d..6bc29ba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ # except: !.zshrc +!.zprofile !.vimrc !.ideavimrc !.config diff --git a/.zprofile b/.zprofile new file mode 100644 index 0000000..58036e9 --- /dev/null +++ b/.zprofile @@ -0,0 +1,14 @@ +export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$USER.sock +function ssh-agent-start () +{ + # if that socket does not exist, start the ssh-agent on it + if [[ -z $SSH_AGENT_PID ]] + then + rm $SSH_AUTH_SOCK + eval $(ssh-agent -a "$SSH_AUTH_SOCK") > /dev/null + # using ssh-add might ask for a password, we don't want that here. + # If only using ssh keys without passphrases, you can do this here + # ssh-add + fi +} +ssh-agent-start diff --git a/.zshrc b/.zshrc index 5aac579..d7394bf 100644 --- a/.zshrc +++ b/.zshrc @@ -43,8 +43,8 @@ function largefiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(G|T|P|E)\ function midfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(M|G|T|P|E)\s" } function smallfiles () { exec 2>/dev/null; du -ah "$@" | grep -P "^\d+(B|K)\s" } function cachekeys () { exec 2>/dev/null; - eval $(ssh-agent) - ssh-add ~/.ssh/id_rsa + ssh-agent-start # see ~/.zprofile + ssh-add } function newpass() { LC_ALL=C tr -dc '[:alnum:]' < /dev/urandom | head -c${1:-40}