Setting up a new Mac
The order that turns a fresh machine into a working one. Tick apps as you go and leave with a ready Brewfile.
A 12-step checklist for a new Mac: macOS updates, Xcode Command Line Tools, Homebrew, essential CLI tools, terminal and shell, an SSH key, git config, everyday apps, system tweaks, security, and backups. Apps from the steps collect into a personal Brewfile.
- Step 1
Update macOS and learn your hardware
Start from a clean base: install pending system updates and note two facts about the machine — the macOS version and the CPU architecture. The architecture decides your Homebrew path and half the instructions you will find online.
softwareupdate --list - Step 2
Xcode Command Line Tools
Compilers, git, and headers nearly everything else depends on. The Homebrew installer pulls them in anyway, but doing it up front is faster and more predictable. The full Xcode from the App Store is only needed for Apple-platform development.
xcode-select --install - Step 3
Homebrew
The package manager everything else is installed through. Right after the install, add brew to your PATH — that is the forgotten step behind the classic "command not found" reply.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"Apps for this stepHomebrewThe macOS package manager - Step 4
Essential CLI tools
A current git instead of the system one, gh for GitHub from the terminal, jq for JSON, ripgrep and fzf for instant search through code and history. This set pays for itself on day one.
brew install git gh jq wget ripgrep fzf tree htopCLI tools for this step - Step 5
Terminal
The stock Terminal.app works, but you will spend hours in it. Pick one: Ghostty is the fastest and leanest, iTerm2 offers the deepest settings and a decade of trust, Warp brings blocks and AI suggestions.
- Step 6
Shell and dotfiles
macOS already ships zsh — the job is making it comfortable: history suggestions, syntax highlighting, and an informative prompt. Keep ~/.zshrc in a git repo and the next Mac is five minutes of work.
brew install starship zsh-autosuggestions zsh-syntax-highlightingCLI tools for this step - Step 7
An SSH key for GitHub
Ed25519 instead of legacy RSA. The second command drops the public key straight into the clipboard — paste it into GitHub or GitLab settings. The private key never leaves the machine.
ssh-keygen -t ed25519 -C "[email protected]" && pbcopy < ~/.ssh/id_ed25519.pubCommands for this stepList SSH keys - Step 8
Global git config
Your name and email land in every commit, so set them before the first one instead of rewriting history later. While you are there, make main the default branch.
git config --global user.name "Your Name" && git config --global user.email "[email protected]" && git config --global init.defaultBranch main - Step 9
Everyday apps
Five programs that feel like missing parts of the OS: a launcher that replaces Spotlight, keyboard window management, clipboard history, a real window switcher, and fast annotated screenshots.
- Step 10
System tweaks
Five settings the Settings app does not offer: visible hidden files, an instant Dock, the path bar in Finder, a dedicated screenshots folder, and no .DS_Store on network shares. Every command has a documented revert on the commands page.
- Step 11
Security
Turn on FileVault (without disk encryption a stolen laptop means stolen data) and the firewall, set up a password manager, and add LuLu if you want a say in outbound connections. Three commands tell you the current state.
- Step 12
Backups
The last step, done first only by people who have already lost data. Attach a Time Machine disk or a network target — the command shows where the system is backing up right now.
tmutil destinationinfo
Contact Information
Submit a request or write to me directly on Telegram. I'll reply within 24 hours.