84 lines
2.0 KiB
Bash
84 lines
2.0 KiB
Bash
# ALWAYS RUN
|
|
# ==========
|
|
# things to always set up, even for non-interactive shells
|
|
|
|
# Fuck vi!
|
|
EDITOR=nano
|
|
# On FreeBSD this is being set for whatever reason in the other shell rc files. I'll leave it here for compatibility.
|
|
PAGER=less
|
|
# add a user-specific bin directory to PATH
|
|
PATH=$HOME/.local/bin:$PATH
|
|
export EDITOR PAGER PATH
|
|
|
|
# CHECK INTERACTIVE
|
|
# =================
|
|
# Don't do anything after this if not running an interactive shell.
|
|
case $- in
|
|
*i*) ;;
|
|
*) return ;;
|
|
esac
|
|
|
|
# ALIASES
|
|
# =======
|
|
alias aliases="nano $HOME/.bashrc_aliases && source $HOME/.bashrc_aliases"
|
|
[ -f $HOME/.bashrc_aliases ] && source $HOME/.bashrc_aliases
|
|
|
|
# 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 -n '1;02m'
|
|
else
|
|
if [ -n "$(groups | grep 'wheel\|sudo')" ];
|
|
then
|
|
echo -n '2;01m'
|
|
else
|
|
echo -n '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\]:$(
|
|
if [ $EUID -eq 0 ]
|
|
then
|
|
echo -n '\[\e[02m\]#\[\e[0m\]'
|
|
else
|
|
echo -n '\[\e[02m\]$\[\e[0m\]'
|
|
fi
|
|
)> \""
|
|
|
|
# SHELL OPTIONS
|
|
# =============
|
|
shopt -s histappend
|
|
shopt -s checkwinsize
|
|
shopt -s globstar
|