Live data from Hacker News

Purely Functional Linux with NixOS [video]

begriffs.com

81–90 of 143 posts

Re: Purely Functional Linux with NixOS [video]

#81
post #9

I think NixOS is the future, but there needs to be more time put into UX. Distros like Ubuntu are still much easier to get running and this scares many people away :/

Agreed. Also in general the amount of bugs in Nix packages that go unfixed for months at a time is tough as well.

Re: Purely Functional Linux with NixOS [video]

#82

My Linux experience so far has been limited to ls, cd and vi. From the outside, package management has always seemed to me like a huge mess. But, I've been starting to learn Nix recently and I really like it. I can add, remove, test, screw up, change my mind, whatever without stress.

"From the outside, package management has always seemed to me like a huge mess." Compared to what?! There's no OS that has historically had better (or even close to as good) package management as Linux, either in the form of apt-get/dpkg or yum/RPM. Nix is probably better, on a couple of dimensions, but to suggest it was a mess before...well, I just wonder what you could be comparing to that would be better?

As a huge Nix fan, I think it's perfectly acceptable to say non-linux package management is an abomination, linux package management is a mess, and nix is not (yet :)) ideal.

Engineers shouldn't assume something is done well because nobody is doing any better. Some things suck and there's nothing to blame but other priorities or sheer laziness.

Re: Purely Functional Linux with NixOS [video]

#83

Earlier quoted context omitted.

The intent of reproducible builds, as defined by the reproducible builds project[0], is to have the entire dependency tree built from the complete, corresponding source code of the many projects in that tree, starting from a minimal set of "bootstrap binaries"[1]. Using precompiled binaries, without a doubt, invalidates that goal. Reproducible builds are an ongoing, unsolved problem. In Guix, some things are reproduc…

That's just wrong-headed. Every binary in the chain can be signed and reproducible (theoretically; we aren't quite there, realistically speaking, and the bootstrap, as you note, is tricky). Forcing every user to build everything from source every time is just a mess, and provides little benefit over signed (reproducible) binaries for the vast majority of users. It sounds like you (and the guix project) are conflating…

> We don't want it so that everyone is forced to build everything from scratch every time.

We don't want this either :) Let's not boil the oceans.

Nix and Guix are both a hybrid of build-from-source and binary package management systems. The package recipes and management tools describe how to build some software from source, and then transparently provide binaries for those recipes when the binary is available from a user-approved provider of the binaries.

But, by providing the full build recipes, all the way down to the bootstrap, users can easily rebuild binaries from source to check that their selected binary provider is honest, or to find reproducibility bugs.

In the case of a package recipe for some software that does not have source code available (a binary "blob"), the recipe would just download the blob from somewhere. We don't package those things in Guix, whereas Nix does. Although, it's not hard to make custom recipes that would do that, if you wanted to.

Re: Purely Functional Linux with NixOS [video]

#85
post #20

Am I the only one who thought Guix did this better? Maybe it's just my freakish and unnatural love of parenthesis. Or my hatred of learning new configuration syntaxes (I just want to install packges, dammit! Yes, I enjoy learning new languages, but I need to get this machine up and running, and I don't want to learn your new programming language to do that)

I understand that Guix is newer and has less packages so far (but number is growing). I don't know, I rather like Nix's language, maybe I am just not a Lisp person.

I greatly respect scheme, and yet I like the nix expression language too. Scheme's claim is you shouldn't be using x more bloated language than it, but the nix expression language is smaller and simpler than Scheme; it beats it at its own game!

More practically, I can't think of anything that I wanted that Scheme offers but the nix expression language doesn't.

Re: Purely Functional Linux with NixOS [video]

#86

Earlier quoted context omitted.

That's just wrong-headed. Every binary in the chain can be signed and reproducible (theoretically; we aren't quite there, realistically speaking, and the bootstrap, as you note, is tricky). Forcing every user to build everything from source every time is just a mess, and provides little benefit over signed (reproducible) binaries for the vast majority of users. It sounds like you (and the guix project) are conflating…

>Forcing every user to build everything from source every time >We don't want it so that everyone is forced to build everything from scratch every time. I believe it is you who is confused. I never suggested this is what reproducible builds are about. https://www.gnu.org/software/guix/manual/html_node/Substitut...

When two programmers argue and both think the other sounds crazy, it's usually because they are saying the same words but meaning different things.

SwellJoe: Go back and substitute "source verifiable" every time davexunit says "reproducible" and everything he says makes sense.

davexunit: Read everyone else's comments from the POV where "reproducible" mean "reliable bitwise replication" without consideration of scientifically reproducible experiments or source verification, and everything they say makes sense.

Re: Purely Functional Linux with NixOS [video]

#87
post #83

Earlier quoted context omitted.

That's just wrong-headed. Every binary in the chain can be signed and reproducible (theoretically; we aren't quite there, realistically speaking, and the bootstrap, as you note, is tricky). Forcing every user to build everything from source every time is just a mess, and provides little benefit over signed (reproducible) binaries for the vast majority of users. It sounds like you (and the guix project) are conflating…

> We don't want it so that everyone is forced to build everything from scratch every time. We don't want this either :) Let's not boil the oceans. Nix and Guix are both a hybrid of build-from-source and binary package management systems. The package recipes and management tools describe how to build some software from source, and then transparently provide binaries for those recipes when the binary is available from…

Ah! Then guix is not wrong-headed, at all. Carry on then.

I have no problem with Guix being ideologically pure. Only with the notion that you can't have a reproducible build without forcing everyone to build it it themselves, which it seems is not the case with Guix. Cool.

Re: Purely Functional Linux with NixOS [video]

#90

My Linux experience so far has been limited to ls, cd and vi. From the outside, package management has always seemed to me like a huge mess. But, I've been starting to learn Nix recently and I really like it. I can add, remove, test, screw up, change my mind, whatever without stress.

In my opinion, everyone should learn the basics of package management, and be able to get a full stack operational. Valuable, especially if you're doing side projects.
Post reply on HN