From e292eb508413b9174684a8e75c93474a7f5351ee Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 23 Aug 2021 23:07:31 -0500 Subject: Initial --- bootstrap/bash_logout | 6 ++++++ bootstrap/bash_profile | 4 ++++ bootstrap/bashrc | 41 +++++++++++++++++++++++++++++++++++++++++ bootstrap/profile | 17 +++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 bootstrap/bash_logout create mode 100644 bootstrap/bash_profile create mode 100644 bootstrap/bashrc create mode 100644 bootstrap/profile (limited to 'bootstrap') diff --git a/bootstrap/bash_logout b/bootstrap/bash_logout new file mode 100644 index 0000000..d6c9b7a --- /dev/null +++ b/bootstrap/bash_logout @@ -0,0 +1,6 @@ +# bash_logout +# vim:ft=sh + +if [[ -r "$XDG_CONFIG_HOME"/bash/logout ]]; then + source "$XDG_CONFIG_HOME"/bash/logout +fi diff --git a/bootstrap/bash_profile b/bootstrap/bash_profile new file mode 100644 index 0000000..4439ca7 --- /dev/null +++ b/bootstrap/bash_profile @@ -0,0 +1,4 @@ +# bash_profile + +[[ -f ~/.profile ]] && source ~/.profile +[[ -f ~/.bashrc ]] && source ~/.bashrc diff --git a/bootstrap/bashrc b/bootstrap/bashrc new file mode 100644 index 0000000..4966e75 --- /dev/null +++ b/bootstrap/bashrc @@ -0,0 +1,41 @@ +# bashrc + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +BASH_SOURCE_FIRST=( + aliases + functions +) + +BASH_SOURCE_LAST=( + blesh +) + +for f in "${BASH_SOURCE_FIRST[@]}"; do + file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash" + [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found" +done + +for file in "$XDG_CONFIG_HOME"/bash/*.bash; do + file_base="${file##*/}" + memq "${file_base%.bash}" "${BASH_SOURCE_FIRST[@]}" && { + # echo >&2 "'$file' in BASH_SOURCE_FIRST, skipping" + continue + } + memq "${file_base%.bash}" "${BASH_SOURCE_LAST[@]}" && { + # echo >&2 "'$file' in BASH_SOURCE_LAST, skipping" + continue + } + [[ -r "$file" ]] && { + # echo >&2 "Sourcing '$file'" + source "$file" + } + unset file_base +done + +for f in "${BASH_SOURCE_LAST[@]}"; do + file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash" + [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found" + true +done diff --git a/bootstrap/profile b/bootstrap/profile new file mode 100644 index 0000000..4cb459d --- /dev/null +++ b/bootstrap/profile @@ -0,0 +1,17 @@ +# profile +# vim:ft=sh + +# XDG directories +export XDG_CONFIG_HOME="$HOME/etc" +export XDG_CACHE_HOME="$HOME/var/cache" +export XDG_DATA_HOME="$HOME/usr/share" + +export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" +export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" + +# source files in $XDG_CONFIG_HOME/profile +if [ -d "$XDG_CONFIG_HOME/profile" ]; then + for file in "$XDG_CONFIG_HOME"/profile/*.sh; do + [ -r "$file" ] && . "$file" + done +fi -- cgit 1.4.1-21-gabe81