Skip to content

Quick-Guide on setting up a MacBook for AI Engineering

Here's my distilled, 10‑step workflow to transform a vanilla macOS install into a ready to-go AI engineering working station.

1. Xcode Command Line Tools

First of all, let's install Xcode Command Line Tools. These tools are the foundation for any type of software development (including DS).

xcode-select --install

2. Homebrew

Then install Homebrew. It is a package manager for macOS. You can follow instructions on their website or just run:

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

3. Main dependencies with brew

Then I install these dependencies with brew:

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

Descriptions:

  • openssl for SSL/TLS cryptography,
  • readline for command-line text editing support,
  • sqlite3 for embedded SQL database engine,
  • xz for LZMA2-based data compression,
  • zlib for DEFLATE compression library,
  • pyenv for managing global Python versions via shims,
  • uv for managing Python project dependencies and virtual environments,
  • htop for interactive process viewer and system monitor,
  • gitmoji for customizing commit messages.
  • pandoc for converting documents between various markup formats,
  • yt-dlp for downloading videos from online platforms,
  • ncdu for analyzing disk usage in a terminal interface,
  • tmux for terminal session multiplexing.

For more detailed information about using uv for Python development, check out my Quick-Guide on managing Python on macOS with uv.

4. Terminals

I used to prefer iTerm2 over the standard Terminal due to its flexible configuration, but recently migrated to Warp. Warp offers a modern, Rust-based terminal experience with AI features integrated. You can download it from the Warp website. However, if you still prefer iTerm2, here's how I used to configure it:

5. iTerm configuration

For configuring iTerm I prefer to do the following:

  • Setup Natural text editing:

    • Go to Preferences → Profiles → Keys → Key Mappings
    • Press Presets… dropdown button
    • Select Natural Text Editing
  • For changing color select the preferred preset from this repo. Then:

    • Go to Preferences → Profiles → Colors → Color Presets… → Import (or select)
    • After importing your new color will be displayed in Color Presets

6. Zsh + Oh My Zsh

Then I install and configure Zsh and Oh My Zsh:

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

7. Zsh plugins

Now you can configure your terminal with a ~/.zshrc file. I use the next zsh plugins in my daily routine:

1
2
3
4
5
6
7
8
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
)

A description of the plugins you can find here.

Only the last two plugins (zsh-autosuggestions and zsh-syntax-highlighting) require additional installation. It's pretty simple, just check the following links:

8. Powerlevel10k

I'm using the Powerlevel10k theme in Zsh. It has installation assistance that helps you configure Zsh your way. Just follow the instruction on their website.

If you have any issues with fonts in another terminal, you can install fonts separately. For example, to configure VSCode to use the Nerd Font either follow this instruction or do the next:

  1. Open VSCode Settings:
  2. Set the Terminal Font:
    1. Search for terminal.integrated.fontFamily.
    2. Set its value to the name of the installed font, e.g., MesloLGS NF.

9. IDE

I prefer VSCode or Cursor.

10. Other developer tools

Final thoughts

By now you have the exact stack I lean on every day as an AI engineer - just the essentials that remove friction between an idea and a running model.