# ALWAYS RUN # ========== # things to always set up, even for non-interactive shells EDITOR=nano PAGER=less if grep -F ".local/bin" <<< "$PATH"; then true else PATH="$HOME/.local/bin:$PATH" fi export EDITOR PAGER PATH # CHECK INTERACTIVE # ================= # Don't do anything after this if not running an interactive shell. case $- in *i*) ;; *) return ;; esac # START XORG # ========== # TODO # check if login shell # if yes, check if .xinitrc exists # if yes, check if xorg is already running # if no, startx # 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