Fix the issue where bashrc always activates in subdirectories of virtual environments
[dotfiles] / .bashrc
diff --git a/.bashrc b/.bashrc
index 0f28a57..399963c 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -21,10 +21,6 @@ shopt -s histappend
 # update the values of LINES and COLUMNS.
 shopt -s checkwinsize
 
-# If set, the pattern "**" used in a pathname expansion context will
-# match all files and zero or more directories and subdirectories.
-shopt -s globstar
-
 # make less more friendly for non-text input files, see lesspipe(1)
 [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
 
@@ -50,6 +46,8 @@ fi
 
 alias emacs='emacs -nw'
 alias serve='python -m SimpleHTTPServer 8080'
+alias gpg='gpg2'
+alias gnupg='gnupg2'
 
 export SVN_EDITOR=vim
 
@@ -80,19 +78,6 @@ fi
 PATH="/usr/local/bin:$PATH"
 export PATH
 
-# Run a machine-specific bashrc (if it exists).
-if [ -f $HOME/.bashrc_local ]; then
-       source $HOME/.bashrc_local
-fi
-
-# Install RVM if it's not installed.
-if [ ! -f $HOME/.rvm/scripts/rvm ]; then
-    bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )
-fi
-
-# Load RVM into shell session.
-[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
-
 # Automatically open screen.
 # The if statement prevents it from recursing (since screen opens bash).
 if [ $TERM != screen ]; then
@@ -110,12 +95,16 @@ get_env() {
     fi
 }
 
+get_absolute_path() {
+  python3 -c "import os; print(os.path.realpath('$1'))"
+}
+
 on_prompt() {
     # Load a virtualenv environment if it exists in a file named .env
     env_folder=$(get_env $(pwd))
 
     if [ -d "$env_folder" ] ; then
-        if [[ $VIRTUAL_ENV != $env_folder ]] ; then
+      if [[ $VIRTUAL_ENV != $(get_absolute_path $env_folder) ]] ; then
             echo "Activating env '$env_folder'"
             source "$env_folder/bin/activate"
         fi
@@ -132,3 +121,5 @@ set -o vi
 # Call on_prompt() every time the command prompt executes
 PROMPT_COMMAND=on_prompt
 
+# pip should only run if there is a virtualenv currently activated
+export PIP_REQUIRE_VIRTUALENV=true