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.
1.1 KiB
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 + ?).