X-Git-Url: https://code.kerkeslager.com/?a=blobdiff_plain;f=.bashrc;h=578ecf2d12a10b5d9cf963bd7c6205fc553e75bd;hb=9f4e46b5d14eb8a540c7228078c54ab2fd836dc8;hp=b79d1ed282988809a8d09a2e3cb2d122c1f5d1c0;hpb=6666d1e22a2ef19d5909f109eed5ab1b0fb6b51e;p=dotfiles diff --git a/.bashrc b/.bashrc index b79d1ed..578ecf2 100644 --- a/.bashrc +++ b/.bashrc @@ -1,7 +1,10 @@ # ~/.bashrc: executed by bash(1) for non-login shells. # 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'. @@ -24,6 +27,11 @@ shopt -s checkwinsize # 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`" @@ -38,6 +46,8 @@ fi alias emacs='emacs -nw' alias serve='python -m SimpleHTTPServer 8080' +alias gpg='gpg2' +alias gnupg='gnupg2' export SVN_EDITOR=vim @@ -73,50 +83,52 @@ 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 +# 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 } -# Set vi keybindings -set -o vi - # Call on_prompt() every time the command prompt executes PROMPT_COMMAND=on_prompt +# Set vi keybindings +set -o vi + +# pip should only run if there is a virtualenv currently activated +export PIP_REQUIRE_VIRTUALENV=true