-
Notifications
You must be signed in to change notification settings - Fork 0
/
.bashrc
49 lines (40 loc) · 1.66 KB
/
.bashrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# ~/.bashrc
# If not running interactively, don't do anything!
[[ $- != *i* ]] && return
# Bash won't get SIGWINCH if another process is in the foreground.
# Enable checkwinsize so that bash will check the terminal size when
# it regains control.
# http://cnswww.cns.cwru.edu/~chet/bash/FAQ (E11)
shopt -s checkwinsize
# Append history instead of overwrite, remove duplicates and allow hiding
# commands, have large limits
export HISTCONTROL=ignoreboth
export HISTSIZE=9000
export HISTFILESIZE=$HISTSIZE
shopt -s histappend
# Set regular bash prompt(s)
PS1="\u@\h \w \$([[ \$? != 0 ]] && echo \":( \")\$ "
# Set fancy bash prompt on fancy terminals
if [[ $(tput colors) == 256 ]]; then
PS1="\[\033[0;37m\]\342\224\214\342\224\200\$([[ \$? != 0 ]] && echo \"[\[\033[0;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\")[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
fi
# Set fallback editor for the shell (if nothing is already set)
if [[ -z ${EDITOR+x} ]]; then
export EDITOR="nvim"
fi
# load aliases
[[ -f ~/.bash_aliases ]] && . ~/.bash_aliases
# colorize man pages
man() {
env \
LESS_TERMCAP_mb=$(printf "\e[1;31m") \
LESS_TERMCAP_md=$(printf "\e[1;31m") \
LESS_TERMCAP_me=$(printf "\e[0m") \
LESS_TERMCAP_se=$(printf "\e[0m") \
LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
LESS_TERMCAP_ue=$(printf "\e[0m") \
LESS_TERMCAP_us=$(printf "\e[1;32m") \
man "$@"
}
# pull in direnv
eval "$(direnv hook bash)"