Hacker News new | ask | show | jobs
by sigmonsays 851 days ago
it's interesting to me that the author didn't spend much time on home-manager or flakes. home-manager is apparently too complicated for OPs workflow which I could kinda see for simple things. But reproducibility is one of the strongest selling points of nix.

So.. that being said, you can setup home-manager to install and configure things from git. Using flakes makes it more reproducible.

These means that you can just git clone and 'home-manager switch' and setup everything from scratch.

I do this on both mac and linux machines (ubuntu 20) and quite often use the same nix expressions.

I'd highly recommend that workflow, since it's git, you can do anything you want. Go back a month via git on a branch and make that machine exist again.

It really makes managing software fearless

1 comments

I'm really interested in `home-manager` honestly, and while I agree about the benefits of declarative package management, I find it easier to type commands at a terminal like `nix profile upgrade pkg` or `nix registry pin nixpkgs`, with the guarantee of rollbacks.

Since when I'm editing a text file to update a package, I have to look for the latest version separately and copy/paste it into my editor. If I somehow mess it up the file is broken, while no harm is done I still find this workflow a bit brittle.

If there are home-manager commands I missed to do this, I'd be eager to give it a try. That kind of workflow would remind me of running `npm upgrade pkg` and have it reflected on a `package.json` file.