Commit Graph
9 Commits
Author SHA1 Message Date
Jeffrey bff5ceddf0 feat(install): optional add-ons via --with and interactive prompt
Wire install_<name>.sh into the main installer through a shared catalog
so fnm/pyenv/nvm (and future tools) share one CLI and prompt path.
2026-08-07 14:23:30 +08:00
Jeffrey 42c8305871 fix(fnm): load managed Node from always-on zsh layer
fnm lived in interactive-only ~/.config/zshrc, so ssh/agents/zsh -c
missed fnm-managed node. Source ~/.config/zsh/*.zsh from .zshenv and
install the fragment as zsh/fnm instead.
2026-08-07 14:08:07 +08:00
Jeffrey 7a43940317 refactor(shell): stop managing ~/.zprofile
Always-on and machine hooks already live in .zshenv / local.zsh.
Drop the empty stub, remove it on deploy, and leave real .zprofile
files to optional migration into local.zsh only.
2026-08-06 14:50:11 +08:00
Jeffrey e5e2801ce8 refactor(shell): collapse managed tree back into stubs
Drop ~/.config/zsh/{env,interactive,login} modules. PATH and local.zsh
live in .zshenv; interactive UX is a single .zshrc again. Deploy only
installs the three stubs and removes obsolete trees/examples.
2026-08-06 14:46:56 +08:00
Jeffrey caac9235f6 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.
2026-08-06 14:41:31 +08:00
Jeffrey f8dcc29a2f refactor(shell): thin stubs with managed ~/.config/zsh tree
Split always-on PATH/env, login hooks, and interactive UX into a
managed tree under ~/.config/zsh, with never-overwrite local/ hooks.
Agents and interactive shells share one PATH owner; deploy.sh applies
the layout safely across machines.
2026-08-06 14:36:08 +08:00
Jeffrey ed5365859c fix(zshenv): put ~/.local/bin on PATH for every zsh
Non-interactive agent shells (Codex, Claude) skip .zshrc and never saw
user-local tools installed via pipx/uv/grok. Add ~/.local/bin in
.zshenv with an idempotent guard, and source optional
~/.config/zshenv.local for machine-local early env.
2026-08-06 14:25:52 +08:00
mio 9377023e28 feat(shell): add .zshenv Homebrew init and Trash-backed rm
Move brew shellenv into .zshenv so PATH is available outside
interactive shells, and make install guarantee a Trash backend
for safer rm aliases on both macOS and Linux.
2026-07-26 16:28:09 +08:00
Frank Qing 76395923ce fix(install): make setup failures explicit and atomic
Installer pipelines masked dependency and download failures, causing
false success messages and unsafe config replacement.

Atomic updates and current upstream installers keep failures visible.
2026-07-15 00:16:33 +08:00