#!/usr/bin/env bash # https://github.com/starr-dusT/dotfiles # Load the shell dotfiles (that are available) for file in ~/.{path,bash_prompt,exports,aliases,functions,extra}; do [ -f "$file" ] && source "$file"; done; unset file; # Case-insensitive globbing (used in pathname expansion) shopt -s nocaseglob; # Append to the Bash history file, rather than overwriting it shopt -s histappend; # Autocorrect typos in path names when using `cd` shopt -s cdspell; # Setup thefuck eval "$(thefuck --alias)" # Setup direnv eval "$(direnv hook bash)" # Enable some Bash 4 features when possible: # * `autocd`, e.g. `**/qux` will enter `./foo/bar/baz/qux` # * Recursive globbing, e.g. `echo **/*.txt` for option in autocd globstar; do shopt -s "$option" 2> /dev/null; done; if [ -f /etc/bash_completion ]; then source /etc/bash_completion; fi; # Enable tab completion for `g` by marking it as an alias for `git` if type _git &> /dev/null; then complete -o default -o nospace -F _git g; fi;