# Mac setup for developers: what to install first

Source: https://ribbonformac.com/mac-setup-for-developers  
Updated: 2026-10-22

A new Mac is ready for development in about an hour. Install the command-line tools and Homebrew, pick a terminal and an editor, add a launcher, sort out window management, then change a handful of macOS defaults. Everything here is free except where noted, and most of it installs with one Homebrew command.

## 1. Command-line tools and Homebrew

Start with Apple's command-line tools, which give you `git`, `make` and the compilers:

```
xcode-select --install
```

Then install [Homebrew](https://brew.sh/), the package manager almost every Mac developer uses:

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

From here on, `brew install` handles command-line tools and `brew install --cask` handles apps. Keeping a `Brewfile` in your dotfiles means the next Mac takes one `brew bundle` command.

## 2. A terminal

macOS ships Terminal.app, and it's fine. Most developers switch to one of these free options:

- **[Ghostty](https://ghostty.org/)**: fast, native-feeling, sensible defaults. `brew install --cask ghostty`
- **[iTerm2](https://iterm2.com/)**: the long-time favourite, with split panes and endless settings. `brew install --cask iterm2`
- **[WezTerm](https://wezterm.org/)** or **[kitty](https://sw.kovidgoyal.net/kitty/)**: GPU terminals configured in a file, popular with people coming from Linux.

## 3. An editor

Install whatever you already use: VS Code (`brew install --cask visual-studio-code`), Zed, a JetBrains IDE, or Neovim (`brew install neovim`). If you use VS Code, run **Shell Command: Install 'code' command in PATH** from the command palette so `code .` works in the terminal.

## 4. A launcher

Spotlight (<kbd>⌘</kbd><kbd>Space</kbd>) opens apps and files. **[Raycast](https://www.raycast.com/)** (free for personal use, `brew install --cask raycast`) does that plus clipboard history, snippets, window snapping and hundreds of extensions. Many people bind it to <kbd>⌘</kbd><kbd>Space</kbd> and move Spotlight elsewhere.

## 5. Window management

This is the part that decides how a laptop feels after a week of real work. macOS overlaps windows by default, and a developer usually has an editor, a terminal, a browser, docs and chat open at once.

- **Just halves?** macOS 15 Sequoia and later tile a window to the left or right half with <kbd>Fn</kbd><kbd>⌃</kbd><kbd>←</kbd> and <kbd>Fn</kbd><kbd>⌃</kbd><kbd>→</kbd>. [Rectangle](https://rectangleapp.com/) does the same on older versions and adds thirds. See [how to tile windows on a Mac](https://ribbonformac.com/how-to-tile-windows-on-mac).
- **A full grid, i3 style?** [AeroSpace](https://github.com/nikitabobko/AeroSpace) is free and keyboard-driven, configured in TOML.
- **Many windows on a small screen?** A scrolling window manager puts every window in its own column on one long strip, so opening the fifth window doesn't squeeze the other four. [Ribbon](https://ribbonformac.com/) is ours ($9.99 once, settings window, no config file). Free options are compared in [the best scrolling window managers for Mac](https://ribbonformac.com/best-scrolling-window-managers-for-mac). You can [try Ribbon in your browser](https://ribbonformac.com/#demo) first.

Also worth installing: **[AltTab](https://alt-tab-macos.netlify.app/)** (`brew install --cask alt-tab`), a switcher that shows every window instead of every app (<kbd>⌥</kbd><kbd>Tab</kbd> by default, and you can move it to <kbd>⌘</kbd><kbd>Tab</kbd>).

## 6. Containers and runtimes

- **Docker:** [OrbStack](https://orbstack.dev/) (`brew install --cask orbstack`) is a lighter alternative to Docker Desktop on Apple silicon; it's free for personal use and paid for commercial use.
- **Language versions:** use a version manager rather than Homebrew's single version: `mise`, `nvm`, `pyenv` or `uv` for Python.

## 7. macOS settings worth changing on day one

- **Show hidden files in Finder:** press <kbd>⌘</kbd><kbd>⇧</kbd><kbd>.</kbd> in any Finder window.
- **Faster key repeat:** System Settings → Keyboard → Key repeat rate to Fast, Delay until repeat to Short.
- **Auto-hide the Dock** for more vertical space: System Settings → Desktop & Dock → Automatically hide and show the Dock.
- **Screenshots out of your Desktop:** `mkdir -p ~/Screenshots && defaults write com.apple.screencapture location ~/Screenshots && killall SystemUIServer`
- **Turn off "Displays have separate Spaces"** only if you use a window manager that asks for it. Ribbon works with the default.
- **Stage Manager off** if you tile: it reserves a strip on the left edge. See [Stage Manager alternatives](https://ribbonformac.com/stage-manager-alternative).

## A Brewfile to start from

```
brew "git"
brew "neovim"
cask "ghostty"
cask "visual-studio-code"
cask "raycast"
cask "rectangle"
cask "alt-tab"
cask "orbstack"
```

Save it as `Brewfile` and run `brew bundle`. Swap in your own picks.

## FAQ

### What should a developer install first on a new Mac?

Apple's command-line tools (`xcode-select --install`) and Homebrew. Nearly everything else installs through Homebrew afterwards.

### Do I need the full Xcode app?

Only for iOS or macOS app development. For web, backend and most other work, the command-line tools are enough.

### What's the best window manager for developers on a Mac?

It depends on the screen. On a big monitor, a grid tiler like AeroSpace shows everything at once. On a MacBook, a scrolling window manager like Ribbon keeps each window wide enough to use. For simple halves, macOS tiling or Rectangle is enough.

### Is Homebrew safe to install?

Yes. It's open source, installs into `/opt/homebrew` on Apple silicon, and is the standard way to install developer tools on a Mac.

## Keep reading
- [Tile windows on Mac](https://ribbonformac.com/how-to-tile-windows-on-mac) — Drag, green button, Window menu and every Fn-Control shortcut, plus how to turn it off.
- [MacBook window manager](https://ribbonformac.com/macbook-window-manager) — Grids get cramped on 13–15" screens. What works better on a laptop, honestly.
- [Linux to Mac replacements](https://ribbonformac.com/linux-to-mac-app-replacements) — Window manager, launcher, bar, hotkeys, terminal and more: the Mac equivalents.
- [MacBook + external monitor](https://ribbonformac.com/macbook-external-monitor-setup) — Arrangement, Spaces, moving windows between screens, clamshell mode and tiling.
- [Best scrolling WMs for Mac](https://ribbonformac.com/best-scrolling-window-managers-for-mac) — Ribbon, OmniWM, Nehir, Paneru, PaperWM.spoon and the rest, ranked by situation.
