| 10 Jun 2023 |
@pennae:matrix.eno.space | pandoc does not seem to natively support rendering docbook figures from image sources? excellent. | 15:12:07 |
@pennae:matrix.eno.space | i think before we really migrate the nixos manual away from docbook we'll have to
a. drop epub (temporarily)
b. drop docbook support from nixos-render-docs
otherwise it'll just be too complicated to keep everything sufficiently in sync as time goes on | 19:37:18 |
@pennae:matrix.eno.space | adding epub export to nrd is always an option, but docbook has to go :/ | 19:47:19 |
| 11 Jun 2023 |
@penguincoder:matrix.wolfie.pw | Where is the current manual located? | 00:53:28 |
@pennae:matrix.eno.space | which one? rendered or source? | 00:54:36 |
@penguincoder:matrix.wolfie.pw | Source! I’m curious about the above changes to your workflow and current state-of-the-world | 01:35:54 |
@pennae:matrix.eno.space | nixpkgs and nixos manuals live in the nixpkgs repo, under doc and nixos/doc respectively | 01:37:02 |
@pennae:matrix.eno.space | state of the world is basically "ugh" | 01:38:37 |
@pennae:matrix.eno.space | there's a lot of legacy docbook workflow that's in an eternal state of being replaced but not quite gone yet, which is always very fun and makes docs build errors extremely Fun™ to debug | 01:40:44 |
@penguincoder:matrix.wolfie.pw | Is it just built with CI? Much like a Unix system, I know CI. | 01:42:22 |
@pennae:matrix.eno.space | ci does build docs for prs, docs for user systems are built by hydra but use the same expressions | 01:43:33 |
@pennae:matrix.eno.space | or, if users added to the docs (eg via the module system), the docs are built on the user system. that's probably not the common case though | 01:44:28 |
@pennae:matrix.eno.space | especially since the nixos docs build was excrutiatingly slow for the longest time and still spends way to much time in docbook even now, but that's on the way out at least | 01:45:10 |
@penguincoder:matrix.wolfie.pw | Okay. Well, my current project at work is called “CI Speed”. Where are the jobs stored? I can piece together what they do and maybe find a quicker way to build it. | 01:50:23 |
@pennae:matrix.eno.space | we've got the speed thing sorted out, it's just a question of removing the docbook interim stage | 01:52:55 |
@pennae:matrix.eno.space | which is also for the most part just needs flipping a switch (and emplacing some dummy epubs that link to the html manual) | 01:53:56 |
@pennae:matrix.eno.space | (i think last we benchmarked it the docbook-free nixos manual build took five seconds, vs five minutes it took a few releases ago before xsltproc got their shit together somewhat) | 01:55:33 |
@penguincoder:matrix.wolfie.pw | Oh, that’s an impressive improvement in runtime. So the biggest challenge is just undesirable process and cruft? | 01:59:19 |
@pennae:matrix.eno.space | that's one way to put it | 01:59:58 |
@pennae:matrix.eno.space | docbook rendering has been (and still is to an extent) slow because xsltproc just isn't really up to the sizes of manuals we throw at it. and nobody likes writing docbook. | 02:01:09 |
@penguincoder:matrix.wolfie.pw | Is porting an option? | 02:06:17 |
@penguincoder:matrix.wolfie.pw | mdbook is nice | 02:06:31 |
@pennae:matrix.eno.space | well, we've already written an entirely new system because mdbook was deemed too large 😬 | 02:06:57 |
@pennae:matrix.eno.space | same principle though, if with a much larger markdown dialect that's more amenable to extension as we need | 02:07:27 |
@pennae:matrix.eno.space | the nixos manual build is currently the only thing that uses this and is unfortunately a bit complicated, so it's not quite that easy to demonstrate unless you dig a lot | 02:10:40 |
@penguincoder:matrix.wolfie.pw | Okay, that’s totally reasonable. Can you point me to that process?
Also: mdbook was too big? I thought it was small? | 02:26:43 |