What does HackerNews think of mac-dev-playbook?
Mac setup and configuration via Ansible.
Then for more systemwide configuration, I have an Ansible playbook I run every now and then (configures apps, dock item order, etc): https://github.com/geerlingguy/mac-dev-playbook
a well loved and maintained ansible playbook for macs.
Just FYI
I started from this and customized it to my needs: https://github.com/geerlingguy/mac-dev-playbook
Definitely not saying one way is better than the other, but as I've gone deeper into _needing_ to use more than one Mac, it's been easier to manage things with Ansible (which helps me maintain idempotence and uniformity between machines more easily). But if I were managing one Mac, I would probably lean further towards the simplicity of a script like this one.
Makes it a lot simpler to do a clean OS install every upgrade, and to make sure all three of my Macs are perfectly in sync!
See: https://github.com/geerlingguy/mac-dev-playbook
Once you start using VMs and/or containers for your development, you'll stop worrying about environments and breaking things :)
I only assume the reader has basic command-line familiarity, but I try to make the writing approachable for both newer admins and veterans.