- Sign in to iCloud (or skip if you want a clean slate)
- Run all pending macOS software updates
- System Settings → General → Login Items: remove anything you don't recognize
- System Settings → Notifications: turn off for apps you don't need
- System Settings → Keyboard → Text Input → Edit: disable smart quotes, autocapitalize, period shortcut, autocorrect
- System Settings → Trackpad: enable tap to click, three-finger drag (Accessibility → Pointer Control → Trackpad Options)
- System Settings → Sound: enable "Show Sound in menu bar"
- System Settings → Control Center: show Bluetooth, battery percentage in menu bar
- Finder → Settings: show all filename extensions, show path bar (View menu), show status bar
- Cmd+Shift+. in Finder to confirm hidden files toggle works
- Set up Focus mode called "Recording" (allow nothing, you'll use it during OBS sessions)
- Delete iMovie, Numbers, Pages, Keynote (if not needed) — drag to Trash from Applications
- Delete GarageBand sound library if not using GarageBand:
sudo rm -rf /Library/Application\ Support/GarageBandsudo rm -rf /Library/Audio/Apple\ Loops - Disable Spotlight indexing on big folders later (do this after Phase 7)
- Plug in external drive
- If not already APFS: back up contents, then Disk Utility → erase as APFS
- Create folder structure on drive: Samples/ Sample Libraries/ Serato/ Projects/Ableton/ Projects/Serato Recordings/ Renders/ OBS/ Music/ (your DJ library)
- Disable Spotlight on the drive:
sudo mdutil -i off /Volumes/YourDrive - Exclude drive from Time Machine: System Settings → General → Time Machine → Options
- Install Xcode Command Line Tools:
xcode-select --install - Install Homebrew: https://brew.sh (paste their one-liner)
- Add brew to PATH (the installer tells you the exact command)
- Install core CLI tools:
brew install git gh ripgrep fd bat fzf eza zoxide starship mise neovim - Install rustup:
brew install rustupthenrustup-init - Set up SSH key for GitHub:
gh auth login(handles key generation + upload) - Configure git:
git config --global user.name "Dylan Martin"anduser.email - Add starship init to your shell config:
eval "$(starship init zsh)"in ~/.zshrc - Test: open new terminal, confirm prompt looks right
- Install terminal:
brew install --cask ghostty(or iterm2/wezterm) - Install VS Code:
brew install --cask visual-studio-code - Install Cursor if you want it:
brew install --cask cursor - Sign in to GitHub/Settings Sync in VS Code to pull your config
- Install a coding font:
brew install --cask font-jetbrains-mono-nerd-font
- Raycast:
brew install --cask raycast(replace Spotlight in shortcuts after) - Rectangle or Aerospace:
brew install --cask rectangle(window management) - AltTab:
brew install --cask alt-tab(proper window switching) - Karabiner-Elements:
brew install --cask karabiner-elements(key remapping) - Stats:
brew install --cask stats(menu bar monitor) - Hidden Bar:
brew install --cask hiddenbar(menu bar cleanup) - 1Password or Bitwarden:
brew install --cask 1passwordorbitwarden - Obsidian:
brew install --cask obsidian - Tailscale:
brew install --cask tailscale - Linearmouse if you use an external mouse:
brew install --cask linearmouse - System Settings → Keyboard → Shortcuts → Spotlight: disable Cmd+Space, assign it to Raycast
- Plug in a separate backup drive (NOT your music external)
- Set up Time Machine to that drive
- Sign up for Backblaze if you want offsite:
brew install --cask backblaze - In Backblaze settings, explicitly enable backup of your external music drive
- Let Time Machine complete first backup before continuing
- Plug in your external audio interface
- Download/install its driver if it needs one (most modern ones are class-compliant)
- Open Audio MIDI Setup (it's an app in Utilities)
- Confirm interface shows up, set sample rate to 48kHz (or 44.1 if you prefer)
- Test playback: System Settings → Sound → Output → select interface, play something
- Pick one: Ableton Live, Logic Pro, Bitwig, or Reaper
- Download installer from vendor site (NOT Homebrew for DAWs — get direct)
- Install, authorize
- Set project default save location to external drive: Projects/Ableton/
- Set sample library location to external drive: Sample Libraries/
- In Ableton: Preferences → Library → set Browser sources to your external Samples/ folder
- Applications → right-click DAW → Get Info → check "Prevent App Nap"
- Run a test project: record something, confirm audio in and out work
- Vital: https://vital.audio (free synth)
- Surge XT: https://surge-synthesizer.github.io (free synth)
- Valhalla Supermassive: https://valhalladsp.com (free reverb)
- TDR Nova: https://tokyodawn.net (free dynamic EQ)
- Spitfire LABS: https://labs.spitfireaudio.com (free sample instruments — needs their app)
- In DAW: rescan plugins, confirm all show up
- Pioneer DJ Support Tool: https://www.pioneerdj.com → download Mac version
- Plug in DDJ-FLX4 directly to Mac (no hub)
- Run Support Tool, update firmware to latest
- Download Serato DJ Pro: https://serato.com/dj/pro/downloads
- Install Serato DJ Pro
- Launch WITH controller plugged in (so it sees the hardware)
- In Serato: SETUP → Library + Display → set Library location to /Volumes/YourDrive/Serato/
- Subscribe to / activate Serato DJ Pro (you'll see Lite by default)
- Applications → right-click Serato → Get Info → check "Prevent App Nap"
- Optionally install Rekordbox too: https://rekordbox.com
- Drag a test track into Serato, confirm it analyzes and plays through the controller
- Install OBS:
brew install --cask obs - Install BlackHole (free) or Loopback (paid):
brew install --cask blackhole-2chfor free option - Open Audio MIDI Setup → create Multi-Output Device: include BlackHole + your audio interface (so you hear AND record)
- In OBS: Settings → Output → Recording → set path to /Volumes/YourDrive/OBS/
- OBS recording format: MOV, encoder: Apple VT H.264 Hardware (or ProRes for editing)
- OBS Settings → Output → enable separate audio tracks (1: mic, 2: DAW, 3: system)
- Create OBS Scenes: "Just DAW", "DAW + Cam", "Talking Head", "DJ Set"
- Add Display Capture, Video Capture (webcam), Audio Input Capture sources
- Test recording: 60 seconds, confirm audio tracks separate correctly
- Processing:
brew install --cask processing - TouchDesigner (free non-commercial): https://derivative.ca
- Sonic Pi:
brew install --cask sonic-pi - SuperCollider (for TidalCycles):
brew install --cask supercollider - Hydra: nothing to install, runs in browser at https://hydra.ojack.xyz
- p5.js: nothing to install, runs in browser at https://editor.p5js.org
- System Settings → Siri & Spotlight → Search Privacy: add external drive folders to exclude
- System Settings → Battery → Options → disable "Wake for network access" (avoids waking during sessions)
- System Settings → Lock Screen → set screen off timer high (DJ sets last longer than 5min)
- Dock: drag out apps you won't launch from dock, keep it sparse
- Take a Time Machine backup snapshot now that everything's installed
- Write down your Serato Pro / Ableton / 1Password auth info somewhere safe
- Create dotfiles repo on GitHub
- Move ~/.zshrc, ~/.gitconfig, starship config, etc. into the repo with symlinks
- This way next time you set up a Mac, it's mostly automated