mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-13 08:17:31 -08:00
43 lines
1.0 KiB
Bash
43 lines
1.0 KiB
Bash
#!/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)"
|
|
|
|
# Setup zoxide
|
|
eval "$(zoxide init 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;
|