# ~/.bashrc: executed by bash(1) for non-login shells.
+cat /dev/null > ~/.bash_history
# If not running interactively, don't do anything
-[ -z "$PS1" ] && return
+case $- in
+ *i*) ;;
+ *) return;;
+esac
# don't put duplicate lines in the history. See bash(1) for more options
# don't overwrite GNU Midnight Commander's setting of `ignorespace'.
# set the prompt
PS1='\w\$ '
+# set variable identifying the chroot you work in (used in the prompt below)
+if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
+ debian_chroot=$(cat /etc/debian_chroot)
+fi
+
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
eval "`dircolors -b`"
alias emacs='emacs -nw'
alias serve='python -m SimpleHTTPServer 8080'
+alias gpg='gpg2'
+alias gnupg='gnupg2'
+
+alias gcc='gcc-13'
+alias cc='gcc-13'
export SVN_EDITOR=vim
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
+if [ $TERM != screen ] && [ $TERM != screen.xterm-256color ] ; then
screen
fi
-# Gets a directory named .env if it exists in the currend directory or any of its parents
+# Gets a directory named .env or .venv if it exists in the currend directory or any of its parents
get_env() {
- if [ -d "$1/.env" ] ; then
- echo "$1/.env"
+ if [ -d "$1/.env" ] ; then
+ echo "$1/.env"
+ else
+ if [ -d "$1/.venv" ] ; then
+ echo "$1/.venv"
else
- if [ -d "$1/.." ] ; then
- get_env "$1/.."
- fi
+ if [ -d "$1/.." ] ; then
+ get_env "$1/.."
+ fi
fi
+ 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
- echo "Activating env '$env_folder'"
- source "$env_folder/bin/activate"
- fi
- else
- if [ -d "$VIRTUAL_ENV" ] ; then
- deactivate
- fi
+ # 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 != $(get_absolute_path $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
+
# Set vi keybindings
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
+export NVM_DIR="$HOME/.nvm"
+[ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm
+[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion