this post was submitted on 31 Dec 2023
6 points (100.0% liked)

Linux

47237 readers
3343 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 5 years ago
MODERATORS
 

Reposting because it looks like federation failed.

I was just reading about it, it sounds like a pretty cool OS and package manager. Has anyone actually used it?

top 27 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 8 months ago

Guix is almost like nix but with scheme, right? Any other differences?

I do like scheme. Nix is quite impressive. But my unpopular opinion is I am not convinced it's philosophy is necessary. Nix feels like a workaround to legacy baggage in POSIX to allow for all its features of full reproducibility of packages and the overall system. Although Gentoo is not exactly reproducible, I feel like the level of control is sufficient to give me the benefits I want.

Nix works for maybe 95% of cases, but the 5% where its workarounds do not work sre annoying to deal with. Gentoo on the other hand doesn't break so much from the traditional unix way of doing things, but still grants the user a great load of freedom and choice.

[–] [email protected] 2 points 8 months ago (1 children)

Parabola GNU/Linux-libre user here. On paper, GNU Guix System looks exactly what I want from an operating system. The problem I have with it is the software repository full of severely outdated packages. Heck, last time I checked GNOME was three major versions behind. This is a deal breaker for me. It's a downside that I don't see coming up often in discussions.

[–] [email protected] 0 points 8 months ago (1 children)

This is the case for me as well. I tried NixOS this weekend, and even though it has more adoption than Guix, it still does not have 100% coverage of all software I wanted. That said, the packages I did install were pretty up-to-date. I guess NixOS is as close to "critical mass" as we've got when it comes to this type of OS. But if I were a wizard devops type person with more time, I'd probably enjoy Guix more.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

It's a bit of a nitpick, but I'd argue there's more than one critical mass, and NixOS is already there for the purposes of tinkerers and some early adopters. General Linux people are next, and it's probably not quite there, which is I think what you're getting at.

Since it's the frontrunner as you point out, I have high hopes it will make it.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

I love it! I went all in on it about a year ago and haven't looked back ever since

[–] [email protected] 2 points 8 months ago

It's NixOS but more free and with scheme instead of nix

[–] [email protected] 1 points 8 months ago (1 children)

I tried and failed to install it on my laptop last year. Couldn't figure out the problem and went back to pop. I'm messing around with it in a vm, though, and liking it a lot. I may try again when I have some more time to troubleshoot.

[–] [email protected] 0 points 8 months ago (1 children)

it may be because you were using the default libre kernel, which is missing lots of microcode for your drivers. You need to add a substitute binary server that points to non-guix, which you can then use to supplant the libre kernel with the mainline one.

[–] [email protected] 0 points 8 months ago (1 children)

I thought that, but I had identical results using the stock install media and the modified nonguix one from systemcrafters.

The weird thing was that the initial install went fine, even after the first reboot. The problem was the next boot after my first system reconfigure.

Not only could I not boot my system after that, but I couldn't boot the install media either. The only thing that would work was the installer for the most recent pop os.

[–] [email protected] 0 points 8 months ago (1 children)

That sounds like a BIOS issue. I sometimes get these on my laptop where I installed an EFI partition but my laptop was in some legacy mode, and I need to fiddle with my boot options and disable various features until the system "sees" the boot partition in the same way the OS "saw" it

[–] [email protected] 0 points 8 months ago (1 children)

I was thinking something to do with nonvolitile memory.

The real problem was that the guided install - guix pull - system reconfigure - reboot process took about three to four hours each time, so I gave up after a few iterations.

I did try playing around with bios settings a little, but I'm sure I missed some possibilities.

[–] [email protected] 0 points 8 months ago (1 children)

guix pull - system reconfigure - reboot process took about three to four hours each time,

That's exceptionally long. Could it be that you were building every tool from scratch, and weren't using any binary servers?

[–] [email protected] 1 points 8 months ago

I'm pretty sure I was set up for substitutes, but this was a while ago.

I did end up replacing my router a few months after that, so it may have just been that my connection was very slow.

Also, every time I tried it and it didn't work, I had to do a full Pop Os install in order for myguix install media to start working again, which added a few minutes to the process.

[–] [email protected] 1 points 8 months ago

I absolutely love it, and I'm never going back to an ordinary distribution again. I do fine regarding software. I use standard channels, non-free channel, flatpaks and a few appimages. I can't think of anything i'm missing atmo..

[–] [email protected] 0 points 8 months ago (1 children)

I tried it out one single time and it failed to install or update or something. Had to then find all the places it had inserted itself into in my system. Later I found out it's based on some LISP variant. Even later I found out you can't install firefox with it because of gnu or something?
That all combined dissuaded me from touching it again.

nix has terrible documentation, but it's kinda worked for me, so I'm sticking with it.

[–] [email protected] 0 points 8 months ago (1 children)

Later I found out it’s based on some LISP variant.

Wait how did you find out it was written in Scheme after you installed it? Sounds like someone didn't do their research.

firefox

Mozilla is picky with where their trademark is being used, not a "GNU specific" problem, it had affected Debian for years before Mozilla backed off. Guix instead uses GNU Icecat which is a completely libre web browser that doesn't run proprietary JS by default. Of course you can still install Firefox since Guix community members have already packaged it in their own channels.

nix has terrible documentation

One thing that Guix excels at.

[–] [email protected] 0 points 8 months ago (1 children)

Wait how did you find out it was written in Scheme after you installed it? Sounds like someone didn’t do their research.

Yes, I read all specs before installing anything I ever use. Before using the internet I researched the entire IP stack, studied computer science, and am right now using smokes signals captured by a camera at exactly 1 FPS to encode my bits so that you can read them.

🙄

One thing that Guix excels at.

L
M
A
O

[–] [email protected] -1 points 8 months ago* (last edited 8 months ago) (1 children)

Yes, I read all specs before installing anything I ever use.

It's literally in the front page of the project. https://guix.gnu.org/

Hackable. It provides Guile Scheme APIs, including high-level embedded domain-specific languages (EDSLs) to define packages and whole-system configurations.

No idea how you survive Nix's scattered documentation.

L
M
A
O

lmao.

[–] [email protected] 0 points 8 months ago* (last edited 8 months ago)

Hackable. It provides Guile Scheme APIs, including high-level embedded domain-specific languages (EDSLs) to define packages and whole-system configurations.

"provides Guile Scheme APIs". Yeah, I provide this software in Slint. This software provides Linux APIs. This software provides HTTP APIs. kek

What a helpful description.

No idea how you survive Nix’s scattered documentation.

Nix's documentation doesn't try to invent a new way to say "this was written in $language" and has less members like you around. Much easier to deal with.

CC BY-NC-SA 4.0

[–] [email protected] 0 points 8 months ago (1 children)

It's like Nix but has some extra features and uses Scheme instead of a custom language.

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

That's barely an opinion, haha! That's pretty much just what it is.

[–] [email protected] 0 points 8 months ago* (last edited 8 months ago) (1 children)

These two posts are really enlightening:

How I Built My New Linux Gaming Desktop In 2021 With Amd Cpugpu And Gnu Guix

I Love Arch But Gnu Guix Is My New Distro

From the last, there is a non guix project including packages for guix, which are not officially supported given hey are not free software. I recommend taking a look at the last post at least, since it comes from someone who used Arch, and made the move to Guix, not just opinions from people like me, who haven't ever used Guix.

That said, Guix is in my TODO list. The thing is that I want to learn a bit more than minimal Guile, so I can write packages myself (there are always missing packages, even on Arch/Artix + AUR, I always have the need to whether tweak something at some point, or create a package still not in there), and also deal with my own services to run with shepherd. So I don't want to blindly try things out...

It shares with Nix the reproducible build of everything, but the language it uses is Guile, which has some history. Nix has its own language. To me that's a plus on Guix. But the most important part, is that the official repos are all for free software, and then on the non guix project one can look for non free software pieces, which to me this is also a plus. I guest most might differ.

But again, if you want to try it, even if it's just because of curiosity, why not doing it so? I hope those prior posts from someone who migrated there might be helpful.

[–] [email protected] 1 points 8 months ago

Yes, that's a great review! Having one language for everything also sounds pretty great. A hard line on nonfree software is pretty tough, but I'm glad to hear you can "downgrade" back to the Linux kernel if you need to deal with a GPU or something.

[–] [email protected] 0 points 8 months ago* (last edited 8 months ago) (1 children)

So I think Guix (and Nix) is the most technologically advanced package manager in existence, and I hope someday all package managers work like Guix.

One other very interesting feature about Guix ~~(which I don't think Nix is doing yet)~~ (which Nix also does) is that they have implemented a fully verifiable bootstrap, meaning every step of building the kernel, including the steps taken to build the C compiler toolchain, are produced by code that is simple enough for a group of humans to check for correctness and safety. Also, every step of the build process exists in the package repository, with no reliance on externally built binaries for anything, not even the C compiler toolchain. They accomplish this with a multi-phase bootstrap process, where a smaller, simpler C compiler is used to build GCC.

Do I use Guix? Well, no. Simply put, it is not quite to the point where it just works on a lot of the computer hardware that I own. With a bit more work, with a few more developers, and a bit more money invested, Guix could pretty soon become as reliable and useful as Debian or Fedora. But it is not quite there yet. And frankly, I have other more important things to do than worry about debugging problems with the operating system I am using.

[–] [email protected] 0 points 8 months ago (1 children)

meaning every step of building the kernel, including the steps taken to build the C compiler toolchain, are produced by code that is simple enough to check for correctness and safety.

Full-source bootstrap isn't about just the kernel, it affects every piece of software. With GUIX and Nix, every single package can be fully traced back to the bootstrap seed.

Though it should be noted that you do require a running Linux kernel on an x86 machine in order to bootstrap.

it is not quite to the point where it /just works/ on a lot of the computer hardware that I own.

Unless we get some serious money, effort and/or regulation w.r.t. OSS firmware, that will likely never be the case.
That has nothing to do with its technology though, that's a political issue. GUIX is a GNU project and acts like proprietary software does not exist/is not a basic necessity in 2023.

[–] [email protected] 1 points 8 months ago

GUIX is a GNU project and acts like proprietary software does not exist/is not a basic necessity in 2023.

Gross oversimplification, Guix absolutely knows that proprietary software exists, but also Guix is a project that values transparent build process (unlike Nix, which allows binaries and nonfree packages).

If you don't have the requisite bare metal to run Guix by itself, you can run it as a foreign package manager (on top of your existing distribution), in a virtual machine, or alongside package channels outside of guix that package nonfree software.

The linux-libre kernel is only an issue for Guix System (the analogue to NixOS for Nix) and for users who need that specific hardware to be used. Guix is a breath of fresh air in package managers who attempt to sweep nonfree software under the rug and try to make the issue invisible.

[–] [email protected] -1 points 8 months ago

Nobody has mentioned that Guix is readily available on NixOS right now? Add a line to your config and it's ready to go. Compatible with everything else.