Full setup from scratch. Idempotent — safe to re-run.
Checks for Homebrew, installs it if missing.
Checks for GNU Stow, installs via brew if needed.
If user/ doesn't exist — copies user.example/ as a starter template. If user/ already exists (e.g. a cloned private repo) — skips.
Sources user/meta.sh if present. This file exports variables like MACHINE for machine-specific logic in base configs.
Before stowing, checks for existing configs in $HOME. If a file exists and is not already a slicker symlink — moves it to backups/<timestamp>/. Backed up paths:
~/.zshrc~/.gitconfig~/.config/nvim~/.config/tmux~/.config/ghostty~/.config/starship.toml
Runs stow -v -t "$HOME" -d configs zsh git ghostty nvim tmux starship. Creates symlinks from $HOME into configs/.
Runs brew bundle from the base Brewfile (core tools), then from user/Brewfile if it exists.
slicker install
# or
./install.sh