- cross-posted to:
- linux@programming.dev
- linux@lemmy.ml
- cross-posted to:
- linux@programming.dev
- linux@lemmy.ml
GNU Guix is a package manager that allows for transactional and deterministic software management and deployment. Guix System is an operating system based on the Guix package manager.
GNU Guix is completely source based down to the bootstrap level and can be installed on any Linux operating system.


Are there any good guides/tutorials for guix?
I liked the nix approach but some of the way it was managed (anduril) put me off it. I found the universal blue distros got closest to what I wanted to do in nix anyway, but if guix can get close to that experience I would like to check it out.
Guix System is still niche enough that finding real-world examples will be difficult, but not impossible if you are persistent. As @hello_hello@hexbear.net said, the documentation is very well done and comprehensive for the most part. Very few methods and properties are still undocumented, but they do exist and that can be a pain to navigate if you’re not prepared to dive into Scheme source code. I really appreciate David Wilson of System Crafters, he is very knowledgeable and a lot of his prior work with Emacs configuration was in my wheelhouse anyway. Same with David Thompson, who has contributed a lot of tools utilizing Scheme that were particularly relevant to my hobbyist sysadmin work. I think Guix, like Emacs, requires a very stretchy sort of mind to really take advantage of and get into, and it takes a long time to pay off. If universal blue is working for you, then I’d recommend just playing around with the package manager part of Guix first, and if you wind up liking it then try out the full Guix System.
+1 on using guix on a foreign distribution. It gives you some flexibility in how to set up software. For example, I’m on an asahi macbook so a lot of ARM platform packages on the default CI server haven’t been compiled or there isn’t support yet (for example openjdk on arm has no substitutes).
In those cases you can then decide to either package a binary release of said software or use containers, and if both of those don’t work then install distro packages systemwide.
The guix manual is a good starting point. SystemCrafters has articles on guix and guile but they’re more like blogs and can be outdated. Guix cookbook has some good examples to check out.
Guix source code is also a good way to learn, since most everything is written in self describing lisp you can learn by example. Theres a lot more rough patches in guix than what you’d get with nixos ootb, I’d recommend looking into universal blue first and then augmenting that with guix if you can.