!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

400 Members
Discussion about documentation improvements around the Nix ecosystem79 Servers

Load older messages


SenderMessageTime
8 Mar 2024
@infinisil:matrix.orginfinisilOh I guess options.py09:49:23
@pennae:matrix.eno.space@pennae:matrix.eno.space
In reply to @infinisil:matrix.org
Oh I guess options.py
correct
09:50:04
@infinisil:matrix.orginfinisilhttps://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py09:50:19
@infinisil:matrix.orginfinisilOh so it renders it a bit differently on different targets09:50:31
@pennae:matrix.eno.space@pennae:matrix.eno.spaceof course, that's why the manpage isn't terrible09:50:57
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostBut Is this website really what we'd like to give something to our users? many off-the shelf rendering frameworks are really awesome (compare to our website), and they dont require us to maintain our own markdown parser and instead have more freedom because their community maintains the framework, while we can focus on writing documentation (and maybe add some plugins) 10:08:02
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host * But Is this website really what we'd like to give to our users? many off-the shelf rendering frameworks are really awesome (compare to our website), and they dont require us to maintain our own markdown parser and instead have more freedom because their community maintains the framework, while we can focus on writing documentation (and maybe add some plugins) 10:08:26
@pennae:matrix.eno.space@pennae:matrix.eno.space have you considered: it took multiple years to do one migration, it has regressed, and it was only possible because we didn't use off-the-shelf components or we would've regressed even more. 10:09:04
@pennae:matrix.eno.space@pennae:matrix.eno.spacedo you really want to bind up another few years worth of work after the first migration hasn't even been shipping for six months10:09:27
@pennae:matrix.eno.space@pennae:matrix.eno.spaceit's so far from "just drop in another framework", we're not sure you even understand what you're setting yourselves up for.10:10:18
@danielsidhion:nixos.devdanielsidhionMy approach to looking into other frameworks is based on a simpler thought: we currently have 5k lines of custom code to render the manuals into what we see online. As far as I know, there is currently not a lot of flexibility in the tool to produce things in different ways, which means that if we want to change something, we'll need to go change the code. This is a big overhead that makes it hard to add improvements to the manuals. So I decided to look into other frameworks to see how much of our needs they can satisfy out of the box, and how much extra effort would be needed to satisfy the other needs. Because honestly, I actually find borderline absurd to assume that nobody out there has been able to solve some of the same problems we have into a tool that's more popular, has people to maintain it, and has a bigger ecosystem of documentation/plugins/knowledge to source from10:11:24
@pennae:matrix.eno.space@pennae:matrix.eno.spacemost people out there are not multiple distros in a trench coat10:12:29
@danielsidhion:nixos.devdanielsidhionBut our documentation doesn't have to follow suit10:13:54
@pennae:matrix.eno.space@pennae:matrix.eno.spacewe can only stress again: make sure you're familiar with the problem domain before trying to Be Like The Others.10:14:32
@pennae:matrix.eno.space@pennae:matrix.eno.spaceapart from that, we're not picky about nrd being replaced if there's something better. it's on you to find that thing though, and if you do, awesome! just consider the amount of effort it all takes to migrate again, the regression it will come with, and whether perhaps the tooling we have isn't fine enough if you just take a day to understand how it works10:15:45
@pennae:matrix.eno.space@pennae:matrix.eno.space¯\_(ツ)_/¯ your decision.10:16:14
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostMaybe we could have a chat about this guys. I feel like both parties have valid points and need to be taken seriously.10:16:27
@danielsidhion:nixos.devdanielsidhionI'd appreciate any links or resources you can send me that show things that we'll need to solve in the other docs frameworks as well. I have a list of things already, but idk how complete it is10:16:57
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.host
In reply to @pennae:matrix.eno.space
do you really want to bind up another few years worth of work after the first migration hasn't even been shipping for six months
As said, i feel like any potential migration needs to go through an RFC, to make sure all important aspects from the community taken into account
10:19:08
@pennae:matrix.eno.space@pennae:matrix.eno.space
In reply to @danielsidhion:nixos.dev
I'd appreciate any links or resources you can send me that show things that we'll need to solve in the other docs frameworks as well. I have a list of things already, but idk how complete it is
there's no full list as such in a single place, sadly. but whatever you'd choose would have to do manpage generation that isn't hot garbage (like the nix manpages), be able to run often and quickly (because docs is part of a nixos system build), support all the syntax extensions we have somehow (or rewrite a bunch of the docs), somehow be able to generate the option man/html pages, there's of course the issue of how to handle nixos module documentation chapter (which are distinct from option docs), the different formats of export for downstream consumers. there's more, those are just the few that immediately come to mind
10:21:31
@danielsidhion:nixos.devdanielsidhionWhat do you mean by manpage generation? Are you referring to https://github.com/NixOS/nixpkgs/blob/master/doc/manpage-urls.json ?10:22:27
@danielsidhion:nixos.devdanielsidhionI didn't have performance on the list, but I'll add it as well10:23:06
@infinisil:matrix.orginfinisil danielsidhion: I think man configuration.nix is meant 10:23:47
@infinisil:matrix.orginfinisilI don't think anything else is rendered with man pages10:24:17
@pennae:matrix.eno.space@pennae:matrix.eno.space
In reply to @infinisil:matrix.org
I don't think anything else is rendered with man pages
yes, that was explicitly decided against because generating good manpages and html pages from the same source is damn near impossible
10:24:44
@pennae:matrix.eno.space@pennae:matrix.eno.spacethat's why the other nixos manpages are written the old-fashioned way10:25:05
@infinisil:matrix.orginfinisil danielsidhion: Can you publish that list somewhere? 10:27:00
@infinisil:matrix.orginfinisilI guess just on https://pad.lassul.us/ would work10:27:11
@danielsidhion:nixos.devdanielsidhion
In reply to @infinisil:matrix.org
danielsidhion: Can you publish that list somewhere?
Just quickly copy-pasted from another note I'm keeping, some of the things may not be very descriptive https://pad.lassul.us/TqtuSR-GReyIXHGISZ-S1Q?view
10:30:02
@johannes.kirschbauer:scs.ems.host@johannes.kirschbauer:scs.ems.hostWe could still let nrd do manpage rendering tbh. thats something nrd does really well. But i'd favor to migrate the web html stuff specifically. However that could work, we'd need to figure out if we really want to do it.10:32:47

Show newer messages


Back to Room ListRoom Version: 6