dotfiles/.bashrc

78 lines
1.0 KiB
Bash

if [[ $- != *i* ]]; then
return
fi
###
# Default Environment
###
__dotlib_set_PATH() {
local path paths=("$HOME"/bin {/usr{/local,},}/{,s}bin)
printf -v path %s: "${paths[@]}"
export PATH=${path%:}
}
__dotlib_set_ENV() {
local var
declare -A env=(
[EDITOR]=nano
[PAGER]=less
[LESSHISTFILE]=-
[HISTCONTROL]=ignoreboth
)
for var in "${!env[@]}"; do
export "$var"="${env[$var]}"
done
}
__dotlib_set_SHOPTS() {
local shopts=(
{null,ext,dot}glob globstar cmdhist
hostcomplete checkwinsize checkhash
)
shopt -s "${shopts[@]}"
}
__dotlib_set_PATH
__dotlib_set_ENV
__dotlib_set_SHOPTS
ulimit -c unlimited
###
# Library loader
###
__dotlib_load_libraries() {
local os dot{,s}
case $OSTYPE in
darwin*)
os=darwin
;;
*)
os=unknown
esac
dots=(
~/bin/dotlib/generic-pre/*.sh
~/bin/dotlib/"$os"/*.sh
~/bin/dotlib/generic-post/*.sh
)
for dot in "${dots[@]}"; do
. "$dot"
done
}
__dotlib_load_libraries
###
# Reset exit status
###
true