Guix is neat
I'm running Guix on a 2010 Macbook Air, but this isn't about that experience, I'll cover that elsewhere, this just has to do with Guix more generally.
I don't know why it took me so long to circle back and try out Guix. It's kind of an alternative approach to NixOS. To boil it down to relevant high level details, Guix:
• is declarative
• has no SystemD -- Yes, the lack of SystemD is a feature.
• has heavy GNU leanings
• feels like a Flakes-first approach
• uses Guile Scheme (instead of Nix language)
This list is kind of a mixed bag, but I've put it in order of how I feel about them.
Declarative
It's declarative -- I've loved Infrastructure as Code since long before I started seeing it and IaC show up as buzzwords. I like doing a thing once and having it done. The fewer steps that need to be run by a human the better. I've been building packages and composing containers and generating VMs in Nix and it has been awesome. Neither the containers nor the VMs are bloated messes. There's none of that ridiculous fetching of someone else's base system and running through steps to add what's desired and rip out the unwanted stuff or cleaning up stupid droppings from a human having to tweak the system by hand. With Nix it's just the stuff that's been enumerated using Nix and the dependencies.
No SystemD
No SystemD is a very attractive feature -- I used Devuan and Artix for a while for this exact feature. I like the goal of SystemD unit file structuring, but I like nothing else about SystemD. My main dislike of SystemD has to do with a lack of choice and inflexibility to change it or swap things out.
GNU
The heavy GNU leanings mean that only free software is available. This is awesome from the perspective that I don't have to worry as much about what is landing in the system. This is less awesome in that I don't use a lot of GNU applications (outside of some core shell stuff) and I do not like info pages -- navigation is painful, the vi-bindings make no sense to me, and even when it's enabled I find I have to kill the info browser and start over again because I can't get back to the thing I was viewing from whatever black hole I've landed in.
Flakes-first
The flakes-first approach I think is only annoying because I'm used to dealing with what's in front of me and not some weird fetching-everything-from-some-git-repo-somewhere paradigm. It's going to be an adjustment and I'm going to have to learn Scheme anyway, so not knowing how to do flakey stuff will be swept under the carpet of the rest of what I need to learn.
Next steps
I need to see how to do the kind of packaging and building that I use for Infrastructure-as-code in my various projects. If that goes smoothly enough, I can consider moving some of my other systems over as well. It would be cool if I could put it on a box with coreboot, but I'll probbably do a pi next.
Tags: index, guix
Tags
Navigation