[ prog / sol / mona ]

prog


GNU Guix considered harmful

1 2022-07-27 11:48

If you are interested in trying GNU Guix out, I would recommend you don't bother. I've never seen such a broken distribution in my life before. I'll give a quick summary of the problems, in no particular order:

Many packages are either broken or only work partially
There is no point in the supposed ``build once, stay forever'' philosophy, if the packages in the official repository... don't build (from what I've seen, there's not even verification for whether a commit to guix will make guix pull fail, so I'm not even surprised). Some packages don't work as intended - for example fcitx5, fails with the exact same variables and packages installed as on my previous system, to work in GTK/Qt programs at all. Is there a way to make it work? Maybe. Is it explained somewhere? Not that I know of.

Documentation
If you know what you're looking for, and where to look for it, it's alright. If you want to read it, or discover new features, or want to find something but you are not clear what section it is in, it's absolutely useless.

Help
For the numerous questions I've asked in the IRC channel (mainly on package definitions, that could later be included into guix itself if required), I got an answer two times - both on quite insignificant matters, like ``is substitute server down'' - ``yes'' - ``ok thx''. I once came with a question about a package definition I wrote, which built fine, but was missing a single piece of functionality - somebody more advanced could probably advise what needs to be changed, and then it could be added to the main repository. Instead, everybody was busy with a meta discussion on how they are all ``unpaid volunteers'' and so sad that people would rather point out the flaws, than help make things better. While ignoring somebody trying to make things a little better, right under their nose.
The help-guix mailing list is probably the only useful resource on guix, so if your question is not answered there, you are finished.

Choosing inferior option every time
Gnome over KDE, network-manager over connman, isc-dhcp over dhcpcd5, the list goes on and on and on and on.

Insane defaults and user antagonistic customization
Guix installer presents you a nice list of several options for graphical user session. All of them implicitly come with a login manager. Is there a way to choose X + startx combo from the installer? No. Should there be one? Yeah. I know it's possible to do by hacking on the configuration file manually, but I don't understand why it can't be included in the installer, especially since I've seen numerous people complaining about being forced to use login manager.

Shortcomings of implementation
Guix sounds good on paper, but usually fails in real-world applications. Installing packages per user sounds great, until you realize that there is zero accommodation for doing that in case of programs running as daemons, so you either have to add it to the system-wide configuration file (therefore enabling it for all users anyway), or get raped.

Getting package definitions right is hard
Maybe this is the reason so many packages don't work. Maybe the hostile ``if you want something, contribute, we're not doing it'' attitude is just because the ``unpaid volunteers'' CAN'T actually do it either. Maybe all the skilled people turn away from Guix after they get ignored when trying to contribute.

Nonfree packages policy
This is salvaged by 3rd party, therefore I would say it's still flaw in Guix system, since the official repository does not include non-free software (as expected of a project under flagship of GNU). I find it VERY ironic, that the only time I've had a problem with something from nongnu repository was when... guix repository had a commit that made the pull fail. I guess the higher quality of nongnu repo means that the people behind it are paid? It's a mystery.

Many useful packages missing
Most baffling being all the KDE/Qt packages, which gimps most of the ones that actually build from the repo, and makes it impossible to bring the more useful ones/ones that would ungimp the gimped packages over..

Whatever I forgot
Honestly, it's hard to remember every single instance of what annoyed me in Guix, since there are just so many. This is by no means an exhaustive list, it's just annoyances that stood out enough that they are at the top of my head.

To not be pessimistic, I have two things I can praise Guix for - using a real programming language for its package definitions, which is very welcome and makes it way easier to get into writing these yourself, and for making an additional display work on my computer. I suspect the latter might actually be to nonguix's credit, seeing as I'm using the kernel from there, but I'd like to believe...

I had come hoping for a very stable, yet flexible system with great possibilities, and instead got a half-baked, broken, unreliable system maintained by the same sort of people. My disappointment is immeasurable, and my days to come are ruined. Still slightly better than Ubuntu though.

Note: I'm using nonguix and nongnu interchangeably, although if we were pedantic they stand for sligthly different things - nonguix being the name of the repository (channel in guix parlance), while nongnu is the namespace packages are installed under on your system.

Note 2: The entire post is concerned with GNU Guix System, installed through the ISO from the official website. It's also possible to use Guix as a package manager on top of another system (therefore enabling you to use your distribution's package manager, and Guix at the same time), and while it might alleviate some of the issues listed here, it creates different ones, for example having to hack around with paths. This system/standalone split might be one of the reasons why Guix in general is so half-baked, but who knows.

37


VIP:

do not edit these