dotfiles/bash/bashrc

87 lines
2.7 KiB
Bash
Raw Normal View History

2018-06-11 17:53:44 +00:00
#set -x # Print out all of the commands that are executing.
2020-01-25 07:48:35 +00:00
# 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
2017-04-25 16:01:34 +00:00
test -f ~/.private-dotfiles/env && . ~/.private-dotfiles/env
2017-04-07 16:08:45 +00:00
test -f ~/.aliases && . ~/.aliases
test -f ~/.aliases.private && . ~/.aliases.private
2020-01-25 07:48:35 +00:00
if [[ -d "$HOME/bin" ]]; then
export PATH=$HOME/bin/:$PATH
fi
2017-04-21 17:35:26 +00:00
if [[ -d "$HOME/.dotfiles/bin" ]]; then
export PATH=$HOME/.dotfiles/bin/:$PATH
2020-01-25 07:48:35 +00:00
fi
2017-04-07 16:08:45 +00:00
2017-04-21 17:35:26 +00:00
# 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
2019-12-31 05:38:46 +00:00
in_git_work_tree() {
git rev-parse --is-inside-work-tree &> /dev/null
}
2017-06-13 14:22:13 +00:00
parse_git_branch() {
2019-12-31 05:38:46 +00:00
if in_git_work_tree; then
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
fi
2017-06-13 14:22:13 +00:00
}
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
2017-07-24 21:41:43 +00:00
__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 ~
2019-03-28 00:15:55 +00:00
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
2020-03-15 18:44:36 +00:00
# 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'