💾 Archived View for gem.twunk.uk › log › 2024-01-29-setting-up-nixos.gmi captured on 2024-02-05 at 09:21:21. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Setting up NixOS

I got a new laptop (yay!), so I need to set it up. A good opportunity to try NixOS for the first time. Actually for the second time - the first time, a few years ago, I bounced off it almost immediately.

Miscellaneous thoughts on NixOS after having used in for just a couple of days (January 2024):

Overall, I maintain the position I had last time I tried NixOS which is that I really like the _core_ idea: a system where the configuration is fully described in a clean set of configuration files that can be versioned together and can include comments and basic abstractions and so on, and that in total can be built into a whole system image (or similar) and allow you to trivially try things out and revert back to previous configurations safe in the knowledge that you'll always end up with a perfectly "clean" system after your experiments. I like that idea, it's great. However, NixOS in practice has several problems: the configuration doesn't feel like it has a unified vision behind it of how things should work. The documentation is very lacking. Problems that everyone knows are problems have solutions that are widely known by the community but that haven't been actually curated properly and integrated back into the core, so every individual user is left to make a lot of technical choices about how to solve their problems, without adequate information to guide those choices (and frankly they're choices that mostly shouldn't be necessary anyway). And of course there's the whole thing of Nix being its own special programming language, though that doesn't bother me so much.

Anyway, this time I'm (so far - it's only been a couple of days) sticking with NixOS. Hopefully I can stick with it long enough to get real advantages from it. I am looking forward to gradually evolving and improving my system configuration over time and putting it in version control and, if I get comfortable enough with it, getting it to the point where I wipe my desktop and switch to NixOS there as well (and then I can actually keep configuration in sync between the two machines easily, at last!)