#set -x # Print out all of the commands that are executing. # Unbreak broken, non-colored terminal export TERM=xterm-256color test -f ~/.common_env && . ~/.common_env test -f ~/.private-dotfiles.common/env && . ~/.private-dotfiles.common/env test -f ~/.private-dotfiles/env && . ~/.private-dotfiles/env test -f ~/.aliases && . ~/.aliases test -f ~/.aliases.private && . ~/.aliases.private if [[ -d "$HOME/bin" ]]; then export PATH=$HOME/bin/:$PATH fi if [[ -d "$HOME/.dotfiles/bin" ]]; then export PATH=$HOME/.dotfiles/bin/:$PATH fi # TMP and TEMP are defined in the Windows environment. Leaving them set to the default # Windows temporary directory can have unexpected consequences. export TMP=/tmp export TEMP=/tmp export TMPDIR=/tmp # Customize the shell prompt in_git_work_tree() { git rev-parse --is-inside-work-tree &> /dev/null } parse_git_branch() { if in_git_work_tree; then git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' fi } export PS1='\[\033[0;32m\]\[\033[0m\033[0;32m\]\u\[\033[0;36m\] @ \w\[\033[33m\]\n$(parse_git_branch)\[\033[0;32m\]\[\033[0m\033[0;32m\] \$\[\033[0m\033[0;32m\]\[\033[0m\] ' # Git autocompletion # Git bash file can be downloaded with: `curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash` if [ -f ~/.git-completion.bash ]; then . ~/.git-completion.bash # Git autocompletion fixes for bash aliases __git_complete g __git_main __git_complete gco _git_checkout __git_complete gl _git_branch __git_complete gll _git_branch __git_complete gsh _git_branch __git_complete gbd _git_branch __git_complete gpo _git_branch __git_complete grb _git_branch __git_complete gm _git_merge __git_complete gmff _git_merge __git_complete gmnff _git_merge fi cd ~ export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion # Don't use ^D to exit set -o ignoreeof # don't put duplicate lines or lines starting with space in the history. # See bash(1) for more options HISTCONTROL=ignoreboth # append to the history file, don't overwrite it shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 HISTFILESIZE=2000 # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize # make less more friendly for non-text input files, see lesspipe(1) [ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" # colored GCC warnings and errors export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'