!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

395 Members
Discussion about documentation improvements around the Nix ecosystem79 Servers

Load older messages


SenderMessageTime
16 Mar 2024
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @rina/:matrix.org
i mainly use nix outside nixos, and much of my packaging experience is with C/C++ and cmake. maybe more documentation on dealing with cmake external projects would be useful too
*

There is a wealth of information here: https://nixos.wiki/wiki/C

Mostly written by @Mic92 in past years AFAIK. Would be great to have that closer to the code, because all of that is Nixpkgs material.

We still haven't really figured out how to organise troubleshooting tips and other guide-like material across the ecosystem though. The last state of affairs was that we converged on the idea that it should be a bit like what Johannes Kirschbauer @hsjobeki proposes for function documentation, but for guides: have a uniform format used across Nix, Nixpkgs, and NixOS, and present that in one place, annotated with tags and searchable. But that is a lot of "should", and will require thinking about the structure of the manuals, moving around lots of text, and building automation for presenting the result.

15:32:40
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host Since #280592 The documentation is not closely connected to the source anymore. The doc-comment was replaced by an explicit markdown document. Which is fine but we should have a more distinct way of creating a reference to the document such that a doc-comment tool knows that the documentation exists but is located at a different place.
We actually will need some more of those „rediretcion-directives“. One task is to research if there are usable standards for that (i some how doubt that) or to come up with a good solution on our own.
16:19:51
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host* Since #280592 The documentation of ‚writeShellApplication’ is not closely connected to the source anymore. The doc-comment was replaced by an explicit markdown document. Which is fine but we should have a more distinct way of creating a reference to the document such that a doc-comment tool knows that the documentation exists but is located at a different place.
We actually will need some more of those „rediretcion-directives“. One task is to research if there are usable standards for that (i some how doubt that) or to come up with a good solution on our own.16:20:22
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host* Since #280592 The documentation of ‚writeShellApplication’ is not closely connected to the source anymore. The doc-comment was replaced by an explicit markdown document. Which is fine but we should have a more distinct way of creating a reference to the document such that a doc-comment tool knows that the documentation exists but is located at a different place.
We actually will need some more of those „rediretcion-directives“. One task is to research if there are usable standards for that (i somehow doubt that) or to come up with a good solution on our own.16:20:56
@danielsidhion:nixos.devdanielsidhionI can help review anything related to nixpkgs manual. Prepending "doc:" to the PR title is the easiest way to get my attention (I keep track of every PR that follows this), but pinging me or requesting review directly from me also does the job16:59:26
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @johannes.kirschbauer:scs.ems.host
Since #280592 The documentation of ‚writeShellApplication’ is not closely connected to the source anymore. The doc-comment was replaced by an explicit markdown document. Which is fine but we should have a more distinct way of creating a reference to the document such that a doc-comment tool knows that the documentation exists but is located at a different place.
We actually will need some more of those „rediretcion-directives“. One task is to research if there are usable standards for that (i somehow doubt that) or to come up with a good solution on our own.
With nixdoc taking shape, does anything speak against systematically moving that text into the code?
17:18:28
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostIt would still be nice for longer documents like those for stdenv & mkDerivation.17:20:40
@danielsidhion:nixos.devdanielsidhion
In reply to @fricklerhandwerk:matrix.org
With nixdoc taking shape, does anything speak against systematically moving that text into the code?
There are a few tricky cases that we'll need to handle that requires more thought before doing it right away (one that we already encountered is function with doc-comment that documents inputs, but then more doc-comments on each function argument)
17:21:19
@danielsidhion:nixos.devdanielsidhionThose cases (and what we're doing with them) aren't documented right now, and the way we handle these will likely change in the future, which is why we're being a bit conservative with the move17:23:02
@pennae:matrix.eno.space@pennae:matrix.eno.space oh wow we only now get to see the backlog. someone asked about multipage rendering in nrd it seems? html:into-file makes that happen, the manual already uses that to render the option docs and appendix. isn't automated per chapter/part, but could be added easily (the infra to do this is there already) 18:13:51
@pennae:matrix.eno.space@pennae:matrix.eno.space getting the official manual to render multipage is literally just sprinkling html:into-file directives on the includes and letting it build 18:14:46
@pennae:matrix.eno.space@pennae:matrix.eno.space(which, we do want to stress at the risk of offending someone, we have said at least five different times, including in meetings of the docs team)18:15:58
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host(Without also offending) Was it a lack of contributions? or why don't we have a multi-page outut if it's trivial and has been said so many times? It would be interesting to know whats the root cause then.18:56:19
@pennae:matrix.eno.space@pennae:matrix.eno.spacelack of contributions probably. the topic has come up often enough and we replied how often enough but were burned out enough to not do the splitting work18:57:00
@pennae:matrix.eno.space@pennae:matrix.eno.spacemight've also just been forgetten time and time again.18:57:52
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostI'll definitely look into it. 18:58:52
@pennae:matrix.eno.space@pennae:matrix.eno.spacein any case it would be easy to split the manual as is, and with just a little work the split could be done programmatically based on toc structure too. that's part of why the toc data structures are the way they are18:59:12
@pennae:matrix.eno.space@pennae:matrix.eno.space(we haven't read much of the backlog past seeing that the question must've existed because that part was full of build logs, and the backlog didn't go much further anyway. gotta love matrix)19:00:38
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostDo you have the issue number? can't find it on the project board.19:02:29
@pennae:matrix.eno.space@pennae:matrix.eno.spaceissue number for what?19:02:54
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostI assumed we had an issue for page splitting. Might not be true then?20:52:54
@pennae:matrix.eno.space@pennae:matrix.eno.spaceah. can't remember one immediately at least20:53:50
@pennae:matrix.eno.space@pennae:matrix.eno.spaceyeah, there isn't one we could find either20:57:09
@fricklerhandwerk:matrix.orgfricklerhandwerk

There's some top-level attribute rev being passed through to the manual rendering machinery, which is used to create the source links. It comes from flake.nix, but I just can't find where and how it's set.

Ideas?

21:53:40
@fricklerhandwerk:matrix.orgfricklerhandwerk *

There's some top-level attribute rev being passed through to the Nixpkgs manual rendering machinery, which is used to create the source links. It comes from flake.nix, but I just can't find where and how it's set.

Ideas?

21:53:58
@pennae:matrix.eno.space@pennae:matrix.eno.spaceset by the flake machinery because it's a git repo, probably21:54:42
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @pennae:matrix.eno.space
set by the flake machinery because it's a git repo, probably

Hm no, at least I don't see how a flake would do that. An empty flake like this:

{
  outputs = { self, ... }: {
    foo = self;
  };
}

called with nix eval .#foo doesn't show a rev attribute.

21:59:30
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @pennae:matrix.eno.space
set by the flake machinery because it's a git repo, probably
*

Hm no, at least I don't see how a flake would do that. An empty flake in a Git repo, like this:

{
  outputs = { self, ... }: {
    foo = self;
  };
}

called with nix eval .#foo doesn't show a rev attribute.

21:59:58
@pennae:matrix.eno.space@pennae:matrix.eno.spacecommit it22:03:24
@fricklerhandwerk:matrix.orgfricklerhandwerkI did22:03:31

Show newer messages


Back to Room ListRoom Version: 6