52
submitted 2 weeks ago* (last edited 2 weeks ago) by HaraldvonBlauzahn@feddit.org to c/linux@lemmy.ml

One aspect of Guix I found to be really fascinating: That there is basically no conceptual difference between defining a package as a private build script, and using a package as part of the system.

Let me explain: Say you wrote a little program in Python which uses a C library (or a Rust library with C ABI) which is in the distribution. Then, in Guix you would put that librarie's name and needed version into a manifest.scm file which lists your dependency, and makes it available if you run guix shell in that folder. It does not matter whether you run the full Guix System, or just use Guix as s package manager.

Now, if you want to install your little python program as part of your system, you'll write an install script or package definition, which is nothing else than a litle piece of Scheme code which contains the name of your program, your dependency, and the information needed to call python's build tool.

The point I am making is now that the only thing which is different between your local package and a distributed package in Guix is that distributed packages are package definitions hosted in public git repos, called 'channels'. So, if you put your package's source into a github or codeberg repo, and the package definition into another repo, you now have published a package which is a part of Guix (in your own channel). Anybody who wants to install and run your package just needs your channel's URL and the packages name. It is a fully decentral system.

In short, in Guix you have built-in something like Arch's AUR, just in a much more elegant and clean manner - and in a fully decentralized way.

you are viewing a single comment's thread
view the rest of the comments
[-] Shareni@programming.dev 10 points 2 weeks ago

The main disadvantages I've faced when trying it a few years ago:

  • non-free packages need to use a non-official channel
  • I had to install guixos through the iso provided by systemcrafters to have non-free drivers
  • I couldn't get any help from the official guix irc because I used the modified iso, even though the issue had absolutely nothing to do with it
  • there's significantly less packages in both than in nix, and they're usually seriously outdated (the docker package was behind Debian for example)
  • even when I enabled downloading precompiled bins, some packages like firefox and chromium would still compile all night long

At the time it was a great concept, but essentially useless for anything not Emacs/Haskell related.

[-] balsoft@lemmy.ml 6 points 2 weeks ago

Yep. I feel like Guix is surprisingly awesome and polished in a couple places, but mostly it's a very DIY distro, much more so than even NixOS.

[-] HaraldvonBlauzahn@feddit.org 3 points 2 weeks ago* (last edited 2 weeks ago)
  • non-free packages need to use a non-official channel
  • I had to install guixos through the iso provided by systemcrafters to have non-free drivers

Yeah. See, drivers are part of the hardware abstraction layer which in a Linux system is the Kernel. The kernel is GPL, so it is hard to get support for hardware with drivers without GPL, it does not conform Linux' license.

I, too, had also nothing but hassle with an NVidia graphics card in Debian. It was a happy day when I finally ditched it for a supported card and had a fully supported system!

The other thing... let's turn the question around. Would you:

  • expect from Apple that you get your Mac with The Gimp pre-installed?
  • From Microsoft that they pre- install LibreOffice and provide it for free in their app store?
  • Expect from IBM or Brother that they develop and give you free drivers for their competitor's hardware?
  • Expect from Google that they give you free LaTeX support?
  • Expect from Adobe that they host and staff tje Linux Kernel Mailing List for free?

If not - why do some people expect equivalent things from free software projects?

[-] Shareni@programming.dev 9 points 2 weeks ago

The kernel is GPL, so it is hard to get support for hardware with drivers without GPL, it does not conform Linux' license.

It's a violation that's not enforced, as almost all distros provide proprietary blobs. They balance ideology with usability, since they realised most people aren't going to use a librebooted ThinkPad from the 90s. If everyone enforced libre purism like GNU, desktop Linux would've been completely dead long ago. If you need proof, check usage statistics for any of the free distros.

I, too, had also nothing but hassle with an NVidia graphics card in Debian.

And did you need to install a modified iso to have WiFi? Did maybe Debian provide those nvidia drivers?

The other thing... let's turn the question around. Would you:

How is any of that relevant? This is not a question of additional software or services, but basic usability. Guixos as is, is for example essentially useless on a laptop unless you're willing to carry an external WiFi card in your pocket.

If not - why do some people expect equivalent things from free software projects?

The only expectation I have for an OS is to work on my devices, guixos does not. And even when I jumped through all of the hoops to get it working, I still needed to use nix to install most packages I need to work. So why would I use guixos+nix+flatpak instead of just running nixos?

[-] HaraldvonBlauzahn@feddit.org 4 points 1 week ago* (last edited 1 week ago)

The only expectation I have for an OS is to work on my devices

So maybe Guix System is not a good choice for you?

It has top-priority goals like reproducibility, capability to inspect and verify all source code, and providing a fully free system. These specific goals are not compatible with providing nonfree binary blobs in Guix-core. For example, depending on non-free binary blobs will block exactly reconstructing a system years later if these binaries are not available any more. Guix has scientific applications where reproducibility absolutely matters.

Also, I can unterstand if companies are hating it which just want to have a free ride and monetize efforts of other people. But for users, there are many many other options and distributions available. Why not chose one that matches your need better?

[-] Shareni@programming.dev 4 points 1 week ago

Also, I can unterstand if companies are hating it which just want to have a free ride and monetize efforts of other people. But for users, there are many many other options and distributions available. Why not chose one that matches your need better?

Why get mad about people comparing nix and guix, in a thread comparing nix and guix? Pointing out legitimate disadvantages is not hating. Maybe get off the internet for a bit and touch grass.

It has top-priority goals like reproducibility, capability to inspect and verify all source code, and providing a fully free system that is not compatible with providing nonfree binary blobs.

So does nix, nobody is forcing you to opt-in into non-free packages. And guix most certainly is compatible with non-free blobs, as that's how most people are using it. The only difference is that nix is supporting non-free packages instead of banning even talking about them.

[-] HaraldvonBlauzahn@feddit.org 3 points 1 week ago* (last edited 1 week ago)

And guix most certainly is compatible with non-free blobs, as that's how most people are using it [...]

~~I am not sure about that one and somewhat doubt there is hard data showing that.~~ The 2024 user survey also shows that a lot of people are using Guix as a package manager on top of another distribution, like Arch or Ubuntu or even NixOS. . If you have hardware that is not directly supported, this fixes the driver problem.

[-] beyond@linkage.ds8.zone 4 points 1 week ago

This

I use Guix as my "default" distro because I value software-freedom and reproducibility. It fits my needs very well, and I make sure to buy hardware that works with it instead of expecting it to work with whatever I throw at it. For my Windows gaming machine I use PopOS as the replacement OS instead of trying to beat Guix into serving that purpose, because PopOS is better suited for that role, and I have different expectations for it.

It's okay if something doesn't meet your needs, that doesn't make it bad, just means it's not the right thing for you. There's like hundreds of distros for Windows gamers, let us free software zealots have ours too please.

[-] HaraldvonBlauzahn@feddit.org 4 points 1 week ago

I make sure to buy hardware that works with it instead of expecting it to work with whatever I throw at it.

This is the way. Trying to get unsupported hardware to work under Linux in general is such a useless expense of time. In my experience, it is almost never worth it.

[-] paequ2@lemmy.today 4 points 1 week ago

1,000 times this.

looks at laptops with hidpi displays 👀

[-] paequ2@lemmy.today 3 points 1 week ago

non-free packages need to use a non-official channel

It's very easy to add additional channels and non-official channels integrate pretty well into everything. I don't really notice if a package comes from an "official" channel or "non-official" channel.

[-] Shareni@programming.dev 2 points 1 week ago

I didn't like using AUR when I ran arch, let alone some random repo with absolutely no oversight.

[-] greywolf0x1@lemmy.ml 2 points 1 week ago

https://toys.where-is.social/

Find different channels and substitute servers or create your own

[-] Shareni@programming.dev 3 points 1 week ago

Address not found.

Also, it doesn't change the fact you're depending on some random person's repo that is not moderated in any way.

this post was submitted on 22 Jul 2025
52 points (100.0% liked)

Linux

56988 readers
612 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS