Skip to content

tthoma24/ansible-macos-playbook

Repository files navigation

Ansible macOS Playbook

This is the playbook I use after a clean install of macOS to set everything up.

Roles/Tasks

  • Installs Homebrew packages and app casks (Role homebrew)
  • Installs MacPorts packages (Role macports)
  • Installs App Store apps with mas-cli (Role mas)
  • Modifies MacOS settings (Role settings)
  • Changes the user shell, if configured (Role shell)

Usage

  1. Install Homebrew or MacPorts.
  2. Install Python (brew install python) or (sudo port install python38)
  3. Install Ansible (pip3 install ansible) or (sudo port install py38-ansible)
  4. Copy default.config.yml to config.yml and edit the configuration to your likings.
    • Don't skip this, otherwise your computer will be provisioned like mine :)
  5. Install external roles with ansible-galaxy install -r roles/requirements.yml
  6. Run ansible-playbook main.yml. Enter your account password when prompted.
    • If you have a configuration stored elsewhere (e.g. in a dotfiles folders), run ansible-playbook main.yml --extra-vars=@/path/to/my/config.yml

Updating a fork with the latest changes from this repository

If you forked this repository and want to include its latest changes without losing your own, add this repository as an upstream and rebase it onto your fork:

git remote add upstream [email protected]:tthoma24/ansible-macos-playbook.git
git fetch upstream
git rebase upstream/master

Acknowledgements

This playbook is a fork of Jerome Gamez's ansible-macos-playbook

This playbook is heavily inspired by Jeff Geerling's mac-dev-playbook.

The macOS settings (a.k.a. defaults writes) are mostly taken from Mathias Bynens' defaults scripts or from one of the dotfiles repos from http://dotfiles.github.io, but some I wrote on my own.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages