__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
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