Ask HN: How do you set up a new dev machine? (2025 edition)
11 daryllxd 8 5/30/2025, 10:35:06 AM
Looking for ideas here! New machine will be on OS X. I am currently playing around with Ansible and for now I am able to set up much of the non-dev applications + `pnpm`, `ruby`, `go`. (I based a lot of it on https://github.com/geerlingguy/mac-dev-playbook as I wanted to learn Ansible anyway).
Thank you!
Anyway, for my Ansible environment for servers and network devices, I use uv[1]. It works flawlessly.
If I were doing things even more right, I'd host it in a container, but I don't have time for all that right now.
And nobody's mentioned Homebrew[2], yet.
PS: OS X is now called macOS, and at least in some parts, "OS X" is still used to refer to really old OS releases and may generate some confusion.
1. https://docs.astral.sh/uv/
2. https://brew.sh/
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.
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.
I picked shell scripts specifically because I didn't want the overhead of installing eg Ansible, even if its idempotency would be nice. I definitely like Ansible for DevOps on virtual machines, though, it's a solid platform.
I'm leaning towards Ansible as I wanted to learn it this year for VMs too. So there is some overlap with the local machines + am still on MacOS.
Curious why you went with fish over zsh? (Zsh is more common in my circles)
It's an excellent shell for interactive use. I would recommend writing actual shell scripts in Bash or good old POSIX shell however, if for no other reason than LLMs generate much better Bash code than Fish code. Zsh is similar enough to Bash that I haven't heard of it making much difference.
If it’s a working mac - by following corporate guides.
I wonder why complicate your life?
> I wonder why complicate your life?
I wouldn't say it's complicating life? I'm quite having fun tinkering around with it. I intend to use the playbook (or maybe Brewfile as one of my friends recommend that as well) for setting up future machines for my family and I.