# 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