!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

439 Members
Discussion about documentation improvements around the Nix ecosystem93 Servers

Load older messages


SenderMessageTime
28 Jun 2023
@pennae:matrix.eno.spacepennaeuntil then walking the ast with minimal awareness of nix semantics is our best bet21:23:47
@pennae:matrix.eno.spacepennae
In reply to @sternenseemann:systemli.org
do we have an overview of what markdown extensions/custom stuff you can use in the manual somewhere?
as for that: the extension list in the manual is not entirely complete. there are a few more we haven't documented yet (most or even all of which predate the markdown tooling itself)
21:26:54
@pennae:matrix.eno.spacepennae
In reply to @sternenseemann:systemli.org
do we have an overview of what markdown extensions/custom stuff you can use in the manual somewhere?
as for that: the extension list in the manual is not entirely complete. there are a few more we haven't documented yet (most or even all of which predate the markdown tooling itself)
21:27:24
@sternenseemann:systemli.orgsterni

Dynamically determining docs has a lot of problems: What constitutes the doc comment? The comment at the let binding? At the inherit exposing it? What happens if I pass the value through the identity function? etc. pp. This is because we don't have a sense of an exported symbol. Consequently we need to establish some sort of convention here that can be transferable to static doc generation since every file has to be a full Nix expression.

When dynamically gathering documentation you don't suddenly have no issues: You need to know about the library's structure, e.g. which of the exposed functions are aliases? which functions are deprecated? Since you can't know this. The whole story becomes a lot worse if you are not dealing with anything as tame as <nixpkgs/lib>. E.g. haskellPackages exposes some functions (callCabal2nix, …) that should be documented, but here treewalking becomes difficult, a lot of dynamicism is involved, you need to know what to ignore etc. (heck, the functions exposed could differ depending on platform or the like). In short, dynamically gathering docs is not a silver bullet.

When statically doing docs, you need to have a convention, yes, and need to somehow be able to tell it how it relates to the “library” as a whole. This also requires special knowledge about the library, but so does the dynamic solution.

This is my point: Both solutions suffer from variations of the same problem; and the problem is that we have no module system, so a library could be structured in arbitrary ways and it is impossible to figure out what's what independently of the concrete code.

21:34:53
@sternenseemann:systemli.orgsterni An important argument against dynamicism for me is that it'd be okay for <nixpkgs/lib>, but as soon as you have anything in pkgs proper that's to be documented you'll suffer 21:35:50
@sternenseemann:systemli.orgsterni * An important argument against dynamicism for me is that it'd be okay for <nixpkgs/lib>, but as soon as you have anything in pkgs proper that's to be documented you'll suffer. 21:35:56
@pennae:matrix.eno.spacepennaeexactly, all of that. which is why we would need to develop very strong conventions for what is and isn't a doc comment, a documented item, etc before moving it into nix. whether it's ever moved is going to be up in the air regardless, and in the interim nixdoc-like solutions are kind of the only option anyway21:37:40
@pennae:matrix.eno.spacepennaeand they do work well enough with some outside input for categorization and namespacing21:38:09
@pennae:matrix.eno.spacepennaeif we converge on something that covers a sufficient number of cases we can start thinking about formalizing the rules applied at that point and putting them into nix, before that it's all just daydreams21:38:57
@sternenseemann:systemli.orgsternithat's also true the RFC has a big risk in the sense that it'll make whatever it prescribes eternal22:19:30
@pennae:matrix.eno.spacepennaecodifying what is a doc comment and what isn't would be a welcome first step in any case, even if it ends there for a while. nixdoc has to hack around that not being well-defined quite a bit today to not pick up a lot of garbage as accidental doc comments :<22:21:16
@sternenseemann:systemli.orgsternibut nixpkgs & nixdoc could also do that provisionally22:23:10
@sternenseemann:systemli.orgsterniit's only a treewide commit away22:23:17
@pennae:matrix.eno.spacepennaewe've had our share of treewide commits breaking new truths tbh xD22:24:03
@sternenseemann:systemli.orgsternithis is the way23:10:05
@pennae:matrix.eno.spacepennaeif you want to have a go, please do! :)23:18:52
@pennae:matrix.eno.spacepennaehopefully nixdoc#40 makes it in soon so we can fully remove docbook from the nixpkgs manual, after that there's so much opportunity for improvement23:20:16
29 Jun 2023
@asymmetric:matrix.dapp.org.ukasymmetric

Hey, will miss this meeting too unfortunately, sorry for the streak of no-shows, hopefully should end in the next couple of weeks.

The little work I’ve done was reviewing nixdoc. I’ll get to my open PRs on nix.dev asap, but if I’m a blocker, feel free to use your best judgement and merge ahead.

See you soon!

13:08:58
@asymmetric:matrix.dapp.org.ukasymmetric * Hey, will miss this meeting too unfortunately, sorry for the streak of no-shows, hopefully should end in the next couple of weeks.
The little work I’ve done was reviewing nixdoc PRs. I’ll get to my open PRs on nix.dev asap, but if I’m a blocker, feel free to use your best judgement and merge ahead.
See you soon!
14:12:44
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @asymmetric:matrix.dapp.org.uk
Hey, will miss this meeting too unfortunately, sorry for the streak of no-shows, hopefully should end in the next couple of weeks.
The little work I’ve done was reviewing nixdoc PRs. I’ll get to my open PRs on nix.dev asap, but if I’m a blocker, feel free to use your best judgement and merge ahead.
See you soon!
Thanks for the update.
16:24:01
@fricklerhandwerk:matrix.orgfricklerhandwerk

And again, thanks everyone on the docs and learning journey team. It doesn’t always feel like it on the inside, and it’s not always visible on the outside, but we have taken up enormous momentum. While we’re still have many discussions around finding the right approach and aligning our views, all of you are getting awesome things done, and we’re clearly transitioning into the “performing” phase.

The last few sessions in particular were extraordinarily productive. We’re doing reviews, make decisions, merge changes, and I see a lot of major improvements for user and contributor experience on the horizon.

Don’t get me wrong, it will still take months until everything gets noticeably smoother. But I’m genuinely amazed how we managed to get rolling with a couple of hours a week from everyone.

16:30:32
@pennae:matrix.eno.spacepennaewild idea for the manuals: let's enforce uuids as ids for sections. namespacing of section ids is constantly subverted, and the ids don't convey much useful information anyway16:37:54
@roberthensing:matrix.orgRobert Hensing (roberth)they make link targets readable, which is nicer for readers who share links, and also lets us spot a link target copy paste mistake16:45:39
@roberthensing:matrix.orgRobert Hensing (roberth)similar reason as for the store path name, although that does always include an opaque identifier as well16:46:31
@pennae:matrix.eno.spacepennaeare link targets read or their contents very often? (don't actually know.)16:47:15
@roberthensing:matrix.orgRobert Hensing (roberth)often enough to warrant readability I think. I can't quantify it, but I don't think we need to16:48:24
@pennae:matrix.eno.spacepennaethen maybe we should add a uuid or something else guaranteed to be unique somewhere16:49:22
@pennae:matrix.eno.spacepennae because currently we have eg a #summary id buried deep in the emscripten docs, and that's just the first example we picked from grep 16:49:50
@roberthensing:matrix.orgRobert Hensing (roberth)that one will make sense once we have separate pages, fwiw16:50:39
@roberthensing:matrix.orgRobert Hensing (roberth)unless it's buried really very deep I guess16:50:58

Show newer messages


Back to Room ListRoom Version: 6