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
+}