gitwtfhub

wtf is mac-dev-playbook?

geerlingguy/mac-dev-playbook — explained in plain English

Analysis updated 2026-06-24

6,965ShellAudience · developerComplexity · 3/5Setup · moderate

TL;DR

An Ansible automation playbook that installs and configures a full developer Mac setup in one command, covering apps, CLI tools, and system preferences, designed to be forked and customized for your own workflow.

Mindmap

mindmap
  root((repo))
    What it does
      Automate Mac setup
      Install dev tools
      Apply system prefs
    Tech Stack
      Ansible playbook
      Shell scripts
      macOS
    What Gets Installed
      CLI tools
      Desktop apps
      Dotfiles config
    Use Cases
      New Mac setup
      Remote Mac setup
      Repeatable config

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Set up a brand new Mac with all your developer tools and apps automatically by running a single command.

REASON 2

Fork the playbook and customize it to create your own repeatable Mac setup you can reuse after every reinstall.

REASON 3

Provision a remote macOS machine over SSH with a consistent developer environment without sitting at the machine.

REASON 4

Keep your Mac tools and settings versioned in git so you can track what changed over time.

What's in the stack?

AnsibleShellPythonmacOS

How it stacks up

geerlingguy/mac-dev-playbookgit-quick-stats/git-quick-statsoracle/docker-images
Stars6,9656,9726,972
LanguageShellShellShell
Setup difficultymoderateeasyhard
Complexity3/51/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires installing Ansible before running, defaults are the author's personal config and need customization to match your own preferences.

License not specified in the explanation.

Wtf does this do

This repository contains an automated Mac setup script that installs and configures a developer's tools and applications in one pass. The author, a web and software developer, uses it to get a new or wiped Mac ready for work without manually installing and tweaking dozens of programs one by one. The automation is built on Ansible, a tool that lets you describe what software and settings a computer should have, then applies those descriptions to reach that state. You run a handful of commands to get Ansible set up, then a single command runs the playbook and handles the rest. It installs command-line tools, desktop applications, programming language runtimes, and system preferences. The default setup includes common developer applications like Docker, Slack, Google Chrome, Firefox, and Sublime Text, along with a long list of command-line tools such as Git, Go, Node, PHP, and various networking utilities. It also applies the author's personal configuration files, known as dotfiles, and configures macOS system settings. All of these defaults can be overridden: you create a personal configuration file and list only the packages and apps you want, without modifying the main playbook. The playbook can also be pointed at a remote Mac over SSH, not just the machine you are sitting at. That makes it usable for setting up a cloud-hosted Mac or another machine on your network. The repository is one person's personal setup, shared publicly so others can fork it and adapt it to their own needs. The README includes a detailed from-scratch setup guide for those who want a complete reference. The project is tested automatically on GitHub Actions using real macOS infrastructure, so changes can be verified without wiping a physical machine.

Yoink these prompts

Prompt 1
Help me fork geerlingguy/mac-dev-playbook and change the defaults to install VS Code, iTerm2, Python, and Node.js instead of the author's preferred apps.
Prompt 2
I want to add my own dotfiles to the mac-dev-playbook setup. Show me how to point the playbook at my dotfiles repository.
Prompt 3
Walk me through running geerlingguy/mac-dev-playbook on a fresh Mac from scratch, including installing Ansible before the playbook runs.
Prompt 4
How do I add a new Homebrew cask like Figma to the mac-dev-playbook and verify it with GitHub Actions before running it on my machine?
Prompt 5
I want to use mac-dev-playbook to provision a remote Mac mini over SSH. What configuration changes do I need to make?

Frequently asked questions

wtf is mac-dev-playbook?

An Ansible automation playbook that installs and configures a full developer Mac setup in one command, covering apps, CLI tools, and system preferences, designed to be forked and customized for your own workflow.

What language is mac-dev-playbook written in?

Mainly Shell. The stack also includes Ansible, Shell, Python.

What license does mac-dev-playbook use?

License not specified in the explanation.

How hard is mac-dev-playbook to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mac-dev-playbook for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.