This collection includes helpful Ansible roles and content to help with macOS automation. I adapted this from geerlingguy's collection for my own use. For a good example of the original 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):
ryan-bell-gea.mac.homebrew
(documentation)
Install via Ansible Galaxy:
ansible-galaxy collection install ryan_bell_gea.mac_onboarding
Or include this collection in your playbook's requirements.yml
file:
---
collections:
- name: ryan_bell_gea.mac_onboarding
For a real-world example, see geerlingguy's 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: ryan_bell_gea.mac_onboarding
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:
homebrew_installed_packages:
- node
- nvm
- redis
- ssh-copy-id
- pv
homebrew_cask_apps:
- docker
- firefox
- google-chrome
- vlc
roles:
- geerlingguy.mac.homebrew
For a real-world usage example, see geerlingguy's Mac Dev Playbook.
See the full documentation for each role in the role's README, linked above.
MIT
This collection was adapted by ryan-bell-gea. The original was created by Jeff Geerling, author of Ansible for DevOps.