Files
zsh/.zshrc

47 lines
1.1 KiB
Bash

# shellcheck shell=bash
# vim: ft=sh
# Profiling start
# zmodload zsh/zprof
mkdir -p "$ZDOTDIR/net.d"
find "$ZDOTDIR/net.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' net; do source "$net"; done
stages=(
05-start
15-options
25-history
42-zinit
45-plugins
55-agents
62-scripts
68-aliases
72-widgets
78-keybindings
82-completion
88-prompt
95-finish
)
# Итерация по этапам
for S in "${stages[@]}"; do
# Zsh-подстановка (удаление цифр и дефиса в начале)
N=${S##[0-9]#-}
# Проход по файлам в строгом порядке их загрузки
for F in "$ZDOTDIR/$S.pre.zsh" "$ZDOTDIR/$S.zsh" "$ZDOTDIR/$S.user.zsh" "$ZDOTDIR/$N.user.zsh" "$ZDOTDIR/$S.post.zsh"; do
[[ -r "$F" ]] && source "$F"
done
done
unset stages S
mkdir -p "$ZDOTDIR/apps.d"
find "$ZDOTDIR/apps.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' app; do source "$app"; done
mkdir -p "$ZDOTDIR/secrets.d"
chmod -R go-rwx "$ZDOTDIR/secrets.d/"
find "$ZDOTDIR/secrets.d" -name "*.zsh" -print0 | sort -z | while IFS= read -r -d $'\0' secret; do source "$secret"; done
# zprof