# mac > Ops home for Seth's MacBook Pro — debloat, Linux-feel, Ableton-first. ## Start Here **Read the latest handoff first:** `.claude/handoffs/` (most recent file). It has session state, in-progress work, and ordered next steps. Then check `IDEA.md` for the project brief and `DECISIONS.md` for settled choices. ## Project Identity Configuration + scripts for Seth's MacBook Pro (arrived 2026-09-15). Three goals, in priority order: (1) Ableton Live 12 runs clean — this is the DAW box now that Wine on steel141 is abandoned; (2) feels like Linux to a Linux user — GNU coreutils, `ip`, familiar shell, ssh-able from steel141; (3) stock macOS noise turned off. Sibling of `~/bin/ableton/` (which is now an archive of the Wine attempt) and `~/bin/thinkpad-yoga/` (same "ops home for a laptop" shape). ## Current State - **Phase:** ideation -> design approved-ish; spec at `docs/plans/2026-09-15-mac-setup-design.md` - **Repo:** `git.sethpc.xyz/Seth/mac` - **Deploy target:** the MacBook, `ssh mac` (192.168.0.94, user seth, en0 Wi-Fi) - **Hardware:** MacBookPro18,1 (16" 2021), M1 Pro, 32 GB, 512 GB. **macOS 26.2 Tahoe.** - Remote Login enabled + claude key installed 2026-09-15. `ssh mac` works from steel141. - **FileVault is on** — no SSH after a reboot until the password is typed at the lid. - Stock state is already clean: no Homebrew/CLT, only Safari in /Applications, Siri off, Apple Intelligence opted out. Full snapshot: `docs/reference/inventory-2026-09-15.md` — read when checking "was X stock?". - No changes made yet. ## Conventions - All changes as scripts under `scripts/` (bash, idempotent, `set -euo pipefail`); never one-off `defaults write` in a chat that isn't also committed. - Before any `defaults write`: `defaults read > .backup/-$(date +%s).plist` - Before any `launchctl disable`/`bootout`: record current `launchctl print` state to `.backup/` - Homebrew `Brewfile` at repo root is the package manifest — `brew bundle` is the install - macOS gotchas go in this file's Conventions; per-decision reasoning goes in `DECISIONS.md` - **Apply everything:** `scripts/run.sh` from steel141 (sudo primed from `$HOMELAB_PASSWORD` over `ssh -tt`). Second run must be all `[skip]`. - GUI-only steps live in `docs/manual-checklist.md` — read when something "didn't apply" (it's probably on that list).