curl | sh installer that brings a fresh Linux or macOS dev VM up to a working state. Pick which modules you want from an interactive checklist, and walk away.
curl -fsSL https://raw.githubusercontent.com/hiitsgabe/smart-setup/main/install.sh | bashSupports Ubuntu, Debian, Fedora, and macOS (auto-detected). Re-runs are safe — every step is idempotent.
- development — Node (nvm + latest LTS), bun, yarn, pnpm, miniforge (conda), pipx, uv
- tools — helix, tmux, and a curated
~/.tmux.conf(Claude Code passthrough + iPhone/Termius mouse fix + sane defaults) - ai — claude, codex, opencode, plus post-install config: github + linear MCPs for Claude, the superpowers plugin, OpenRouter auth for opencode, agent memories written to
~/.claude/CLAUDE.mdand~/.codex/AGENTS.md, and tmux pane-color hooks (green=working, red=waiting, default=idle) - git — gh CLI + interactive
gh auth login, lazygit, baseline git config, ed25519 SSH key + GitHub upload,~/Workspacedirectory + repo-clone picker (top 10 by recent push activity) - containers — Docker (rootless on Linux), docker compose plugin, kubectl, k9s
New paths:
~/.smart-setup/— cache + install log~/Workspace/— optional clone targets from thegitmodule~/.claude/hooks/smart-setup-pane-color.sh— Claude pane-color hook
Managed blocks (user content above/below the markers is preserved):
~/.tmux.conf~/.claude/CLAUDE.md~/.codex/AGENTS.md~/.codex/config.toml~/.claude/settings.json
Running the installer again is safe. Each sub-installer detects what's already present and logs SKIP for it. After a successful first install, a second run should report 0 installed, N already present, 0 failed.
See LICENSE.