Skip to content

Quick-Guide on setting up a MacBook for AI Engineering

My 10-step process for turning a fresh macOS install into an AI engineering workstation.

1. Install Xcode Command Line Tools

xcode-select --install

This opens a dialog that walks you through the install.

2. Install Homebrew

Homebrew is the package manager I use for everything else on this list:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

The installer asks for your password and adds itself to your PATH.

3. Install the core tools

brew install openssl readline sqlite3 xz zlib pyenv uv htop gitmoji pandoc ncdu tmux

Roughly grouped by what they're for:

Python environment

  • pyenv β€” manage multiple Python versions side by side
  • uv β€” fast Python package manager and environment handler

System libraries

  • openssl β€” SSL/TLS cryptography support
  • readline β€” command-line text editing
  • sqlite3 β€” lightweight embedded database
  • xz β€” data compression
  • zlib β€” compression library

Productivity tools

  • htop β€” visual system monitor and process viewer
  • tmux β€” manage multiple terminal sessions
  • ncdu β€” analyze disk usage interactively
  • gitmoji β€” add emojis to commit messages
  • pandoc β€” convert documents between formats

For more on uv itself, see my Quick-Guide on managing Python on macOS with uv.

4. Pick a terminal

The default macOS Terminal is fine. I used iTerm2 for years and recently moved to Warp, a Rust-based terminal with AI features baked in. You can grab Warp from their website.

Optional: iTerm2 setup

If you stick with iTerm2, the two settings I always change:

Enable natural text editing

  1. Preferences β†’ Profiles β†’ Keys β†’ Key Mappings
  2. Click the Presets… dropdown
  3. Select "Natural Text Editing"

Pick a color theme

  1. Browse themes at iTerm2-Color-Schemes
  2. Preferences β†’ Profiles β†’ Colors β†’ Color Presets…
  3. Click Import and select your downloaded theme

5. Set up Zsh with Oh My Zsh

macOS uses Zsh by default. Oh My Zsh adds sane defaults and a plugin system on top:

brew install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

The installer backs up your existing Zsh config before swapping in the new one.

6. Add Zsh plugins

Edit your ~/.zshrc to load these plugins:

plugins=(
    aws bgnotify brew docker docker-compose
    emoji forklift gcloud git history iterm2
    keychain kubectl macos pre-commit
    pyenv pylint python screen themes
    tmux virtualenv vscode
    zsh-autosuggestions zsh-syntax-highlighting
)

Descriptions for all of these are in the Oh My Zsh plugins wiki.

The last two need a separate install:

Follow the install instructions on each repo.

7. Theme it with Powerlevel10k

Powerlevel10k is the Zsh theme I use. It shows the working directory, git status, and active Python environment in the prompt, and it has an interactive wizard for tweaking the look. Install instructions are on the GitHub page.

Fonts in other editors

If you use VSCode or another editor with an integrated terminal, set the terminal font so the Powerlevel10k icons render:

  1. Open your editor's settings
  2. Search for terminal.integrated.fontFamily
  3. Set it to MesloLGS NF (installed alongside Powerlevel10k)

Full font setup is in the Powerlevel10k font guide.

8. Editor and AI assistants

I always end up with one IDE open and an AI tool or two running next to it.

IDEs

  • Cursor β€” a VSCode fork with AI pair programming built in
  • VSCode β€” the one with the huge extension catalog

AI assistants

  • OpenAI Codex β€” code generation and completion from OpenAI
  • Claude β€” Anthropic's assistant; what I reach for on harder tasks

These days that's Cursor with Codex and Claude Code running in parallel.

9. The rest

A few extras I install on every machine:

10. That's the setup

That's what I install on every new MacBook before doing real work. Adjust to taste.