index

New Computer Setup

In the age of AI, I seem to be buying and setting up new computers way more often (RAM maxing). Here’s a guide I use to do it. I hope one day, AI can read this and do it for me (that’s assuming I even need to use a computer in the future).


Initial Setup

  • Migration Assistant: never. Fresh start.
  • Skip Apple Intelligence - it’s crap.

Before anything else

  1. Install 1Password - so you can login into everything else
  • Turn on developer experience and setup SSH agent
  1. Install Browser
  • For personal, I use Safari
    • Install extensions: 1Password, Matter
  • For work, I used to use Arc (RIP), now Brave
    • Setting to vertical tabs
    • Add to sync chain (extensions installed automatically)
  • Log into Google, Github, X
  1. Install Terminal: Warp
  2. Install Xcode Tools (takes 10 min) sudo xcode-select --install

While Xcode Tools are downloading, install some apps

IDE

  • Cursor as my main squeeze
  • Zed - I’m experimenting with Zed + Claude Code as an alternative

AI

# If you want to download some models in the background:
ollama run gemma3
ollama run deepseek-r1
ollama run llama3.2

Productivity

Comms

Other

Security/Privacy

After XCode finishes, set up local dev environment

I really try to avoid customizing (no dotfiles, vanilla zsh, etc), just to make it easier to setup and maintain. I also don’t copy over past brew lists and just install as needed.

  • Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)
    • echo >> /Users/ak/.zprofile
    • echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/ak/.zprofile
    • eval "$(/opt/homebrew/bin/brew shellenv)"
  • UV: curl -LsSf https://astral.sh/uv/install.sh | sh
    • uv python install 3.12
  • FNM: curl -fsSL https://fnm.vercel.app/install | bash
    • fnm install 22
  • Github CLI: brew install gh
  • PNPM: brew install pnpm | pnpm setup
  • Claude code: pnpm install -g @anthropic-ai/claude-code
  • Docker: brew install docker
  • Vercel: brew install vercel-cli
  • Cloudflare: brew install cloudflare-wrangler
  • Other: brew install mactop node nvm postgresql@16
  • SSH Keys:
ssh-keygen -t ed25519 -C "your_email@example.com"

eval "$(ssh-agent -s)"
touch ~/.ssh/config
open ~/.ssh/config

# add to config
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

# run in shell
gh auth login
gh auth refresh -h github.com -s admin:ssh_signing_key
gh ssh-key add ~/.ssh/id_ed25519.pub --type signing

Clean up and update defaults

Clean Up

  • Delete Numbers, Pages
  • Clear the Dock (hold option and drag off everything)
  • Turn Dock auto-hiding on
  • Stats: brew install stats
  • Menubar Management: brew install jordanbaird-ice
  • Itsycal

Change Defaults

  • System Preferences
    • Turn off all notification sounds (if there’s a way to do this in the shell please tell me)
    • Disable dictionary lookup: Trackpad -> Point & Click -> Look up & data detectors off
    • Disable Spotlight search key commands
    • Hotkey for upper right desktop reveal
  • Turn off Apple Passwords in Safari
  • Finder Settings
    • Settings → General
      • Sync Documents and Desktop
      • New finder window > ~
    • Settings → Advanced
      • Show filename extensions
      • When performing a search -> Search the Current Folder
    • Settings → Sidebar
      • Add ~ to Favorites
    • Create ~/Dev folder and pin it
      • Settings > General >
    # show Library folder
    chflags nohidden ~/Library
    
    # show hidden files
    defaults write com.apple.finder AppleShowAllFiles YES
    
    # add pathbar to title
    defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
    
    # restart finder
    killall Finder;

Thanks

Thanks to swyx and Eugene Yan for inspiration.