Files
scripts/zsh/README.md
T
jeremy e0598477da validate downloaded zshrc with zsh -n before replacing
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.
2026-07-13 00:18:38 -04:00

13 lines
1.1 KiB
Markdown

# Zsh Config
## Files
### `zshrc`
Main Zsh configuration file. Sets up Oh My Zsh, plugins (git, sudo, eza, fzf, starship, etc.), history options, aliases, and auto-updates itself from a remote source. Before replacing `~/.zshrc`, the downloaded file is validated with `zsh -n` to ensure it's syntactically valid — this prevents error pages or corrupted content from breaking the shell. Also bootstraps tmux config and runs a fastfetch system info display on interactive shells.
### `zshrc-bootstrap.zsh`
One-shot setup script executed by `zshrc`. Installs missing dependencies (starship, lazydocker, fastfetch, eza, fzf, etc.) via the system package manager (brew, apt, dnf, pacman) or cargo, clones Oh My Zsh and custom plugins (zsh-autosuggestions, fast-syntax-highlighting, fzf-tab). Runs only when the bootstrap version changes.
### `tmux.conf`
Tmux configuration with GitHub Dark theming, Nerd Font auto-install, TPM plugin manager, pane/window keybindings (Vim-style navigation with `h/j/k/l`), status bar showing session info, battery, online status, and a built-in cheatsheet (bound to `prefix + ?`).