Quick install — the one-line curl
One command, no cloning, no setup. Handles Homebrew, packages, symlinks, and shell config, then drops you into the first-run wizard.
Paste one command into Terminal. It clones the repo to ~/dotfiles, then hands off to ~/dotfiles/install.sh. No prior setup required.
curl -fsSL https://dotfiles.rafay99.com/install.sh | bash What happens, in order
- Prereqs check — confirms macOS, prompts to install Xcode Command Line Tools if missing.
- First-run config wizard — asks ~7 questions (code directory, git identity, NAS yes/no, Time Machine, auto-sort Downloads, archive-project) and writes your answers to
~/.config/dotfiles/local.env. Your personal values stay on your machine, never in the repo. - Module picker — the default selection is “symlinks only” on first run. Pick the rest with the arrow keys.
- Each selected module runs — modules whose feature you said “no” to in the wizard skip themselves silently.
- Summary — what was installed, what was already up to date, what (if anything) errored.
The wizard questions, at a glance
| Question | What it controls |
|---|---|
| Where do you keep your code? | CODE_DIR — scanned by archive-project, used by the dev alias |
| Your name / email | Written to |
| Do you have a NAS? | If no, every NAS-related piece skips itself silently |
| NAS IP / username / share | Substituted into |
| Time Machine to NAS? | If yes: install the monthly LaunchDaemon, disable Apple’s hourly schedule, link
|
| Auto-sort Downloads? | Install |
| Install archive-project? | Manual tool to move stale code projects to the NAS; only useful with HAS_NAS=true |
For the full per-question walkthrough see Asking important questions.
Preview before committing
If you’d rather see what the installer is going to do first:
./install.sh --dry-run
./install.sh --help
--dry-run previews every action without making any changes — symlinks aren’t created, Homebrew isn’t invoked, no defaults write runs. Combine with --only= or --skip= from the manual install page to scope the preview.
Where to go next
- Manual install —
git cloneif you’d rather see the repo before running anything. - Multi-machine portability — why the same clone works on any Mac, any username.
- Asking important questions — every wizard prompt explained.
- Installing — what gets installed — the inventory of brews, casks, fonts, and configs.