dotfiles/home/dot_bash_profile

40 lines
994 B
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)"
# 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;