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
option
key for push to talk
- set right
- Granola - for battery optimization
- Email: Superhuman (but will switch to Notion Mail once all my email addresses are unwaitlistied)
- Calendar: Notion Calendar
- Notion
- Figma
- MS Word, Excel, Powerpoint (open and login)
- Raycast
- Hotkey
Cmd+Space
- Alias
c
for contact search - Hotkey
Shift+Cmd+C
for clipboard history
- Hotkey
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
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
~/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;
- Settings → General
Thanks
Thanks to swyx and Eugene Yan for inspiration.