DEV Community

Jamie
Jamie

Posted on

Switched to Mac for Coding? Here's What to Install First (2026 Guide)

I switched from Windows to Mac for development last year, and I wish someone had given me this list on day one. Not the "install Homebrew" basics — the stuff that actually makes Mac development feel fast.

Here's everything I installed in the first week that I'm still using daily.


The Terminal Setup

Homebrew

This is step zero. Mac's package manager. Install it first, use it for everything else.

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

iTerm2 or Warp

The built-in Terminal.app is fine, but iTerm2 gives you split panes, hotkey windows, and better search. Warp is newer and has AI built in. I use iTerm2 out of habit.

Oh My Zsh

Mac uses zsh by default now, and Oh My Zsh makes it 10x better with themes, plugins, and auto-suggestions.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

The Code Editor

VS Code or Cursor

VS Code is the standard. Cursor is VS Code with AI built deeper into the editing experience. If you're doing AI-assisted coding (and you should be in 2026), Cursor is worth trying.

Both are free to start. Install via Homebrew:

brew install --cask visual-studio-code
# or
brew install --cask cursor
Enter fullscreen mode Exit fullscreen mode

The Apps That Changed How I Work

Raycast (Free)

Replaces Spotlight entirely. App launcher, clipboard history, window management, calculator, snippets — all from Cmd+Space. The extension ecosystem is massive.

This alone makes Mac feel 2x faster than Windows.

Rectangle (Free)

Mac doesn't have proper window snapping out of the box (macOS 15 improved this, but it's still not great). Rectangle gives you keyboard shortcuts to snap windows to halves, thirds, quarters. Essential.

brew install --cask rectangle
Enter fullscreen mode Exit fullscreen mode

TokenBar ($5)

If you're using any AI coding tools — Cursor, Claude Code, GitHub Copilot, or direct API calls — TokenBar shows your token usage and cost in the menu bar in real time. You'd be surprised how fast costs add up when you're learning to prompt effectively.

Coming from Windows where there's nothing like this, it was a game-changer for keeping my API bills under control.

🔗 tokenbar.site

Monk Mode ($15)

Here's something I didn't expect when switching to Mac: I got more distracted. macOS is beautiful, and the smooth gestures make it way too easy to swipe over to Twitter or YouTube "for a second."

Monk Mode blocks the algorithmic feeds on distracting sites without blocking the whole domain. So YouTube tutorials still work, but the recommended videos sidebar disappears. Twitter search works, but the For You feed is gone.

Saved me probably 2 hours a day.

🔗 mac.monk-mode.lifestyle

Stats (Free)

System monitor in the menu bar. CPU, RAM, disk, network. Lightweight and open source. Way better than Activity Monitor for at-a-glance info.

CleanShot X ($29)

Best screenshot tool on any platform. Screenshots, recordings, annotations, scrolling capture. The built-in Mac screenshot is decent, but CleanShot is on another level.


The Keyboard Shortcuts You Need to Learn

Coming from Windows, these tripped me up for weeks:

Windows Mac What it does
Ctrl+C/V Cmd+C/V Copy/Paste
Alt+Tab Cmd+Tab Switch apps
Ctrl+Tab Cmd+` Switch windows (same app)
Home/End Cmd+Left/Right Start/End of line
Ctrl+Backspace Option+Backspace Delete word
Alt+F4 Cmd+Q Quit app (Cmd+W just closes window!)

The biggest gotcha: Cmd+W closes the window but doesn't quit the app. You'll have zombie apps running for days if you don't learn Cmd+Q.


Development Essentials

Git (comes with Xcode CLI tools)

bash
xcode-select --install

This also installs the C compiler you'll need for various tools.

Node.js (via nvm)

Don't install Node directly. Use nvm so you can switch versions:

bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts

Docker Desktop

bash
brew install --cask docker

Note: Docker on Mac uses a VM under the hood, so it's a bit slower than native Linux Docker. This is normal.


Things I Wish I Knew Sooner

  1. Finder is not Explorer. It works differently and it will annoy you. Learn Cmd+Shift+. to show hidden files.

  2. The Dock is a trap. Hide it (System Settings → Desktop & Dock → Automatically hide and show the Dock) and use Raycast to launch everything.

  3. Time Machine is incredible. Plug in an external drive, enable Time Machine, and forget about it. Best backup system on any OS.

  4. Battery life is real. My M3 MacBook gets 14+ hours. But Chrome kills it — use Safari or Arc for better battery.

  5. Homebrew Cask installs GUI apps. You don't need to download .dmg files from websites. brew install --cask <app> handles it.


My Full Install Script

Here's roughly what I run on a fresh Mac:

`bash

Homebrew

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

CLI tools

xcode-select --install
brew install git node python3 ripgrep fd bat eza

Apps

brew install --cask visual-studio-code iterm2 rectangle docker raycast

Oh My Zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
`

Then I install TokenBar and Monk Mode from their sites, Stats from GitHub, and I'm basically set up within an hour.


Bottom Line

Mac for development is genuinely great once you get past the learning curve. The hardware is unbeatable (especially Apple Silicon), the Unix-based OS means your terminal skills translate directly to production servers, and the app ecosystem for developers is deep.

The biggest mistake new Mac users make is trying to make it work like Windows. Don't. Learn the Mac way — it's different, but once it clicks, you won't go back.

What apps did you install first when you switched? I'm always updating my setup.


I build macOS tools for developers. Check out TokenBar (AI token tracking) and Monk Mode (focus/distraction blocking).

Top comments (0)