Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some form of Nix Language reference #7259

Open
enderger opened this issue Mar 31, 2021 · 8 comments
Open

Add some form of Nix Language reference #7259

enderger opened this issue Mar 31, 2021 · 8 comments
Labels
documentation language The Nix expression language; parser, interpreter, primops, evaluation, etc

Comments

@enderger
Copy link
Member

Introduce your stance
Currently, the documentation for the Nix Language is scattered across several manuals, with the main library functions in a non-searchable layout separate from the bultins.

Describe the issue
Currently, the reference material for the Nix Language is scattered across the manuals in a strongly inconvenient way. The language needs it's own documentation, preferably in the style of Clojuredocs and the Rust Documentation.

Additional context
I am currently working on a Nix-based project and have found the language's documentation hard to navigate and use.

@nova-nowiz
Copy link

Yes!
I would be happy to help on this, can we ping someone to get feedback on the proposition?

@toraritte
Copy link
Contributor

Had a similar question on Stackoverflow almost exactly 2 years ago, and it looks like that the authoritative and most complete reference is the lexer file itself, and the slightly outdated chapter "4. The Nix Expression Language" in Eelco Dolstra's PhD thesis from 2006 - none of which are ideal.

@nova-nowiz
Copy link

There is actually also this part of the nix manual:
https://nixos.org/manual/nix/unstable/expressions/expression-language.html
It is really badly named so not easily discoverable unfortunately.
I've made an issue on this NixOS/nixos-homepage#705.

here is the link for the stable release:
https://nixos.org/manual/nix/stable/#ch-expression-language
It this case the naming is correct but it is not a single page so if you search on a search engine, it will most likely not return this page or in the case that the page is proposed, the user will most likely not take into account the Nix Manual as a good result as it is not precise enough.

@enderger
Copy link
Member Author

@Narice please see my original comment, I know that documentation exists in some form, it just is not enough to work with due to it’s fragmentation across the Nix and Nixpkgs manuals. That, and the reference of Nixpkgs.lib lacks any form of navigation and hence fails as a reference quickly navigated.

@nova-nowiz
Copy link

nova-nowiz commented May 15, 2021

Oh I see, so what you would like is a Nix language reference which also contain a reference of the standard nixpkgs library?
That would be indeed better to have a manual for the cli, and separately a manual only for the Nix language that goes in full depth on how to use the language in a practical manner, that makes sense.
I don't really know who to ping here but I would gladly participate in the restructuring process ;)

@fricklerhandwerk
Copy link
Contributor

@Narice @enderger @toraritte feel free to ping me or get in touch Discourse. I will try to help with any effort improving documentation.

@nova-nowiz
Copy link

Would this be covered by NixOS/nix.dev#267?

@fricklerhandwerk
Copy link
Contributor

The tutorial is not a reference. The manual is still incomplete in various subtle ways, so while this issue is very broad, it is in principle still valid, and will be for some time.

@fricklerhandwerk fricklerhandwerk transferred this issue from NixOS/nixos-homepage Nov 4, 2022
@fricklerhandwerk fricklerhandwerk added the language The Nix expression language; parser, interpreter, primops, evaluation, etc label Mar 3, 2024
@fricklerhandwerk fricklerhandwerk changed the title [DOCUMENTATION] Add some form of Nix Language reference Add some form of Nix Language reference Mar 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation language The Nix expression language; parser, interpreter, primops, evaluation, etc
Projects
None yet
Development

No branches or pull requests

4 participants