Warning! Nix language!
https://qeef.srht.site/post/warning-nix-language/
I wrote a piece. But I am too tired to read it after myself. Sorry.
@qeef Cool! I gave it a quick read.
Nix has a quirky syntax. It's 20 years old, and it would be different if designed today, but the semantics and data types are good (JSON with comments, functions, let
, and string context).
I hope you'll get to feel more comfortable with it.
;
is for attributes, not functions. It's also used in with
and assert
. I prefer to avoid with
to keep scope simple and lexical.
We usually format { ... }: foo
with no space before :
. foo
doesn't have to be an attrset.
It's ok to say that a function "takes arguments" even in a declarative language, though "will define relationships to" is a good thought!
It's completely ok to not quote ${foo} in attribute syntax.
@qeef The last line is 100% correct.
I think the rest is correct too, but I *know* the last line is.
@qeef
Thank you for this nice overview! It both helps to understand and fear the language :)
@qeef Nix is a mess, and fixing it will take years
@qeef Your page is no more available, are you going to put it back online?
@qeef OK I just notice the new URL, sorry for the noise.
@Pol I am sorry for the confusion. I found out that too long notes are more like posts and restructured the pages accordingly.
I have added redirects. (I should have do that sooner, sorry.)