Monorepo for Aesthetic.Computer aesthetic.computer
core plans SETUP-FRESHMAC.md
3.7 kB

Fresh Mac setup for aesthetic-computer #

Bootstrap a new Apple Silicon Mac to the point where you can clone the repo, run the dev server, and have the slab daemon + menubar running.

Context #

Fresh arm64 Mac, zsh default. Neither brew nor gh is on PATH, and /opt/homebrew doesn't exist yet. ~/.zprofile and ~/.zshrc also don't exist. Goal: get the prerequisites in, clone the repo, and hand off to slab/install.sh for the AC-specific bits.

Steps #

1. Install Homebrew #

Run the official installer:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • The installer is interactive: it prints what it will do and waits for RETURN to proceed.
  • It will prompt for the macOS login password (sudo) to create /opt/homebrew and chown it.
  • On arm64 Macs, Homebrew installs to /opt/homebrew (not /usr/local).

2. Wire brew onto PATH for future zsh sessions #

Create ~/.zprofile with the Homebrew shellenv line (the installer prints this exact instruction at the end):

echo >> ~/.zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

The final eval loads brew into the current shell so step 3 works without opening a new terminal.

3. Install the GitHub CLI #

brew install gh

4. Authenticate with GitHub #

gh auth login

This is interactive. Typical answer path for a personal Mac:

  • Account: GitHub.com
  • Protocol: HTTPS (simplest; use SSH if you plan to push via SSH keys)
  • Authenticate Git with your GitHub credentials? Yes
  • How would you like to authenticate? Login with a web browser → opens github.com/login/device, paste the one-time code.

After login, gh auth status should show the authenticated account.

5. Clone the repo (+ nested vault, if you have access) #

gh repo clone whistlegraph/aesthetic-computer
cd aesthetic-computer
# the vault is a separately-cloned private repo nested inside:
# git clone git@github.com:…/aesthetic-computer-vault aesthetic-computer-vault

6. Run the slab installer #

Sets up the lid-ambient daemon, menubar app, launchd plists, Python venv, and Claude Code hooks. Idempotent — re-runnable.

./slab/install.sh              # full install
./slab/install.sh --no-hooks   # skip the Claude Code settings merge

See slab/README.md for details.

Verification #

  • brew --version prints a version.
  • brew doctor reports "Your system is ready to brew" (warnings about Xcode CLT are fine if they appear; the installer handles CLT automatically).
  • gh --version prints a version.
  • gh auth status shows logged in as <your-username> on github.com.
  • launchctl list | grep slab shows computer.slab.daemon and computer.slab.menubar running with exit code 0.

Notes / caveats #

  • Xcode Command Line Tools: the Homebrew installer will trigger the CLT install if missing. That opens a GUI dialog and downloads ~1–2 GB — expect a wait on first run.
  • Sudo password: required once during the Homebrew install, and again by slab/install.sh for the passwordless-pmset sudoers rule (skippable with --no-sudoers).
  • Interactive prompts: steps 1 and 4 need the user at the keyboard; they can't be fully automated from here.
  • Git: macOS ships a git shim that triggers CLT. After brew install gh, gh depends on git, so brew will pull in a fresh git as a dependency — no separate install needed.
  • Not covered here: GPG keys (restore ~/.gnupg/ from your own backup before decrypting vault files), SSH keys (symlinked from the vault once cloned), Claude Code memory (~/.claude/, ~/.ac-agent-memory/ — private backup).