This collection includes helpful Ansible roles and content to help with macOS automation. For a good example of the collection's usage, see the Mac Dev Playbook.
Roles included in this collection (click on the link to see the role's README and documentation):
geerlingguy.mac.homebrew
(documentation)geerlingguy.mac.mas
(documentation)geerlingguy.mac.dock
(documentation)
Install via Ansible Galaxy:
ansible-galaxy collection install geerlingguy.mac
Or include this collection in your playbook's requirements.yml
file:
---
collections:
- name: geerlingguy.mac
For a real-world example, see my Mac Dev Playbook's requirements file.
Requires separate installation of the elliotweiser.osx-command-line-tools
role. Because Ansible collections are not able to depend on roles, you will need to make sure that role is installed either by manually installing it with the ansible-galaxy
command, or adding it under the roles
section of your requirements.yml
file:
---
roles:
- name: elliotweiser.osx-command-line-tools
collections:
- name: geerlingguy.mac
Here's an example playbook which installs some Mac Apps (assuming you are signed into the App Store), CLI tools via Homebrew, and Cask Apps using Homebrew:
- hosts: localhost
connection: local
gather_facts: false
vars:
mas_installed_app_ids:
- 424389933 # Final Cut Pro
- 497799835 # Xcode
homebrew_installed_packages:
- node
- nvm
- redis
- ssh-copy-id
- pv
homebrew_cask_apps:
- docker
- firefox
- google-chrome
- vlc
roles:
- geerlingguy.mac.homebrew
- geerlingguy.mac.mas
For a real-world usage example, see my Mac Dev Playbook.
See the full documentation for each role in the role's README, linked above.
MIT
This collection was created by Jeff Geerling, author of Ansible for DevOps.