- Add --connect-timeout 5 --max-time 30 to all curl calls (starship, lazydocker, fastfetch, eza) so an unreachable/slow host aborts instead of hanging the new shell during a bootstrap version bump - Add -f/--fail to curl calls so a 502/HTML error page is not saved as a tarball or piped into sh - Guard fastfetch extract: only cp/chmod when $ffdir is non-empty, preventing cp of '/usr/bin/fastfetch' and glob against '/' when curl/tar fails - Only run fastfetch/eza copy steps when both curl and tar succeed; clean up temp tarballs in both success and failure paths - git clone now uses GIT_TERMINAL_PROMPT=0 and http.lowSpeedLimit/ lowSpeedTime so a stalled clone aborts after ~10s of no progress and an unexpected credential prompt cannot block startup - Drop invalid -y flag from 'dnf list available' availability check (it is a global dnf option, not a list subcommand arg) which could cause the check to fail and skip the dnf path
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 + ?).