// the find
geerlingguy/mac-dev-playbook
Mac setup and configuration via Ansible.
An Ansible playbook by Jeff Geerling (author of 'Ansible for DevOps') that automates Mac dev environment setup — Homebrew packages, cask apps, dotfiles, macOS defaults, and App Store installs via mas. Primarily his personal setup, but structured so you can layer your own config.yml on top without forking. Aimed at developers who want repeatable Mac provisioning.
The config override pattern (default.config.yml + your config.yml) is clean — you get updates from upstream without merge conflicts on your customizations. CI runs against real GitHub Actions macOS runners, so breakage gets caught before you run it on a new machine. The from-scratch guide (full-mac-setup.md) documents the pre-Ansible manual steps that automation genuinely can't handle, which saves you from discovering them mid-run. Actively maintained — last push was four days ago.
This is one person's personal setup first, a general-purpose tool second. The default package list (ChromeDriver, Handbrake, nvALT, Sublime Text) tells you whose Mac this is, and if you fork for your team you'll spend the first hour stripping defaults. No multi-user or team workflow story — sharing a base playbook across a team of five with different toolchains is left entirely to you. The Ansible bootstrap step still requires sudo pip3 and manual PATH manipulation before any automation kicks in, which is the most fragile part of any Mac provisioning story and hasn't been solved. mas (Mac App Store CLI) requires the apps to already be purchased on the Apple ID running the playbook, so App Store automation silently fails for anyone on a new account.