!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

416 Members
Discussion about documentation improvements around the Nix ecosystem81 Servers

Load older messages


SenderMessageTime
12 Jan 2024
@fricklerhandwerk:matrix.orgfricklerhandwerk

Apart from the initial literature survey, I ran a a small usability study: https://discourse.nixos.org/t/usability-studies/21404 and evaluated the community polls: https://discourse.nixos.org/t/2022-nix-survey-results/18983

When the documentation team was founded the current strategy evolved based on the following considerations:

  • nix.dev existed and was the highest quality overview resource out there, the Wiki existed and had the broadest coverage with varying quality - we shouldn’t start from scratch, also for discoverability purposes, so the book idea was dropped in favor of eventually developing nix.dev into that book eventually, incorporating useful bits from the wiki
  • the system surface was enormous and messy, so improving everything at once under a somewhat consistent paradigm was (and still is) impossible. We had to focus on a meaningful and most impactful subset
  • some things have to be figured out how to even use properly, or even fixed in the code before one can write any documentation. And before writing a tutorial or guide, one needs proper reference documentation. Often that’s lacking, we’ve experienced that for every piece we worked on.
  • the most important part for user retention is onboarding and contributing. The only thing usable in isolation is Nix itself.

So this is what we did and are still doing, and we’re quite far advanced with improving the documentation relevant for the first couple of weeks using vanilla Nix. I don’t have the numbers to prove it, but from anecdata and heuristics about the types of questions asked on Discourse, I think we managed to substantially reduce the average initial onboarding time and fraction of people who give up before concluding that.

08:57:23
@fricklerhandwerk:matrix.orgfricklerhandwerk

And even that took what feels like forever, because we ran into many obstacles that relate to governance issues. The first impressions are highly exposed material and so I have to get change proposals past people who have authority over the pieces in question. That’s another reason why we focus on nix.dev more than anything else: the documentation team has free reign over it (within the constraints of not breaking things that already worked for people).

Which means that still, NixOS and Nixpkgs documentation have barely improved in the meantime. We here know all the issues with it, but dealing with them takes time that’s taken away from the original mission. We’re trying to balance that, because not supporting attempts at contributions is of course frustrating for everyone.

08:57:44
@fricklerhandwerk:matrix.orgfricklerhandwerk

What we really need are dedicated maintainers for the various sections of the Nixpkgs manual, all of the NixOS manual, and ideally editors for the (upcoming new) Wiki. This stuff is up for grabs, and I’d definitely recommend org owners to hand out commit bits to anyone who demonstrates they understand and subscribe to the general direction we’re taking. So far no one stepped up, and those who considered, reconsidered again after dipping their toes into the intricacies of the stuff actively being worked on.

We first have to get the basics right before piling stuff on top. There’s already way too much stuff piled up, and the basics are still not in a great shape.

08:57:49
@infinisil:matrix.orginfinisilOof this is a bit long for Matrix..09:42:13
@infinisil:matrix.orginfinisilYou're writing entire blog posts!09:42:21
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @infinisil:matrix.org
Needs a unified docs building infrastructure though
i think we would really benefit from this. it would make it easier for people to contribute across the different projects on the platform, create links when appropriate, etc etc
09:46:20
@asymmetric:matrix.dapp.org.ukasymmetric btw, we have ~60 prs in nixpkgs that are about documentation, but have no 6.topic: documentation label, including some by mebers of this team. i think it would be helpful to ensure that label is added, so we can triage them instead of letting them rot. 10:45:02
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @9999years:matrix.org
those PRs look great! what's blocking them from being merged?
inspired by this
10:45:34
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @asymmetric:matrix.dapp.org.uk
btw, we have ~60 prs in nixpkgs that are about documentation, but have no 6.topic: documentation label, including some by mebers of this team. i think it would be helpful to ensure that label is added, so we can triage them instead of letting them rot.

hmm, the label description says "Meta-discussion about documentation and its workflow", so maybe i'm wrong that it should be applied to those prs?

should documentation PRs have that label, or not?

10:50:58
@infinisil:matrix.orginfinisil asymmetric: Sounds like the label description should be updated then :) 11:16:22
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @infinisil:matrix.org
asymmetric: Sounds like the label description should be updated then :)
thing is, we also have a "8.has: documentation` label, which i think gets automatically applied
11:17:45
@asymmetric:matrix.dapp.org.ukasymmetricso maybe the topic label is indeed for meta discussions11:18:02
@infinisil:matrix.orginfinisilOh I see11:18:07
@infinisil:matrix.orginfinisilI feel like the content vs infra distinction sounds better11:19:07
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @infinisil:matrix.org
I feel like the content vs infra distinction sounds better
so are you arguing for changing, or keeping?
11:21:22
@asymmetric:matrix.dapp.org.ukasymmetric
In reply to @infinisil:matrix.org
I feel like the content vs infra distinction sounds better
* so are you arguing for changing, or keeping, the descriptions?
11:21:30
@infinisil:matrix.orginfinisil asymmetric: Changing both the label names and descriptions to be more obvious 12:05:44
@danielsidhion:nixos.devdanielsidhion From the little I've seen, 6.topic: documentation doesn't have automation around it, so it has to be manually applied, which leads to it not being used enough/appropriately 12:24:19
@asymmetric:matrix.dapp.org.ukasymmetricyeah, hence my recommendation to use it. but anyway, the main goal is that we don't forget prs, so really whichever one gets applied most consistently and matches our needs is fine by me12:38:03
@danielsidhion:nixos.devdanielsidhion

Just went through a rabbithole when creating a PR, and have a few questions that I think would be better asked here rather than spending even more time trying to dig things:

  1. Does anyone know why a bunch of places in our docs use the shellSession/ShellSession info on code blocks? https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20shellsession&type=code
    From my investigation, it seems to be ignored by the highlighting library we use in the manuals
  2. A look into the highlighting library used in the manuals makes me believe that the unstable manuals haven't been updated in nixos.org for at least 2 months (library was updated from v9 to v11 ~2mo ago, but the version used in nixos.org is still v9). I can't spend more time today looking into this, but I think this isn't normal. Did something break in the manual -> nixos.org pipeline?
14:45:38
@mcdonc:matrix.orgChris McDonoughno problem's gonna be solved by me bitching in here, sorry, i should have kept it to myself. thanks for the intervention. i'll try to contribute meaningfully and regulate my aversion to various comms styles.15:45:20
@lunaphied:lunaphied.meLunaphiedI think your contribution was fine and valuable feedback to the team, I wouldn't like to lose out on those kinds of contributions personally16:01:12
@infinisil:matrix.orginfinisil
In reply to @danielsidhion:nixos.dev

Just went through a rabbithole when creating a PR, and have a few questions that I think would be better asked here rather than spending even more time trying to dig things:

  1. Does anyone know why a bunch of places in our docs use the shellSession/ShellSession info on code blocks? https://github.com/search?q=repo%3ANixOS%2Fnixpkgs%20shellsession&type=code
    From my investigation, it seems to be ignored by the highlighting library we use in the manuals
  2. A look into the highlighting library used in the manuals makes me believe that the unstable manuals haven't been updated in nixos.org for at least 2 months (library was updated from v9 to v11 ~2mo ago, but the version used in nixos.org is still v9). I can't spend more time today looking into this, but I think this isn't normal. Did something break in the manual -> nixos.org pipeline?
No idea about the first, but the second one oh no..
16:15:33
@infinisil:matrix.orginfinisilIndeed there should be commits to https://github.com/NixOS/nixos-homepage/commits/master/ every day to update the website with the latest versions, but this apparently broke..16:15:58
@infinisil:matrix.orginfinisilLol: https://github.com/NixOS/nixos-homepage/actions/runs/7496066602/job/20407403287#step:5:1216:16:18
@infinisil:matrix.orginfinisil
Run bash ./scripts/update.sh
Updating flake inputs...
error: unrecognised flag '--update-input'
Try 'nix --help' for more information.
Error: Process completed with exit code 1.
16:16:29
@infinisil:matrix.orginfinisilWait there's not even a deprecation message16:19:13
@infinisil:matrix.orginfinisil

Wait what, the current latest version is 2.19.2, which does have a deprecation message (tried it locally):

warning: '--update-input' is a deprecated alias for 'flake update' and will be removed in a future version.
16:21:25
@infinisil:matrix.orginfinisilInvestigating..16:22:34
@mcdonc:matrix.orgChris McDonough danielsidhion: it's not on the list, but i'm starting to apply your function argument defintion list stuff to a PR I already have open... https://github.com/NixOS/nixpkgs/pull/277534/files 16:27:35

Show newer messages


Back to Room ListRoom Version: 6