# Mac setup for DevOps and SRE engineers

Source: https://ribbonformac.com/mac-setup-for-devops  
Updated: 2026-10-29

DevOps work on a Mac is mostly terminals, a browser full of dashboards, and chat. Homebrew installs nearly every CLI you need, Apple silicon runs containers well (with one architecture caveat), and the part that pays off most during an incident is a window layout where logs, graphs and the incident channel are all visible without digging.

## 1. Foundations

`xcode-select --install` for git and compilers, then [Homebrew](https://brew.sh/). Keep a `Brewfile` in your dotfiles so a new laptop is one `brew bundle` away.

## 2. The CLI kit

```
brew "awscli"
brew "azure-cli"
brew "kubernetes-cli"
brew "helm"
brew "k9s"
brew "kubectx"
brew "jq"
brew "yq"
brew "gh"
brew "mise"
```

Trim to the clouds you use, and add Google Cloud's CLI if you need it. Terraform moved to the BSL licence and installs from HashiCorp's own tap (`brew install hashicorp/tap/terraform`); the open-source fork OpenTofu is `brew install opentofu`. `mise` manages per-project tool versions (kubectl, terraform, node) from a `.mise.toml`.

## 3. Containers on Apple silicon

- **Docker Desktop**, **[OrbStack](https://orbstack.dev/)** (lighter; free for personal use, paid for commercial) or **Colima** (free, CLI) all run Linux containers in a lightweight VM.
- **The architecture caveat:** your Mac is arm64, many production servers are amd64. Build for production with `docker buildx build --platform linux/amd64`. Running amd64 images locally works through emulation but is slower.
- **Local Kubernetes:** kind, k3d, or the Kubernetes built into Docker Desktop or OrbStack.

## 4. SSH and secrets

- Generate an Ed25519 key with `ssh-keygen -t ed25519` and add `UseKeychain yes` and `AddKeysToAgent yes` under a `Host *` block in `~/.ssh/config`, so the passphrase lives in the macOS Keychain.
- Keep cloud credentials out of plain files where you can: `aws sso login`, short-lived tokens, or a password manager's CLI.

## 5. Terminal

Pick one terminal and learn its splits and tabs: Ghostty, iTerm2, WezTerm or kitty. Add tmux if you live on remote hosts and need sessions that survive disconnects. Which job belongs to tmux and which to your window manager is covered in [tmux or a window manager](https://ribbonformac.com/tmux-vs-window-manager-mac).

## 6. Layout for on-call and incidents

During an incident you want at once: a terminal or two (logs, kubectl), dashboards (Grafana, Datadog, your cloud console), the incident channel, and the runbook. That's five windows, and on a laptop they all overlap.

- **With an external monitor**, give dashboards the big screen and terminals the laptop, or the other way round. See [MacBook with an external monitor](https://ribbonformac.com/macbook-external-monitor-setup).
- **Pin chat** to one place: right-click Slack's Dock icon → Options → Assign To → This Desktop, so it doesn't follow you around.
- **Keep windows from covering each other.** This matters most under pressure.

[Ribbon](https://ribbonformac.com/) is a scrolling window manager that puts each window in a column on a strip wider than the screen. In an incident, the terminal, a dashboard, the incident channel and the runbook sit side by side; opening another dashboard adds a column rather than covering the terminal. Stack two terminals in one column with <kbd>⌃</kbd><kbd>⌥</kbd><kbd>]</kbd>, jump to any window with <kbd>⌃</kbd><kbd>⌥</kbd><kbd>1</kbd>–<kbd>9</kbd>, and each monitor gets its own strip. It's driven entirely from the keyboard (<kbd>⌃</kbd><kbd>⌥</kbd> plus a key) and has a `ribbon://` URL scheme and command-line tool for scripting. [Try it in the live demo](https://ribbonformac.com/#demo); [pricing](https://ribbonformac.com/#pricing) is $9.99 once. For more on terminals specifically, see [arrange terminal windows on a Mac](https://ribbonformac.com/arrange-terminal-windows-mac).

## FAQ

### Is a Mac good for DevOps work?

Yes. Homebrew covers the CLIs, containers run well on Apple silicon, and SSH and terminals are first class. Build images for amd64 explicitly if production runs on x86.

### Docker Desktop or OrbStack on a Mac?

Both run the same containers. OrbStack is lighter on resources and free for personal use but paid for commercial use; Docker Desktop is also paid for larger companies. Colima is a free command-line option.

### How do I run amd64 containers on an M-series Mac?

Pass `--platform linux/amd64`. They run under emulation, more slowly than native arm64 images.

## Keep reading
- [Mac setup for developers](https://ribbonformac.com/mac-setup-for-developers) — Homebrew, terminal, editor, launcher, windows and the settings to change on day one.
- [Arrange terminal windows](https://ribbonformac.com/arrange-terminal-windows-mac) — Tabs, splits and windows in each terminal, and keeping many sessions visible at once.
- [tmux vs a window manager](https://ribbonformac.com/tmux-vs-window-manager-mac) — Persistent sessions vs arranging every app, where they overlap, and using both.
- [MacBook + external monitor](https://ribbonformac.com/macbook-external-monitor-setup) — Arrangement, Spaces, moving windows between screens, clamshell mode and tiling.
- [Manage browser windows](https://ribbonformac.com/manage-browser-windows-mac) — Switching, merging, naming, profiles, tab groups, and keeping windows visible.
