Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Thank you sincerely for this public service announcement. We might joke about getting "nerd-sniped", but it really can be difficult to predict ROI when choosing which new things merit attention. This glimpse into real DX issues probably saved me (and many others) some real time and frustration.

OTOH I want to encourage those who do have the time and inclination to get involved and improve those things and help reify the good ideas / fulfill their potential.



view as:

I really wanted to love Nix and tried my best to ease into it, e.g. using it as a "pip" replacement for Python, then managing dotfiles, etc. Maybe I chose the wrong side of the "flakes schism", but it was so foggy and unclear how one went from "lazily evaluated attribute set" to "an actual system".

I really wish this was written in something even like Haskell or Ocaml, that has actual real language support and tooling. Troubleshooting attribute errors was just not possible and I gave up (GUIX looks awesome, but I can't really use shepherd unfortunately).

It really says something when I found myself looking to Gentoo as an "easier, well-thought-out alternative"...


>I really wish this was written in something even like Haskell or Ocaml, that has actual real language support and tooling. Troubleshooting attribute errors was just not possible and I gave up (GUIX looks awesome, but I can't really use shepherd unfortunately).

The 3 times I've tried to use Nix (and invariably gave up), I always came to this conclusion.

A language like F#/OCaml with great typing and type inference and good auto completion could get us half the way to usability.




Basing their killer app, the package manager, on a weird Haskell-like semi-functional undocumented language was a major faux pas of the project in my opinion. Guix is certainly easier to understand and hack, but sadly too "GNU" (i.e. orthodox) to be as useful in the real world as NixOS.

Adopting NixOS means learning how everything fits together as well as learning the quirks of a not very intuitive language. Way too make adoption even harder for everyone on the fence.


The Nix language is just JSON + variables + lambda functions.

There's nothing "Haskell-like" in it as far as I can see.

And its real problem, just like with Javascript, is that it suffers from a serious case of roll-your-own-framework syndrome.


I've been using Guix in the real world just fine.

If you mean that it doesn't come with the vanilla Linux kernel: just add the nonguix channel and you can install it.


Legal | privacy