fix(shell): use single ~/.config/zsh/local.zsh for machine local

Replace the local/ directory of split env/login/interactive files with
one always-on local.zsh sourced from .zshenv. Deploy migrates old
fragments and never overwrites local.zsh.
This commit is contained in:
Jeffrey
2026-08-06 14:41:31 +08:00
parent f8dcc29a2f
commit caac9235f6
11 changed files with 99 additions and 81 deletions
+3 -3
View File
@@ -1,5 +1,5 @@
# easyzsh stub: every zsh loads this. Keep it thin; logic lives under ~/.config/zsh/.
# Machine-local early env: ~/.config/zsh/local/env.local.zsh (never overwritten).
# Machine-local overrides: ~/.config/zsh/local.zsh (never overwritten by deploy).
EASYZSH_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
if [[ -d "$EASYZSH_HOME/env" ]]; then
@@ -10,9 +10,9 @@ if [[ -d "$EASYZSH_HOME/env" ]]; then
unset _easyzsh_f
fi
if [[ -f "$EASYZSH_HOME/local/env.local.zsh" ]]; then
if [[ -f "$EASYZSH_HOME/local.zsh" ]]; then
# shellcheck disable=SC1090
. "$EASYZSH_HOME/local/env.local.zsh"
. "$EASYZSH_HOME/local.zsh"
elif [[ -f "$HOME/.config/zshenv.local" ]]; then
# Legacy path from earlier easyzsh layouts.
# shellcheck disable=SC1090