Live data from Hacker News

Attempting to Use GNU Guix

zge.us.to

41–50 of 50 posts

Re: Attempting to Use GNU Guix

#41

I don't know that much about Guix, other than "super-free Nix with scheme" (and the article wasn't particularly illuminating other than boiling down to "Guix isn't really ready for most users right now"), but it's neat that there's momentum in the declarative OS-space. I hope that both Guix and NixOS keep growing and that more people start switching. After switching to NixOS, I'd find it very frustrating to go back t…

Well, there is this https://github.com/dhall-lang/dhall-haskell/tree/master/dhal...

Re: Attempting to Use GNU Guix

#42
post #29
post #24

Earlier quoted context omitted.

I'm hoping that maybe Flakes[1] will help ease the issue/pull request situation by letting some of the namespaces move out of the main repository. [1] https://github.com/NixOS/rfcs/pull/49

There are significant advantages to having the entire Nixpkgs package set in a mono repository. While I think Flakes are quite interesting for a number of reasons, I hope it doesn't result in the primary package set getting split up too much. They conceptually act a lot like Git submodules, and going overboard with that is a very easy way to make your life miserable, and significantly increase development turnaround…

> There are significant advantages to having the entire Nixpkgs package set in a mono repository.

Yes there is many advantages to nixpkgs being a single repo. In fact, it is one of the main strength of Nix.

It gives you all the advantages of corporate style source monorepo without the inconvenience.

Out of order:

- It avoids the multi-version diamond dependency problem and the necessity of a SAT solver.

- It allows transactional upgrade of multiple packages.

- The detection of any break / problem of an update for any software depending on it automatically.

- A consistent view on the entire dependency tree at each instant. With possibility of rollbacks.

Re: Attempting to Use GNU Guix

#43

I understand and perhaps admire the GNU project's insistence on being blob-free, but that also means Guix won't run out of the box on 99% of all people's computers. The options are buy (old) hardware that doesn't need blobs (which sometimes isn't even possible), or compile the default kernel to include the binary firmware yourself (which the Guix documentation won't explain for ideological reasons). Both of these wil…

There's already hundreds of distributions with binary blobs. It is very important that at least a few respect user's freedom. So it's great that Guix exists and that it has a serious stance against secret blobs.

Re: Attempting to Use GNU Guix

#44

Earlier quoted context omitted.

Something I couldn’t get about nix by skimming the documentation is how it manages application configuration. Using traditional systems when you upgrade the package responsible for the network configuration my current configuration is carried thru or merged into the new format if the package changes it’s configuration syntax. How does nixos manage /etc ?

For the majority of changes, it "just works". For example, here's the part of nixpkgs that configures wireless networking via wpa_supplicant, as well as the actual package build of wpa_supplicant: https://github.com/NixOS/nixpkgs/blob/nixos-19.09/nixos/modu... https://github.com/NixOS/nixpkgs/blob/nixos-19.09/pkgs/os-sp... Because they're contained within the same git repo, if a new version of wpa_supplicant changed…

Files in /etc shouldn't be modified directly. You edit configuration.nix and it generates these files.

How it is done, depends on a module.

Re: Attempting to Use GNU Guix

#45
post #36
post #23

Earlier quoted context omitted.

I think this is the letter in question: https://guix.gnu.org/blog/2019/joint-statement-on-the-gnu-pr...

I still don't know what Stallman did.

Got caught up in an organized witch-hunt to remove him from power. Too much freedom of speech for the current FSF.

Re: Attempting to Use GNU Guix

#46
post #33
post #29

Earlier quoted context omitted.

There are significant advantages to having the entire Nixpkgs package set in a mono repository. While I think Flakes are quite interesting for a number of reasons, I hope it doesn't result in the primary package set getting split up too much. They conceptually act a lot like Git submodules, and going overboard with that is a very easy way to make your life miserable, and significantly increase development turnaround…

I think at very least (and easy to implement) nix needs a bot that closes old tickets. The number of open issues is ridiculous and basically it makes easier for an issue to be overlooked and further increase the count. The number of open issues also causes some people think nix is very buggy and not suitable in production or even exploring.

There are probably some people who see a 3k bug report number and think that, but realistically tons of projects have thousands of open tickets for any number of things from legitimate bugs to duplicates to actual user questions. Linux, projects like LLVM, etc. It's natural when you have a project that is in active every-day use by literally thousands and thousands of people. Nixpkgs is simply a big project! But the actual numbers might tell another story.

For reference, the LLVM bug tracker has exactly ten thousand open bugs as of this writing, and I assume that number is only so perfectly rounded because Bugzilla search refuses to return any more results in a single page that already brings scrolling in Chrome to its knees. You won't find any lack of praise for LLVM's high quality and extensible nature, though -- they can all be true at once!

The nixpkgs label tracker isn't highly accurate since auto-labeling only started earlier as of this year, but as of this writing, of the 3k open issues, about 500 of them are directly marked as bugs, while 41 are marked as regressions. There are 200 enhancement requests, and 50 open packaging requests. So of 3,300 bugs, about 800 can be quickly classified, and about half of those are actual bugs. This is a very ballpark number (GitHub search doesn't allow XOR). Considering nixpkgs is literally shipping thousands of other software projects, I think this is pretty good -- even though I wouldn't argue it could be cleanly extrapolated to the whole set of bugs, because of a long tail of old bugs.

In terms of cadence, over the last month there were ~466 new PRs, and ~1,600 merged PRs. ~220 closed issues vs 215 new ones. This is done by nearly 350 contributors. I would think this is also very good and the sign of a healthy project with hundreds of active developers. IMO, if just a raw number of "3,000 open github issues" has to mean anything ("this software is unstable"), then these numbers have to mean something too. It's just that GitHub doesn't "helpfully" post them on every single page concerning your project...

But I do agree we should have better mechanisms for discovery and keeping things clean. Duplicates certainly happen and are annoying, and nobody likes drudging through 1,000 of the oldest open reports to close old stuff, etc. Some of this is also limited by GitHub and other things, unfortunately.

Personally as a developer (not a user!), I think bots that close old tickets are often very annoying (to everyone) and rarely do much other than feed a human desire to hit "inbox zero", but this desire is not (to my knowledge) based on any actual scientific criteria that leads to better software development or happier, better cared for users. It is more a way of externalizing a deep human desire for "cleanliness" and using it as a yardstick for "quality" rather than evaluating the numbers for yourself. You can also find tons of 0-issue repositories on GitHub, but this doesn't mean they're actually good, or they do what you want -- and I doubt most of them have as much momentum as we do.

Re: Attempting to Use GNU Guix

#47
post #36

Earlier quoted context omitted.

I still don't know what Stallman did.

Got caught up in an organized witch-hunt to remove him from power. Too much freedom of speech for the current FSF.

I'm hoping you're joking, because petition for him to step down, because he took part in with hunt to have himself removed sounds ridiculous. I'm still interested in a real answer.

Re: Attempting to Use GNU Guix

#48
post #46
post #33

Earlier quoted context omitted.

I think at very least (and easy to implement) nix needs a bot that closes old tickets. The number of open issues is ridiculous and basically it makes easier for an issue to be overlooked and further increase the count. The number of open issues also causes some people think nix is very buggy and not suitable in production or even exploring.

There are probably some people who see a 3k bug report number and think that, but realistically tons of projects have thousands of open tickets for any number of things from legitimate bugs to duplicates to actual user questions. Linux, projects like LLVM, etc. It's natural when you have a project that is in active every-day use by literally thousands and thousands of people. Nixpkgs is simply a big project! But the…

There are, that was response from one of my colleague after mentioning Nix to him. Having 3k open bugs, don't help with anything there's no way all of them will ever be addressed and important ones could get lost between them.

I don't think closing such bugs is "feed a human desire to hit "inbox zero"" even with that you'll never get there. From my perspective it is all about not losing track of important issues. Having bots close tickets makes sure that only tickets are opened are ones that someone cares about. There are tickets that are from 2013, a lot changed since then, they might no longer be relevant anymore.

Re: Attempting to Use GNU Guix

#49

Earlier quoted context omitted.

> trying to compile everything in Guix from scratch on an old laptop is just way too slow. Doing this on Gentoo is slow and painful enough, but it's way worse on Guix, and simply unworkable Would you elaborate on why you think compilation on Guix is slower than Gentoo? Thanks.

It's not that compilation itself was slow with Guix, but (to my memory) it was because all Guix packages are completely separate by design and have dependencies which are not shared, so you might have to compile, say, five different versions of guile to satisfy those five different dependencies in five different packages. Compiling guile from scratch was, by the way, insanely slow, and because I struggled to get Guix…

Just out of curiosity, why not use distcc?

I have a recent i7 and still compile essentially all packages on my homelab, I feel that the benefit would be even more marked for you.

Re: Attempting to Use GNU Guix

#50
post #48
post #46

Earlier quoted context omitted.

There are probably some people who see a 3k bug report number and think that, but realistically tons of projects have thousands of open tickets for any number of things from legitimate bugs to duplicates to actual user questions. Linux, projects like LLVM, etc. It's natural when you have a project that is in active every-day use by literally thousands and thousands of people. Nixpkgs is simply a big project! But the…

There are, that was response from one of my colleague after mentioning Nix to him. Having 3k open bugs, don't help with anything there's no way all of them will ever be addressed and important ones could get lost between them. I don't think closing such bugs is "feed a human desire to hit "inbox zero"" even with that you'll never get there. From my perspective it is all about not losing track of important issues. Hav…

I personally hate it when a bot closes an issue I wrote. What's the point of closing unresolved issues? Just assign them a label (it could be a "stale" label like some projects do). Otherwise it just feels like hiding your mess under the bed. Other sorting tools can provide the same list as automatically closing bugs would achieve. The opposite isn't true, unless assigning a specific label when manually closing an issue.
Post reply on HN