Live data from Hacker News

I Love Arch, but GNU Guix Is My New Distro

boilingsteam.com

21–30 of 318 posts

Re: I Love Arch, but GNU Guix Is My New Distro

#21
post #15

A question that nags me every time Guix comes up, or nix, is about the benefits relative to a normal distro on something like ZFS. Are reproducible builds ever going to be all that important to a user? Rollbacks seem like the key feature here and that seems much better left up to the filesystem, not the package tools. This way your storage is also aware of what you're doing.

> Are reproducible builds ever going to be all that important to a user? Being able to take your setup with you to a new computer is pretty cool, right?

Yes, but not sure that is enough value for non developers. For developers being able to easily use different versions of tools in different projects reliably is a game changer

Re: I Love Arch, but GNU Guix Is My New Distro

#22

A question that nags me every time Guix comes up, or nix, is about the benefits relative to a normal distro on something like ZFS. Are reproducible builds ever going to be all that important to a user? Rollbacks seem like the key feature here and that seems much better left up to the filesystem, not the package tools. This way your storage is also aware of what you're doing.

A couple of things - if the system can handle rollbacks it will be much more reliable than using the fs, as the fs knows nothing about actual state. It knows about blocks commited to disk. Usually they look the same, but not always.

Then there’s the question of how exactly you reached this state. Having nixos generations is like having an event stream of all changes. Apply your backup to a new machine, what happens? Who knows.

In nixos/guix it’s not about only ”package tools”, it’s about treating the complete system and its state as a coherent whole.

Once I got the taste of it I see no way back to opaque packages, managed by config tools with no concept of state.

And if you’re a dev - shell.nix and declarative containers ftw.

Re: I Love Arch, but GNU Guix Is My New Distro

#23
post #20

Is there a reason neither Guix nor Nix have made an LTS-type repo? A rolling release seems at odds with the stability granted by reproducible builds. Maybe I have a miopic view, but what's nice with Ubuntu LTS is you know everyone and their mothers has built and tested their packages/libraries/executable against the lib versions provided by Ubuntu 18.04 or 20.04 or whatever. You also know those libs, at their given v…

I'd guess a lack of hands. Maintenance is the expensive and boring part of a distro. And seriously, why should an unpaid volunteer help to maintain a stable foundation for all the companies that rely on, e.g., Ubuntu 18.04?

I wonder if one could create a business out of supporting such distributions against a comparatively small fee.

Re: I Love Arch, but GNU Guix Is My New Distro

#24
post #4

> In short, GNU Guix is both a package manager you can use in any distro and a full-fledged GNU/Linux distribution, that is modern and advanced Why not just use Nix, which is more battle tested?

Author is a lisper, is a good reason. And while nix may be battle tested that doesn’t translate to a good experience, the learning curve is high and the documentation while plentiful is not really good or helpful to beginners. Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.

> Author is a lisper, is a good reason.

If I read this on any other website I’d assume it’s sarcasm. Only on HN, folks.

Re: I Love Arch, but GNU Guix Is My New Distro

#25
post #24

Earlier quoted context omitted.

Author is a lisper, is a good reason. And while nix may be battle tested that doesn’t translate to a good experience, the learning curve is high and the documentation while plentiful is not really good or helpful to beginners. Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.

> Author is a lisper, is a good reason. If I read this on any other website I’d assume it’s sarcasm. Only on HN, folks.

... why would other sites not count "Guix uses a language the author might already be more comfortable with" as an argument for why the author might prefer Guix?

Re: I Love Arch, but GNU Guix Is My New Distro

#27
> Guix System is an advanced distribution of the GNU operating system. It uses the Linux-libre kernel

It's worth pointing out that the linux-libre kernel is developed under the FSF doctrine that "binary blobs are bad unless you can't see them". This has been taken to its logical extreme here, where this Linux fork actively removes security warnings informing users that they need to update their CPU microcode, because microcode in ROM is fine but dynamically loaded microcode updates are not, in this school of thought.

https://lists.gnu.org/archive/html/info-gnu/2018-04/msg00002...

I have no interest in software that uses arbitrary religious dogma (that doesn't help users' freedom, as those users' CPUs have proprietary microcode whether they know about it or not) to justify censoring critical security vulnerability notifications for users. I regard this as actively evil anti-user behavior.

Re: I Love Arch, but GNU Guix Is My New Distro

#28
post #24

Earlier quoted context omitted.

Author is a lisper, is a good reason. And while nix may be battle tested that doesn’t translate to a good experience, the learning curve is high and the documentation while plentiful is not really good or helpful to beginners. Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.

> Author is a lisper, is a good reason. If I read this on any other website I’d assume it’s sarcasm. Only on HN, folks.

It's curious how the world rejects lisp so fast, I guess they have a lot of energy to waste.

Re: I Love Arch, but GNU Guix Is My New Distro

#29
post #20

Is there a reason neither Guix nor Nix have made an LTS-type repo? A rolling release seems at odds with the stability granted by reproducible builds. Maybe I have a miopic view, but what's nice with Ubuntu LTS is you know everyone and their mothers has built and tested their packages/libraries/executable against the lib versions provided by Ubuntu 18.04 or 20.04 or whatever. You also know those libs, at their given v…

Nix has a stable channel (six-month release cadence, with one month of support overlap), which isn't LTS, and even just the stable channel is "expensive" enough to be difficult for the project to justify. Supporting LTS has a genuine non-trivial cost in engineering man-hours. Nix has the technological underpinnings to make it easier to support LTS, in theory, but in all likelihood there won't be an LTS channel without corporate sponsorship providing funding to employ LTS maintainers, akin to Red Hat / IBM, Canonical, SUSe, etc.

Consider threads like https://discourse.nixos.org/t/what-should-stable-nixos-prior...

Re: I Love Arch, but GNU Guix Is My New Distro

#30

A question that nags me every time Guix comes up, or nix, is about the benefits relative to a normal distro on something like ZFS. Are reproducible builds ever going to be all that important to a user? Rollbacks seem like the key feature here and that seems much better left up to the filesystem, not the package tools. This way your storage is also aware of what you're doing.

Rollbacks are a convenient benefit that you get from using Nix.

Nix (and guix) allow for a declarative description of a package, (or, e.g. a collection of packages). In addition to rollbacks, I think some of the other benefits are neat.

e.g. Usually for running some project I see on GitHub, I have to copy-paste the "apt install " command; or maybe even run a "curl https://example.com/install.sh | sh". Some projects provide a Docker image, allowing the program to be run without changing what's installed in the system. -- Nix allows for the advantages of each of these (e.g. being able to run the program without installing it into your system, or allowing for a simple command to install it).

e.g. VSCode has a Remote Containers plugin which allows for quickly getting started with a project by using a Docker container as an execution environment. Or things like GitHub Code Spaces or ReplIt aim to provide quick-start environments for developing code. -- I think nix-shell offers similar benefits. (Nix can even be used to describe a Docker image format, instead of using a Dockerfile).

e.g. something like "install this package, but with this different set of build flags enabled" is relatively straightforward in Nix.

Post reply on HN