My MacOS Setup with Ansible


Ansible logo

I published a set of Ansible playbooks to setup, configure, and maintain my MacOS. They set up a full local development environment with a single command, but also provide specific commands to update more granular settings.

As a result, these playbooks take most of the effort out of installing and configuring everything manually.

Everything needed to use and customize these playbooks is documented in my repository. Feel free to explore, adapt, or copy code for your playbook!

📖 What you’ll get?

These playbooks will do four main tasks:

  • App installations: Command-line tools and applications installed with the fantastic Ansible’s Homebrew role by Jeff Geerling. It installs and configures packages, taps, and cask apps according to supplied variables.

  • zsh installation: The zsh role configures zsh and installs the configuration framework prezto.

  • Dotfile configuration: This role downloads the dotfiles from my dotfile repository and it symlinks them with Stow. It’s possible to replace this repository and use your own but make sure you’re using Stow. In addition, the role also configures vscode: you can change the installed extensions by modifying the supplied variables.

  • OSX configuration: The osx role runs a script to modify the default macOS preferences. I’m using the original script by Mathias Bynens.

🕹️ Credits and Inspiration

I first got the idea of starting this project from Sebastián Estrella’s repo. If you want to get started and create your Ansible roles, check out these GitHub repositories for more inspiration: