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).
Table of contents
Open Table of contents
Initial Setup
- Migration Assistant: never. Fresh start.
- Skip Apple Intelligence - it’s crap.
Before anything else
- Install 1Password - so you can login into everything else
- Turn on developer experience and setup SSH agent
- 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
- Install Terminal: Warp
- Install Xcode Tools (takes 10 min)
sudo xcode-select --install
While Xcode Tools are downloading, install some apps
IDE
AI
# If you want to download some models in the background:
ollama run gemma3
ollama run deepseek-r1
ollama run llama3.2
Productivity
- Superwhisper - for voice to text
- set right
optionkey for push to talk
- set right
- Granola - for battery optimization
- Email: Superhuman
- Calendar: Notion Calendar
- Notion
- Figma
- MS Word, Excel, Powerpoint (open and login)
- Raycast
- Hotkey
Cmd+Space - Alias
cfor contact search - Hotkey
Shift+Cmd+Cfor clipboard history
- Hotkey
- Mochi - spaced repetition
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/.zprofileecho 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/ak/.zprofileeval "$(/opt/homebrew/bin/brew shellenv)"
- UV:
curl -LsSf https://astral.sh/uv/install.sh | shuv python install 3.12
- FNM:
curl -fsSL https://fnm.vercel.app/install | bashfnm 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
Menubar
- 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
~/Devfolder 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; - Settings → General
Thanks
Thanks to swyx and Eugene Yan for inspiration.