Settings

Theme

Ask HN: How do you set up a new dev machine? (2025 edition)

11 points by daryllxd 7 months ago · 10 comments · 1 min read


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!

hiAndrewQuinn 7 months ago

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.

  • daryllxdOP 7 months ago

    Awesome, I think this is kind of what I am going for re: the goodies. I am a tmux guy as well but will try them out.

    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)

    • hiAndrewQuinn 7 months ago

      Honestly, fish just has a much nicer user experience OOTB for me than anything else I've used. The way it colors commands, arguments etc automatically was what sold me on it more than anything.

      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.

runjake 7 months ago

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/

cpach 7 months ago

For me, the most important part would be to import my dotfiles/custom scripts via chezmoi. And installing Homebrew. The rest (e.g. install Firefox) I would probably do manually.

aristofun 7 months ago

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?

  • daryllxdOP 7 months ago

    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.

mousetree 7 months ago

Brewfile

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection