Bootstrap (zshrc-bootstrap.zsh):
- Add bat and zoxide to the cross-distro install loop
- Add git-delta install block (package is 'git-delta' on every PM but
binary is 'delta', mirroring the starship/lazydocker pattern)
- Debian/Ubuntu compat: symlink batcat->bat and fdfind->fd into
~/.local/bin so zshrc integrations work under both names
- Bump ZSHRC_BOOTSTRAP_VERSION 2 -> 3 so existing machines re-run the
bootstrap and auto-install the new tools
zshrc:
- Add setopts HIST_VERIFY, EXTENDED_HISTORY, AUTO_PUSHD,
PUSHD_IGNORE_DUPS, PUSHD_SILENT
- Self-configuring tool integrations (all behind command -v guards):
- zoxide: eval $(zoxide init zsh) for frecent 'z'/'zi' dir jumping
- bat: alias cat->bat, BAT_THEME, colored MANPAGER via bat
- delta: GIT_PAGER=delta for prettier git diff/log/show
- Extend the interactive auto-update block to also sync starship.toml
to ~/.config/starship.toml (overwrite-if-changed, validated the
same way as zshrc); keep the reproducible/self-configuring design
- Inverted hyperlink fix already landed in prior commit; no change
here
starship.toml (new):
- Two-line prompt: directory + git status + cmd duration on line 1,
arrow (red on error) on line 2; Nerd Font symbols, SSH host/user,
Python/Node/Rust/Go/Java/Docker context blocks
- Validated clean with starship 1.21.1 (uses [nodejs], not [node])
README.md:
- Full rewrite: documents the design philosophy, all files, deps,
integrations, history options, aliases, keybindings, the eza
hyperlink workaround rationale, auto-update behavior, per-machine
overrides, env vars, and helper functions
Adds syntax validation via zsh -n to both update_zshrc() and the
auto-update on shell start. Prevents error pages or corrupted content
from overwriting ~/.zshrc and breaking the shell.