I also use Ansible to setup Mac and not overkill at all.
On a new Mac, I install Homebrew, install ansible via Brew.
And then run an Ansible script which installs a series of Brew items (ansible has a brew module) along with other stuff not on brew.
> And then run an Ansible script which installs a series of Brew items (ansible has a brew module) along with other stuff not on brew.
Yes, this is what I have right now. I have it set up to install some non-Brew stuff as well (Chrome, Firefox, Whatsapp, etc.). I intend on using this even for my non-tech family's machines, ideally should just be 1 script to install `homebrew`, `pip` (or `uv` like the other fellow said) + Ansible, and then 1 script to install everything else via the brew module.