This Ansible playbook is neither flexible nor universal, it is a rigid and opinionated config that I myself use to provision my Mac
- Sign in to iCloud & App Store
- Open "System Settings" — "Sharing"
- enable "Remote Login" (or run
sudo systemsetup -setremotelogin on
) - notice "Local hostname" at the bottom, you can use it if the control node is on the same network
- enable "Remote Login" (or run
Warning
Don't forget to disable "Remote Login" on the managed nodes when you're done (unless you want it)
- Sign in to iCloud & App Store
- Install Apple's Command Line Tools (
xcode-select --install
) - Install Ansible, duh
ssh-copy-id
to the managed nodes (or use password authentication)- Populate the inventory file
- Run
ansible-galaxy install -r requirements.yml
- Run
ansible-playbook --ask-become-pass main.yml