# If not running interactively, don't do anything [[ $- != *i* ]] && return # start in home directory # shellcheck disable=SC2164 if [ "$PWD" != "$HOME" ] && [ "$PWD" -ef "$HOME" ] ; then cd ; fi # change $HOME on FreeBSD to /usr/home/andrew # shellcheck disable=SC2164 if [ -d "/usr$HOME" ] ; then export HOME=/usr$HOME ; cd ; fi # load system bashrc for BASHRC in /etc/bashrc /etc/bash.bashrc /etc/bash/bashrc ; do if [ -f "$BASHRC" ] ; then # shellcheck source=/dev/null . "$BASHRC" fi done unset BASHRC # this assumes nvim is always installed for $EDITOR EDITOR=nvim; export EDITOR # local paths if ! [[ "$PATH" =~ $HOME/.local/bin:$HOME/bin: ]] then PATH="$HOME/.local/bin:$HOME/bin:$PATH" fi export PATH # User specific aliases and functions if [ -d ~/.bashrc.d ]; then for rc in ~/.bashrc.d/*; do if [ -f "$rc" ]; then # shellcheck source=/dev/null . "$rc" fi done fi unset rc if [ -f "$HOME/.bash-preexec.sh" ] ; then source "$HOME/.bash-preexec.sh" eval "$("$HOME/.cargo/bin/atuin" init bash)" fi # direnv hook if which direnv > /dev/null 2>&1 ; then eval "$(direnv hook bash)" fi if which zoxide > /dev/null 2>&1 ; then eval "$(zoxide init bash)" # shellcheck disable=SC2139 alias z="$(which zoxide)" fi