export PATH
fi
+# Put $HOME/.cabal/bin on the path. Installing cabal doesn't
+# automatically put installed packages on the path.
+if [ -d $HOME/.cabal/bin ]; then
+ PATH="$HOME/.cabal/bin:$PATH"
+ export PATH
+fi
+
+# Put /usr/local/bin (where homebrew installs stuff) before /usr/bin on the
+# path. This means that if a program exists at both locations, calls to that
+# program will use the homebrew version rather than the system version.
+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
screen
fi
+
+# Gets a directory named .env if it exists in the currend directory or any of its parents
+get_env() {
+ if [ -d "$1/.env" ] ; then
+ echo "$1/.env"
+ else
+ if [ -d "$1/.." ] ; then
+ get_env "$1/.."
+ fi
+ fi
+}
+
+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
+ echo "Activating env '$env_folder'"
+ source "$env_folder/bin/activate"
+ fi
+ else
+ if [ -d "$VIRTUAL_ENV" ] ; then
+ deactivate
+ fi
+ fi
+}
+
+# Call on_prompt() every time the command prompt executes
+PROMPT_COMMAND=on_prompt