diff options
author | Case Duckworth | 2021-08-23 23:07:31 -0500 |
---|---|---|
committer | Case Duckworth | 2021-08-23 23:07:31 -0500 |
commit | e292eb508413b9174684a8e75c93474a7f5351ee (patch) | |
tree | e7e59b21c817bfd1c438ef3cfc68b9021e786d7c /bootstrap | |
download | etc-e292eb508413b9174684a8e75c93474a7f5351ee.tar.gz etc-e292eb508413b9174684a8e75c93474a7f5351ee.zip |
Initial
Diffstat (limited to 'bootstrap')
-rw-r--r-- | bootstrap/bash_logout | 6 | ||||
-rw-r--r-- | bootstrap/bash_profile | 4 | ||||
-rw-r--r-- | bootstrap/bashrc | 41 | ||||
-rw-r--r-- | bootstrap/profile | 17 |
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 | |||
4 | if [[ -r "$XDG_CONFIG_HOME"/bash/logout ]]; then | ||
5 | source "$XDG_CONFIG_HOME"/bash/logout | ||
6 | 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 @@ | |||
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 | |||
6 | BASH_SOURCE_FIRST=( | ||
7 | aliases | ||
8 | functions | ||
9 | ) | ||
10 | |||
11 | BASH_SOURCE_LAST=( | ||
12 | blesh | ||
13 | ) | ||
14 | |||
15 | for 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" | ||
18 | done | ||
19 | |||
20 | for 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 | ||
35 | done | ||
36 | |||
37 | for 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 | ||
41 | 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 @@ | |||
1 | # profile | ||
2 | # vim:ft=sh | ||
3 | |||
4 | # XDG directories | ||
5 | export XDG_CONFIG_HOME="$HOME/etc" | ||
6 | export XDG_CACHE_HOME="$HOME/var/cache" | ||
7 | export XDG_DATA_HOME="$HOME/usr/share" | ||
8 | |||
9 | export XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" | ||
10 | export XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" | ||
11 | |||
12 | # source files in $XDG_CONFIG_HOME/profile | ||
13 | if [ -d "$XDG_CONFIG_HOME/profile" ]; then | ||
14 | for file in "$XDG_CONFIG_HOME"/profile/*.sh; do | ||
15 | [ -r "$file" ] && . "$file" | ||
16 | done | ||
17 | fi | ||