X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=states%2Fzsh%2Ffiles%2Fzshrc;h=2e44d7f41f23db42c01790b3cc72b844d11bee22;hb=64b98818337eaa0b31902a12875330298e8e49a9;hp=e1659e5e47dd06f43d4ca06cd246952842a17ecb;hpb=504f01ccfd40303697ea3d13a4ca1aaef74552e1;p=max%2Fsaltfiles.git diff --git a/states/zsh/files/zshrc b/states/zsh/files/zshrc index e1659e5..2e44d7f 100644 --- a/states/zsh/files/zshrc +++ b/states/zsh/files/zshrc @@ -50,19 +50,6 @@ precmd () { __git_ps1 "" "$(virtual_env)${p}" "${NEWLINE}[%s]${NEWLINE}" } - -if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then - gpg-connect-agent /bye >/dev/null 2>&1 -fi - -unset SSH_AGENT_PID -if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then - export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) -fi - - -gpg-connect-agent updatestartuptty /bye > /dev/null - bindkey '^R' history-incremental-search-backward if [[ -f ~/.shell_aliases ]]; then @@ -71,3 +58,34 @@ fi export WORKON_HOME=~/.virtualenvs source /usr/bin/virtualenvwrapper_lazy.sh + +chpwd() { + src_dir="$(readlink -f ~/src/)/" + if [[ $PWD == "$src_dir"* ]]; then + if git status &>/dev/null; then + venv_name=$(basename $(git rev-parse --show-toplevel)) + if [[ -n "$VIRTUAL_ENV" ]]; then + current_venv_name=$(basename "$VIRTUAL_ENV") + if [[ "$current_venv_name" != "$venv_name" ]]; then + deactivate + workon "$venv_name" + fi + else + if workon | grep -q "$venv_name"; then + workon "$venv_name" + fi + fi + else + if [[ -n "$VIRTUAL_ENV" ]]; then + deactivate + fi + fi + else + if [[ -n "$VIRTUAL_ENV" ]]; then + deactivate + fi + fi +} + +export GPG_TTY=$(tty) +gpg-connect-agent updatestartuptty /bye >/dev/null