Ask HN: How do you set up a new dev machine? (2025 edition)
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!
First, using Ansible for setting up a single Mac is way overkill. Jeff's only doing it because he literally wrote the book on Ansible. For a single Mac where you want reproducible, just use shell script(s).
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/
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.
For Ubuntu, not Mac, but I maintain a set of 3 shell scripts over at https://github.com/hiAndrewQuinn/shell-bling-ubuntu that put 95% of everything I use on an everyday basis.
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.
By restoring from previous machine’s time machine backup apparently.
If it’s a working mac - by following corporate guides.
I wonder why complicate your life?
Hey, thanks - I don't think it's a good idea to time machine my personal laptop to my new work laptop. And definitely I would try to follow the guides if the company has them.
> 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.