72 lines
1 KiB
Bash
72 lines
1 KiB
Bash
|
if [[ $- != *i* ]]; then
|
||
|
return
|
||
|
fi
|
||
|
|
||
|
###
|
||
|
# Default Environment
|
||
|
###
|
||
|
|
||
|
__set_PATH() {
|
||
|
local path paths=("$HOME"/bin {/usr{/local,},}/{,s}bin)
|
||
|
printf -v path %s: "${paths[@]}"
|
||
|
export PATH=${path%:}
|
||
|
}
|
||
|
|
||
|
__set_ENV() {
|
||
|
local var
|
||
|
|
||
|
declare -A env=(
|
||
|
[EDITOR]=nano
|
||
|
[PAGER]=less
|
||
|
[LESSHISTFILE]=-
|
||
|
[HISTCONTROL]=ignoreboth
|
||
|
)
|
||
|
|
||
|
for var in "${!env[@]}"; do
|
||
|
export "$var"="${env[$var]}"
|
||
|
done
|
||
|
}
|
||
|
|
||
|
__set_SHOPTS() {
|
||
|
local shopts=(
|
||
|
{null,ext,dot}glob globstar cmdhist
|
||
|
hostcomplete checkwinsize checkhash
|
||
|
)
|
||
|
|
||
|
shopt -s "${shopts[@]}"
|
||
|
}
|
||
|
|
||
|
__set_PATH
|
||
|
__set_ENV
|
||
|
__set_SHOPTS
|
||
|
|
||
|
ulimit -c unlimited
|
||
|
|
||
|
###
|
||
|
# Search Path Manager
|
||
|
###
|
||
|
|
||
|
add_path() {
|
||
|
local path paths path_list=( )
|
||
|
declare -A uniq_paths
|
||
|
IFS=: read -ra paths <<< "$PATH"
|
||
|
|
||
|
for path in "$@" "${paths[@]}"; do
|
||
|
if [[ ! -v uniq_paths[$path] ]]; then
|
||
|
uniq_paths[$path]=42
|
||
|
path_list+=("$path")
|
||
|
fi
|
||
|
done
|
||
|
|
||
|
printf -v path %s: "${path_list[@]}"
|
||
|
export PATH=${path%:}
|
||
|
}
|
||
|
|
||
|
###
|
||
|
# Library loader
|
||
|
###
|
||
|
|
||
|
for dot in ~/bin/dotlib/*.sh; do
|
||
|
. "$dot"
|
||
|
done
|