-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.bashrc
More file actions
60 lines (49 loc) · 1.64 KB
/
.bashrc
File metadata and controls
60 lines (49 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
BASH_CONF_DIR="$(cd "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" && pwd)"
[[ $- != *i* ]] && return
# Environment
__env_files=(
~/.config/arch-config/module_env.sh
)
for __env_file in "${__env_files[@]}"; do
[[ -f "$__env_file" ]] && source "$__env_file"
done
unset __env_file __env_files
# Readline
export INPUTRC="$BASH_CONF_DIR/inputrc"
# Shell options
source "$BASH_CONF_DIR/shellopts.bash"
# History
source "$BASH_CONF_DIR/history.bash"
# Prompt
source "$BASH_CONF_DIR/prompt.bash"
# Plugins
source "$BASH_CONF_DIR/plugins/bash-abbrev-alias/abbrev-alias.plugin.bash"
# Aliases
for __alias_file in "$BASH_CONF_DIR"/aliases/*.alias; do
[[ -r "$__alias_file" ]] || continue
while IFS= read -r __alias_line || [[ -n "$__alias_line" ]]; do
[[ -z "$__alias_line" || "$__alias_line" == \#* ]] && continue
if [[ "$__alias_line" =~ ^[[:space:]]*([^=[:space:]]+)[[:space:]]*=[[:space:]]*(.+)$ ]]; then
alias "${BASH_REMATCH[1]}"="${BASH_REMATCH[2]}"
fi
done < "$__alias_file"
done
unset __alias_file __alias_line
# Abbreviations
for __abbr_file in "$BASH_CONF_DIR"/abbr/*.abbr; do
[[ -r "$__abbr_file" ]] && source "$__abbr_file"
done
unset __abbr_file
# Bash completion framework
for __bc in /usr/share/bash-completion/bash_completion /etc/bash_completion; do
[[ -f "$__bc" ]] && source "$__bc" && break
done
# nix store fallback
if ! declare -F _get_comp_words_by_ref &>/dev/null; then
for __bc in /nix/store/*-bash-completion-*/share/bash-completion/bash_completion; do
[[ -f "$__bc" ]] && source "$__bc" && break
done
fi
unset __bc
# Completions
source "$BASH_CONF_DIR/completions.bash"