2021-05-16 22:04:30 +02:00
|
|
|
|
|
|
|
# ALWAYS RUN
|
|
|
|
# ==========
|
|
|
|
# things to always set up, even for inactive shells
|
|
|
|
|
|
|
|
# Fuck vi!
|
2021-05-11 16:36:15 +02:00
|
|
|
EDITOR=nano
|
2021-05-16 22:04:30 +02:00
|
|
|
# On FreeBSD this is being set for whatever reason in the other shell rc files. I'll leave it here for compatibility.
|
2021-05-11 16:36:15 +02:00
|
|
|
PAGER=less
|
|
|
|
|
|
|
|
export EDITOR PAGER
|
|
|
|
|
2021-05-16 22:04:30 +02:00
|
|
|
# CHECK INTERACTIVE
|
|
|
|
# =================
|
|
|
|
# Don't do anything after this if not running an interactive shell.
|
2021-05-11 16:36:15 +02:00
|
|
|
case $- in
|
2021-05-16 22:04:30 +02:00
|
|
|
*i*) ;;
|
|
|
|
*) return ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
# ALIASES
|
|
|
|
# =======
|
|
|
|
alias ls="ls --color=auto"
|
|
|
|
alias la="ls -aF"
|
|
|
|
alias grep="grep --color=auto"
|
|
|
|
|
|
|
|
# BASH COMPLETION
|
|
|
|
# ===============
|
|
|
|
# include bash completions if they exist
|
|
|
|
# (may need to be adjusted to where the bash completions are stored on the current system)
|
|
|
|
|
|
|
|
# Default for FreeBSD:
|
|
|
|
if [ -f /usr/local/share/bash-completion/bash_completion.sh ]; then
|
|
|
|
source /usr/local/share/bash-completion/bash_completion.sh
|
|
|
|
# Default for Linux:
|
|
|
|
elif [ -f /usr/share/bash-completion/bash_completion ]; then
|
|
|
|
source /usr/share/bash-completion/bash_completion
|
|
|
|
fi
|
|
|
|
|
|
|
|
# VARIABLES
|
|
|
|
# =========
|
|
|
|
|
|
|
|
# don't put duplicate lines or lines starting with a space in history
|
|
|
|
HISTCONTROL=ingnoreboth
|
|
|
|
# unlimited history
|
|
|
|
HISTSIZE=-1
|
|
|
|
HISTFILESIZE=-1
|
|
|
|
# set a fancy prompt
|
|
|
|
PROMPT_COMMAND="PS1=\"[\[\e[03$(
|
|
|
|
if [ $EUID -eq 0 ]
|
|
|
|
then
|
|
|
|
echo '1;02m'
|
|
|
|
else
|
|
|
|
if [ -n "$(groups | grep 'wheel')" ];
|
2021-05-11 16:36:15 +02:00
|
|
|
then
|
2021-05-16 22:04:30 +02:00
|
|
|
echo '2;01m'
|
2021-05-11 16:36:15 +02:00
|
|
|
else
|
2021-05-16 22:04:30 +02:00
|
|
|
echo '6;01m'
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
)\]\u@\h\[\e[0m\]]:\$(
|
|
|
|
PROMPT_ERRORLEVEL=\$?
|
|
|
|
if [ \$PROMPT_ERRORLEVEL -eq 0 ]
|
|
|
|
then
|
|
|
|
echo -n '\[\e[032;02m\]'
|
|
|
|
else
|
|
|
|
echo -n '\[\e[031;02m\]'
|
|
|
|
fi
|
|
|
|
echo -n \$PROMPT_ERRORLEVEL
|
|
|
|
echo -n '\[\e[00m\]'
|
|
|
|
):\[\e[034;01m\]\$(pwd)\[\e[0m\]:> \""
|
|
|
|
|
|
|
|
# SHELL OPTIONS
|
|
|
|
# =============
|
|
|
|
shopt -s histappend
|
|
|
|
shopt -s checkwinsize
|
|
|
|
shopt -s globstar
|
|
|
|
|