4 ms·
Nix Getting a new machine requires a git pull, running nix rebuild / nix darwin rebuild and my machine is set up “exactly” the same as the other machine. Exact
by BFLpL0QNek 5y ago
Nix
Getting a new machine requires a git pull, running nix rebuild / nix darwin rebuild and my machine is set up “exactly” the same as the other machine. Exact configuration, exact versions of software, completely deterministic.
No running custom GNU stow scripts that I used to do. No fragile non deterministic Ansible playbooks that randomly fail.
The caveat, Nix requires a time/investment from a user to learn (search hacker news post for nix). It’s language can be a bit unusual if not used ML style languages, it’s paradigm is a bit different to what you probably know, documentation is sparse although there’s more of it now and a good few blog posts teaching it.
- kevincox 5y agoI do the same, it is fantastic. I have my work laptop, personal laptop and desktop using a nearly identical configuration (a tiny bit of extra software for work) and it is really a breeze. It felt amazing to install the new work laptop in well under and hour and having everything just work. No more slowly realizing that X hasn't been set up and Y hasn't been installed for the next month or two. I documented my steps to install a new machine publicly if anyone is interested. It isn't fully automated but a fairly small number of steps to get everything set up. https://kevincox.ca/2021/05/06/workstation-install-with-nixos/ https://kevincox.ca/2021/05/06/workstation-install-with-nixo...
- textinterface 5y agoI had read about Nix before, but had totally forgotten about it! I'm gonna give it a try. Thanks!