# Bash initialization for interactive non-login shells and # for remote shells (info "(bash) Bash Startup Files"). # Export 'SHELL' to child processes. Programs such as 'screen' # honor it and otherwise use /bin/sh. export SHELL if [[ $- != *i* ]]; then # We are being invoked from a non-interactive shell. If this # is an SSH session (as in "ssh host command"), source # /etc/profile so we get PATH and other essential variables. [[ -n "$SSH_CLIENT" ]] && source /etc/profile # Don't do anything else. return fi # Source the system-wide file. [ -f /etc/bashrc ] && source /etc/bashrc # ~/.bashrc: executed by bash(1) for non-login shells. # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) # for examples # If not running interactively, don't do anything case $- in *i*) ;; *) return ;; esac HISTCONTROL=ignoredups:ignorespace HISTFILESIZE=80000 HISTSIZE=10000 shopt -s histappend shopt -s checkwinsize shopt -s extglob shopt -s globstar shopt -s checkjobs for f in ~/.config/bash/*.sh; do source $f; done if [[ $TERM != "dumb" ]]; then eval "$(starship init bash --print-full-init)" export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND; $'\n'}history -a; history -c; history -r" fi eval "$(direnv hook bash)" eval "$(zoxide init bash)"