Re-organize the shells' initialization logic

- unify ~/.config/shell/aliases.sh and ~/.config/shell/utils.sh
  into a common ~/.config/shell/init.sh
- split the contents of ~/.config/shell/aliases.sh
  into the folder ~/.config/shell/aliases.d
- split the contents of ~/.config/shell/utils.sh
  into the folder ~/.config/shell/utils.d
This commit is contained in:
Alexander Hess 2022-08-11 16:56:28 +02:00
commit a8f8caccc0
Signed by: alexander
GPG key ID: 344EA5AB10D868E0
17 changed files with 665 additions and 621 deletions

28
.config/shell/init.sh Normal file
View file

@ -0,0 +1,28 @@
# This file initializes the shell
_command_exists() {
command -v "$1" 1>/dev/null 2>&1
}
_init_pyenv () { # used in ~/.config/shell/utils.d/python.sh as well
_command_exists pyenv || return
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
}
_init_pyenv
# Configure the keyboard:
# - make right alt and menu keys the compose key, e.g., for German Umlauts
# - make caps lock a ctrl modifier and Esc key
setxkbmap us -option 'compose:menu,compose:ralt,caps:ctrl_modifier'
_command_exists xcape && xcape -e "Caps_Lock=Escape"
# Load shell utilities and create aliases
for file in $HOME/.config/shell/{utils.d,aliases.d}/*.sh; do
source $file
done