!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

420 Members
Discussion about documentation improvements around the Nix ecosystem87 Servers

Load older messages


SenderMessageTime
12 Jan 2024
@jade_:matrix.org@jade_:matrix.orgalso, if we are closing the ryantm pr (why??), we should commit to that?20:59:43
@jade_:matrix.org@jade_:matrix.org * also, if we are closing the ryantm pr (why?), we should commit to that?21:00:16
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @jade_:matrix.org
also, if we are closing the ryantm pr (why?), we should commit to that?
commit to what?
21:01:33
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @jade_:matrix.org
gosh we need to write these things down in a durable location that is not a github issue. we need a not-necessarily-wiki but easily modified, page that states that decision, and in general an overview of the tooling and its plans
yes, as is often the case, tribal knowledge is everywhere in the ecosystem. but i think in this case, what is used in nixpkgs is more or less what constitutes consensus, and at the moment, that's nrd (which was merged not even that long ago)
21:05:07
@jade_:matrix.org@jade_:matrix.org
In reply to @asymmetric:matrix.dapp.org.uk
commit to what?
closing it. if it is not something we are doing
21:09:09
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @jade_:matrix.org
gosh we need to write these things down in a durable location that is not a github issue. we need a not-necessarily-wiki but easily modified, page that states that decision, and in general an overview of the tooling and its plans
i totally agree on a need to explain the tooling that produces the documentation for nix, nixpkgs and nixos, and to figure out how that tooling can deliver split nixpkgs manual, and ideally unified documentation building for all 3 projects
21:09:28
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @jade_:matrix.org
gosh we need to write these things down in a durable location that is not a github issue. we need a not-necessarily-wiki but easily modified, page that states that decision, and in general an overview of the tooling and its plans
* i totally agree on the need to explain the tooling that produces the documentation for nix, nixpkgs and nixos, and to figure out how that tooling can deliver split nixpkgs manual, and ideally unified documentation building for all 3 projects
21:09:34
@jade_:matrix.org@jade_:matrix.orgif we have a plan for a path forward, we should write it down. if we don't know the path forward we should describe what exists and its status21:10:01
@asymmetric:matrix.dapp.org.ukasymmetric we should start with the latter. for the former, i think the only person atm who has deep familiarity with nrd is its author, pennae. Maybe Johannes Kirschbauer @hsjobeki, who has spent some time looking at it? 21:10:51
@asymmetric:matrix.dapp.org.ukasymmetricas to why nrd was chosen over mmdoc, iirc the main argument was that mmdoc being written in c was considered a liability (less people who can theoretically contribute, harder to change/extend without introducing subtle bugs, ...?)21:13:19
@raitobezarius:matrix.orgraitobezariusmmdoc was built in C with minimal closure concerns in mind21:14:50
@raitobezarius:matrix.orgraitobezariusnrd was built not in C with accessibility for newcomers in mind and ease of development (and probably more, I cannot speak for pennae)21:15:17
@raitobezarius:matrix.orgraitobezariusI know both codebases, I don't have deep familiarity with neither, but I can achieve deep familiarity with nrd in stupidly low amount of time21:17:01
@raitobezarius:matrix.orgraitobezariusIt contains of course the hard work of pennae to find the edge cases and what not21:17:11
@raitobezarius:matrix.orgraitobezariusBut beyond that, it's a fairly mundane program21:17:17
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @raitobezarius:matrix.org
I know both codebases, I don't have deep familiarity with neither, but I can achieve deep familiarity with nrd in stupidly low amount of time
are you offering help? 🙃
21:17:51
@raitobezarius:matrix.orgraitobezariusNo, but I can be there if there's any rescue-level tasks regarding nrd or this sort of stuff21:18:17
@raitobezarius:matrix.orgraitobezariusI think it's better if someone else grow experience with nrd :)21:18:27
13 Jan 2024
@bzzm3r:matrix.org@bzzm3r:matrix.org How feasible are such "docs auto-generation" projects, given the lack of typing systems or other automated verification/compiler-based checks in Nix-the-language?00:32:30
@infinisil:matrix.orginfinisil At least nixdoc is used already for lib documentation. 00:33:43
@infinisil:matrix.orginfinisilTbh I gotta sleep though, good night!00:34:48
@bzzm3r:matrix.org@bzzm3r:matrix.orgOkay, and this is an important background RFC: https://github.com/NixOS/rfcs/blob/master/rfcs/0145-doc-strings.md00:44:48
@9999years:matrix.org@9999years:matrix.org
In reply to @infinisil:matrix.org
At least nixdoc is used already for lib documentation.

is there a plan to use nixdoc to document .override arguments/defaults, package doc comments, or function arguments?

# In `my-func/default.nix`
{ }: # ← callPackage arguments

/* I want this to render as documentation for `pkgs.my-func`
 */
{
/* I want this to render as documentation for `myArgument`
 */
myArgument
}:
null
00:55:48
@9999years:matrix.org@9999years:matrix.orgthere's lots of good comments in the nixpkgs source that aren't visible except by grepping and it would be great to get those rendered into reference docs00:56:10
@mcdonc:matrix.orgChris McDonough danielsidhion and bzm3r ... thank you for the PR review suggestions... I think all of them are incorporated except this one https://github.com/NixOS/nixpkgs/pull/277534/files#r1450744275 ... (heading name)... i rationalize why i think it's the right thing in a reply there 03:19:57
@bzzm3r:matrix.org@bzzm3r:matrix.orgRedacted or Malformed Event09:02:01
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @mcdonc:matrix.org
danielsidhion and bzm3r ... thank you for the PR review suggestions... I think all of them are incorporated except this one https://github.com/NixOS/nixpkgs/pull/277534/files#r1450744275 ... (heading name)... i rationalize why i think it's the right thing in a reply there
*

As I said in my review comments, this is looking really good, and if I had merge powers, I'd hit merge. But I also am not in touch with the details in a way that that infinisil or fricklerhandwerk might be, so it's a good thing I don't have merge powers.

Anyway I just want to say, as one new contributor to another, please don't feel frustrated by the fact that this is a process that will take time because both fricklerhandwerk and infinisil:

  • are time constrained
  • are careful, and therefore might have more requests for changes
  • are human

I would suggest putting it up as a point for discussion in the meeting agenda for next week. It tends to get sorted out super fast in these meetings, because of the communication setup.

In the meantime I found it helpful to move onto other projects/PRs. I think of PRs as seeds that I plant...

09:02:35
@bzzm3r:matrix.org@bzzm3r:matrix.org *

As I said in my review comments, this is looking really good, and if I had merge powers, I'd hit merge. But I also am not in touch with the details in a way that that infinisil or fricklerhandwerk might be, so it's a good thing I don't have merge powers.

Anyway I just want to say, as one new contributor to another, in case you do find it frustrating (not sure): please don't feel (too) frustrated by the fact that this is a process that will take time because both fricklerhandwerk and infinisil:

  • are time constrained
  • are careful, and therefore might have more requests for changes
  • are human

I would suggest putting it up as a point for discussion in the meeting agenda for next week. It tends to get sorted out super fast in these meetings, because of the communication setup.

In the meantime I found it helpful to move onto other projects/PRs. I think of PRs as seeds that I plant...

09:03:07
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host
In reply to @bzzm3r:matrix.org
How feasible are such "docs auto-generation" projects, given the lack of typing systems or other automated verification/compiler-based checks in Nix-the-language?

As the author of rfc145 and the creator of https://noogle.dev i can say:

It is very much feasible to autogenerate documentation from doc-comments. At least the API descriptions of all functions in nixpkgs.

Roughly 95% of what is in Noogle currently could also be autogenerated by any other tool.

I think one of the next important steps is to migrate to "doc-comments" (/** {commonmark} */)

asymmetric I've briefly looked into nrd (nixos-render-docs), and opened this issue: https://github.com/NixOS/nixpkgs/issues/280514
See the reply of @pennae there. I dont fully understand yet how to change nrd to clear the path. I'd super thankfull if someone from the community could do it. Otherwise... it will take me quite while, because i'm super busy recently with work related stuff.

09:07:31
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @johannes.kirschbauer:scs.ems.host

As the author of rfc145 and the creator of https://noogle.dev i can say:

It is very much feasible to autogenerate documentation from doc-comments. At least the API descriptions of all functions in nixpkgs.

Roughly 95% of what is in Noogle currently could also be autogenerated by any other tool.

I think one of the next important steps is to migrate to "doc-comments" (/** {commonmark} */)

asymmetric I've briefly looked into nrd (nixos-render-docs), and opened this issue: https://github.com/NixOS/nixpkgs/issues/280514
See the reply of @pennae there. I dont fully understand yet how to change nrd to clear the path. I'd super thankfull if someone from the community could do it. Otherwise... it will take me quite while, because i'm super busy recently with work related stuff.

But who does the work to ensure that the doc comments match up with the actual code?

Also, it seems the doc comments RFC left defining function arguments as "future work"...

09:09:48

Show newer messages


Back to Room ListRoom Version: 6