Load library in logical order

This commit is contained in:
Nick Chambers 2022-10-24 19:17:15 -05:00
parent 230b2ed959
commit 0840f2072f
8 changed files with 29 additions and 9 deletions

38
.bashrc
View File

@ -6,13 +6,13 @@ fi
# Default Environment
###
__set_PATH() {
__dotlib_set_PATH() {
local path paths=("$HOME"/bin {/usr{/local,},}/{,s}bin)
printf -v path %s: "${paths[@]}"
export PATH=${path%:}
}
__set_ENV() {
__dotlib_set_ENV() {
local var
declare -A env=(
@ -27,7 +27,7 @@ __set_ENV() {
done
}
__set_SHOPTS() {
__dotlib_set_SHOPTS() {
local shopts=(
{null,ext,dot}glob globstar cmdhist
hostcomplete checkwinsize checkhash
@ -36,9 +36,9 @@ __set_SHOPTS() {
shopt -s "${shopts[@]}"
}
__set_PATH
__set_ENV
__set_SHOPTS
__dotlib_set_PATH
__dotlib_set_ENV
__dotlib_set_SHOPTS
ulimit -c unlimited
@ -66,9 +66,29 @@ add_path() {
# Library loader
###
for dot in ~/bin/dotlib/*.sh; do
. "$dot"
done
__dotlib_load_libraries() {
local os dot dots
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