Earlier quoted context omitted.
Haskell is honestly a larger language, and is a pain in the butt to write. If you're just writing configuration or a very simple package, Nix is basically "JSON with colons, multiline strings, and function calls". Haskell doesn't have a reasonable built-in syntax for dictionaries/maps/whatever you want to call them, which is 95% of Nix.
Well, you would use records, but records are a weak point of the Haskell language. I've discussed "why not Haskell" with some Nix people and they specifically mentioned the lack of row polymorphism.
Purely Functional Linux with NixOS [video]
91–100 of 143 posts
Re: Purely Functional Linux with NixOS [video]
#92Earlier quoted context omitted.
And it's unusable on small VMs, it takes like almost a gig of ram to install something and lots of time to figure out how to edit some config if it doesn't have an option for your needs. So, yeah, if they want users - they need to work on that.
That's interesting, and not something I'd noticed (I have a 2GB NixOS VM for tinkering with it). That makes NixOS far less attractive for the things I was think it would be a natural for: containers. Because containers need to be reproducible, and because the current crop of container management and deployment tools are really messy, NixOS seems like a natural fit for building containers (maybe for hosting them, too,…
NixOS has support for hosting containers, which share the Nix store with the host, so they're presumably pretty lightweight.
I've tried running NixOS in VMs, using Nix on Ubuntu, orchestrating things with NixOps, etc. and found that it's much more painful than just installing NixOS on the bare metal and managing everything via /etc/nixos/configuration.nix
Re: Purely Functional Linux with NixOS [video]
#93Earlier 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...
I interpreted your statement of "Using pre-compiled binaries means that builds aren't reproducible, a goal of both Nix and Guix" to mean, "Guix does not distribute pre-compiled binaries, because they can't be reproduced". That still seems an entirely reasonable interpretation of that sentence, to me, as someone with no familiarity with Guix.
But, I now see that your intended meaning was that Guix does not distribute stuff like nvidia blobs, or Flash player, which is a perfectly reasonable choice for them, and nothing less than I would expect of a GNU project (and Fedora, my current favorite desktop distro, has the same policy, so I don't have a problem with it).
Re: Purely Functional Linux with NixOS [video]
#94In a CAD world, that would be like parametric drafting?
Re: Purely Functional Linux with NixOS [video]
#95Earlier quoted context omitted.
"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?
Um, IPS, BSD ports and pkgsrc are a thing.
pkgsrc isn't bad at all, but definitely not better than yum or apt. One might prefer pkgsrc, but one couldn't reasonably say yum or apt are a "mess" compared to pkgsrc.
Re: Purely Functional Linux with NixOS [video]
#96Earlier quoted context omitted.
OK, I replace my naive question above with a different naive question: "Why not just use Haskell?"
Haskell is honestly a larger language, and is a pain in the butt to write. If you're just writing configuration or a very simple package, Nix is basically "JSON with colons, multiline strings, and function calls". Haskell doesn't have a reasonable built-in syntax for dictionaries/maps/whatever you want to call them, which is 95% of Nix.
And in any rnrs complient Scheme, it's fairly trivial to make a strict functional dialect. And in Guile or Racket, it's even easier.
Unfortunately, Guix doesn't do this. Which meant Guix can't guarantee referential transparency. Although if the packager is an ANY WAY competant, it will be maintained.
Re: Purely Functional Linux with NixOS [video]
#97Earlier quoted context omitted.
And it's unusable on small VMs, it takes like almost a gig of ram to install something and lots of time to figure out how to edit some config if it doesn't have an option for your needs. So, yeah, if they want users - they need to work on that.
That's interesting, and not something I'd noticed (I have a 2GB NixOS VM for tinkering with it). That makes NixOS far less attractive for the things I was think it would be a natural for: containers. Because containers need to be reproducible, and because the current crop of container management and deployment tools are really messy, NixOS seems like a natural fit for building containers (maybe for hosting them, too,…
Re: Purely Functional Linux with NixOS [video]
#98Earlier quoted context omitted.
If you're a non-trivial shop you'll need to harden it, you're better off with CentOS/RHEL than Ubuntu.
Why?
Edit: Just noticed the parent was comparing RHEL to Ubuntu, not NixOS, so now I'm not sure :).
Re: Purely Functional Linux with NixOS [video]
#99Earlier quoted context omitted.
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.
It may have a smaller stdlib than scheme (but I doubt it). But it's very hard to be simpler than scheme semantically.
As for what I want from scheme that nix doesn't provide, a simple, regular, syntax that I already know is what I want. I understand that that doesn't apply to everybody.
Re: Purely Functional Linux with NixOS [video]
#100Earlier quoted context omitted.
Perhaps for the newer Windows platforms (e.g. UWP) but Win32 installers have definitely been known to put things all over your system.
Yeah, that's the reason why i have a "got installer? not worth using" pre-filter for Windows software. Not sure how things are these days, but i'm talking about the Win 9x to Win 7 days.
And I don't understand what kind of software you used with that pre-filter. You cannot even install drivers then.