Live data from Hacker News

Show HN: Home Maker: Declare Your Dev Tools in a Makefile

thottingal.in

31–40 of 71 posts

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#32

Or just use nix with home manager. Battle tested, lots of built-in functionality, works perfectly. Author claims the learning curve for it is weeks, but I had my setup up and running in a 1-2 hours at most and have been super happy with it.

This must be a different "just" from the just I'm used to!

Weeks sounds way more accurate than 1-2 hours.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#33

If you haven’t tried it, I highly recommend Mise. It manages everything at the user level so it’s not as “all encompassing” as Nix and is readily compatible with immutable distros. https://mise.jdx.dev/ Your solution is akin to putting your dotfiles in the code repo, which is going to cause issues with languages with poor version compatibility (such as node and python) when switching between old projects. Also, bold…

Question about Mise: Does it manage checksums or a lock file per environment somewhere? I scrolled through the getting started page and didn't see anything at first glance.

Releases are signed, but lockfiles are not commonly used for this purpose. For your home env you'll usually want the latest version of every tool.

When installing tools, or via mise.toml, you can define version ranges with the precision you'd like - "3" / "3.1" / "3.1.2".

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#34

Or just use nix with home manager. Battle tested, lots of built-in functionality, works perfectly. Author claims the learning curve for it is weeks, but I had my setup up and running in a 1-2 hours at most and have been super happy with it.

This must be a different "just" from the just I'm used to! Weeks sounds way more accurate than 1-2 hours.

Now with LLMs it's even easier. Writing nix code is hard, but reading it is straightforward because it's declarative, so you can easily review what an LLM produces. And it's not much code either, a simple home manager setup is maybe 100 lines total.

1. Install nix / determinate nix

2. Tell your favorite llm to set up https://github.com/nix-darwin/nix-darwin with home manager if you are on mac, or just home manager if you are on linux

3. Review the code and ask for clarifications

You'll have a set up in 20 minutes.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#35

Earlier quoted context omitted.

This must be a different "just" from the just I'm used to! Weeks sounds way more accurate than 1-2 hours.

Now with LLMs it's even easier. Writing nix code is hard, but reading it is straightforward because it's declarative, so you can easily review what an LLM produces. And it's not much code either, a simple home manager setup is maybe 100 lines total. 1. Install nix / determinate nix 2. Tell your favorite llm to set up https://github.com/nix-darwin/nix-darwin with home manager if you are on mac, or just home manager if…

Ah yeah I wouldn't count that as being a small learning curve because you haven't actually learnt anything.

Valid approach though I guess.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#36
There's already a bunch of comments about Nix, so I don't want to repeat them, but really Nix is less complex than a handcrafted series of Makefiles, and significantly more versatile.

With home-manager I have the same packages, same versions, same configuration, across macOS, NixOS, Amazon Linux, Debian/Ubuntu... That made me completely abandon ansible to manage my homelab/vms.

Also adding flake.nix+direnv on a per project basis is just magical; I don't want to think how much time I would have wasted otherwise battling library versioning, linking failures, etc.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#38

If you haven’t tried it, I highly recommend Mise. It manages everything at the user level so it’s not as “all encompassing” as Nix and is readily compatible with immutable distros. https://mise.jdx.dev/ Your solution is akin to putting your dotfiles in the code repo, which is going to cause issues with languages with poor version compatibility (such as node and python) when switching between old projects. Also, bold…

Question about Mise: Does it manage checksums or a lock file per environment somewhere? I scrolled through the getting started page and didn't see anything at first glance.

Mise supports lock files but also validates checksums when possible.

Re: Show HN: Home Maker: Declare Your Dev Tools in a Makefile

#40
My approach might be an outlier, but I’ll share since it’s a bit more platform agnostic.

I do almost all of it work in the terminal, so I had already been using chezmoi to manage my dotfiles for a few years. Eventually I added an Ansible bootstrapping playbook that runs whenever I setup a new environment to install and configure whatever I like.

I’m already living & breathing Ansible most days so it wasn’t a heavy lift, but it’s a pretty flexible approach that doesn’t bind me to any specific type of package manager or distro.

Post reply on HN