about summary refs log tree commit diff stats
path: root/bootstrap
diff options
context:
space:
mode:
authorCase Duckworth2021-08-23 23:07:31 -0500
committerCase Duckworth2021-08-23 23:07:31 -0500
commite292eb508413b9174684a8e75c93474a7f5351ee (patch)
treee7e59b21c817bfd1c438ef3cfc68b9021e786d7c /bootstrap
downloadetc-e292eb508413b9174684a8e75c93474a7f5351ee.tar.gz
etc-e292eb508413b9174684a8e75c93474a7f5351ee.zip
Initial
Diffstat (limited to 'bootstrap')
-rw-r--r--bootstrap/bash_logout6
-rw-r--r--bootstrap/bash_profile4
-rw-r--r--bootstrap/bashrc41
-rw-r--r--bootstrap/profile17
4 files changed, 68 insertions, 0 deletions
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 @@
1# bash_logout
2# vim:ft=sh
3
4if [[ -r "$XDG_CONFIG_HOME"/bash/logout ]]; then
5 source "$XDG_CONFIG_HOME"/bash/logout
6fi
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 @@
1# bash_profile
2
3[[ -f ~/.profile ]] && source ~/.profile
4[[ -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 @@
1# bashrc
2
3# If not running interactively, don't do anything
4[[ $- != *i* ]] && return
5
6BASH_SOURCE_FIRST=(
7 aliases
8 functions
9)
10
11BASH_SOURCE_LAST=(
12 blesh
13)
14
15for f in "${BASH_SOURCE_FIRST[@]}"; do
16 file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash"
17 [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found"
18done
19
20for file in "$XDG_CONFIG_HOME"/bash/*.bash; do
21 file_base="${file##*/}"
22 memq "${file_base%.bash}" "${BASH_SOURCE_FIRST[@]}" && {
23 # echo >&2 "'$file' in BASH_SOURCE_FIRST, skipping"
24 continue
25 }
26 memq "${file_base%.bash}" "${BASH_SOURCE_LAST[@]}" && {
27 # echo >&2 "'$file' in BASH_SOURCE_LAST, skipping"
28 continue
29 }
30 [[ -r "$file" ]] && {
31 # echo >&2 "Sourcing '$file'"
32 source "$file"
33 }
34 unset file_base
35done
36
37for f in "${BASH_SOURCE_LAST[@]}"; do
38 file="${XDG_CONFIG_HOME:-$HOME/.config}/bash/$f.bash"
39 [[ -r "$file" ]] && source "$file" # || echo >&2 "no '$file' found"
40 true
41done
diff --git a/bootstrap/profile b/bootstrap/profile new file mode 100644 index 0000000..4cb459d --- /dev/null +++ b/bootstrap/profile
@@ -0,0 +1,17 @@
1# profile
2# vim:ft=sh
3
4# XDG directories
5export XDG_CONFIG_HOME="$HOME/etc"
6export XDG_CACHE_HOME="$HOME/var/cache"
7export XDG_DATA_HOME="$HOME/usr/share"
8
9export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
10export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}"
11
12# source files in $XDG_CONFIG_HOME/profile
13if [ -d "$XDG_CONFIG_HOME/profile" ]; then
14 for file in "$XDG_CONFIG_HOME"/profile/*.sh; do
15 [ -r "$file" ] && . "$file"
16 done
17fi