Hacker News new | ask | show | jobs
by wkdneidbwf 1263 days ago
the read has “words of warning” almost immediately at the top about being familiar with nix first. it’s the gateway drug to nix?

bad docs and difficult to grok error messages seem to be a consistent theme that comes up learning nix.

2 comments

You're only likely to screw things up once you start digging deeper into the Nix language/stdlib. I was put off by the warning at first as well, but it's honestly awesome having functional dotfiles that work reasonably consistently across NixOS (personal)/Ubuntu (work)/MacOS (work).

> bad docs

Yeah, pretty damned awful.

> error messages

That too.

I honestly think that inventing a language was a huge mistake. Guix took a much more sensible approach, but a libre kernel is unusable for 99.9999% of people.

Honestly, it really is not the language that’s the problem. While there are a few cases where it can trip you up at first, you wouldn’t be singing package descriptors even if it were Python — it simply has a business domain which is non-trivial. This non-triviality and organic growth show on the standard library of nix packages, but I fail to see how a lisp language or whatever be immune to it, besides having learned from some early abstractions mistakes.
Nix is building a package manager AND a programming language. Guix is building a package manager only. It's a resourcing thing.
And one might even argue the opposite, a DSL made for creating packages may well be better. Especially that plenty of package descriptions are basically reads like JSON.
Fair enough, that's a really good point.
It's kind of like LSD, your just gonna be unprepared the first time, and the second time...