Prometheus

Installation — how to actually run it

The single curl one-liner, the manual git-clone path, dry-run preview, --only and --skip flag selection, and what to expect in the first few seconds.

This page is about running the installer. For the inventory of what gets installed, see Installing. For the questions you’ll be asked the first time, see Asking important questions.

The one command

One-liner — paste into Terminal
curl -fsSL https://dotfiles.rafay99.com/install.sh | bash

That’s it. The URL serves a small bootstrap script that clones the repo to ~/dotfiles then hands off to the real installer at ~/dotfiles/install.sh.

What happens, in order

When you run the one-liner (or ./install.sh from a manual clone), the installer goes through these phases in order:

  1. Prereqs check — confirms macOS, prompts to install Xcode Command Line Tools if missing.
  2. 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. Re-runs of install.sh skip this step — see Asking important questions.
  3. Interactive module picker — choose which install modules to run (Homebrew, window manager, symlinks, LaunchAgents, macOS tweaks, …). Default selection is “symlinks only” on first run.
  4. Each selected module runs — modules whose feature you said “no” to in the wizard skip themselves silently.
  5. Summary — what was installed, what was already up to date, what (if anything) errored.

Flags worth knowing

FlagWhat it does
--dry-run

Preview every action without making any changes. Symlinks aren’t created, Homebrew isn’t invoked, no defaults write runs.

--yes / -yRun all modules, auto-confirm every sub-prompt. Skips the picker.
--only=symlinks,macosRun only these modules (skips the picker). Mutually exclusive with --skip.
--skip=wm,homebrewRun everything except these.
--reconfigure

Re-run the wizard, re-asking every question. Use this to change your NAS, fix a typo, flip a feature on/off.

--modulesPrint the module list and exit.
--manOpen the full manpage.
--helpShort usage summary.
  • It calls into the wizardinstall.d/05-configure.sh — which is documented under Asking important questions.
  • The wizard’s answers land in Your local.env, which every other script (sort-downloads, archive-project, the install modules themselves) reads at runtime.
  • The picker source-of-truth is install.d/01-menu.sh — a pure-bash arrow-key picker, no whiptail / dialog dependency.
  • Each module is install.d/NN-name.sh exposing one function module_<name>(). The orchestrator (install.sh at the repo root) sources them in dependency order.

Where to go next

On this page
Edit this page on GitHub Last updated

Built by rafay99-epic · MIT License

Tokyo Night · macOS · SketchyBar · AeroSpace · Ghostty · Zsh · Fish