Nix Documentation | 405 Members | |
| Discussion about documentation improvements around the Nix ecosystem | 78 Servers |
| Sender | Message | Time |
|---|---|---|
| 18 Dec 2023 | ||
| * (fricklerhandwerk I am purposefully choosing to write this here, rather than through an issue, because I would prefer if this were ephemeral. If you think it's okay to make it more permanent, let me know and I'll shift it to an issue.) I'm sort of willing to take on work that I am pointed to. But that motivation is not as high as it used to be, because: (laziness.0) as I learn Nix, I become less interested in documenting it. I have a workflow, and I have made painful, but necessary, progress in shedding my fear of just looking at the source code. (There, I very much appreciate the doc strings that do exist, when they exist; but I consider them to be random gifts rather than something to expect.) As an example, a task that is on my todo is to convert [this nix.dev page on the module system] into one that uses OpenStreetMap instead of the Google Maps API. But, I've been finding it hard to spend time on that, because I'm not sure why I should care. I went through the tutorial ultimately without actually running the code, and got what I needed out of it. So...why go back? (A counterargument would be this, which I completely agree with, but would beg for nuance on.) (sisyphean.0, laziness.1) I appreciate Johannes Kirschbauer @hsjobeki's work greatly, it is awesome, and I'm inclined to contribute, but...it feels quite futile. Once we are able to parse doc comments, well...then what? Comparing with Rust (as has happened many times in the conversation above) is difficult for Nix, because Rust's dev tools (including doc generation) are enabled by its type system, which allow for nice things like, for example, automated hyperlinking (between documentation, and between docs and source) or structured documentation generation. This reduces documentation burden for writers, to the point where even if someone does not provide any doc strings, the auto-generated documentation has useful hyperlink structure to determine the shape of the code. Better yet, you can open up the repo in an editor, and follow Without such tools, we're essentially attempting to solve the same problem Python has been trying to solve using tools like Sphinx, with dubious levels of success. So, it's hard to feel motivated to work on something which ultimately does not address some of the primary causes underlying what makes documenting Nix human-power intensive. (idealism.0, skepticism.0) I get distracted quite easily, so I started working on writing a CLI (using Rust) over And that's not easy to document automatically. Furthermore, part of the reason why I'm inclined to write such a CLI tool is in order to make it easy for others to pick up a flake-less approach. Nix contributors who have been around for a while are remarkably restrained in their discussion around flakes. I'm not so inclined to be so restrained (barring my anxiety and insecurity), since my learning experience with Nix/NixOS improved dramatically with the following simple rules:
| 04:40:56 | |
| So, ultimately, I'm not sure if working on more documentation would actually be helpful. | 04:42:25 | |
| * So, ultimately, I'm not sure if working on more documentation would actually be helpful, versus just adding more noise, to a signal already heavily affected by noise. | 04:47:18 | |
| i guess there's two separate issues: stuff that's genuinely not documented and stuff that's only documented in the source or documented twice | 04:52:21 | |
In reply to @jade_:matrix.org Maybe? Not sure. I can't help but think I lost the thread while writing that message, and therefore, readers would have too. But if I were to try again, much more succinctly:
| 05:01:00 | |
| yes, this is exactly my observation as well. people claim the docs are inadequate but there's actually a lot of them, they're just hard to organize i guess? | 05:05:30 | |
| * yes, this is exactly my observation as well. people claim the docs are inadequate but there's actually a lot of them, they're just hard to find what you want i guess? | 05:05:39 | |
| and the conceptual or how things fit together level is not that good | 05:06:09 | |
In reply to @jade_:matrix.org Hmm. Yeah. I wouldn't complain if someone made a search engine dedicated to searching through all official nix docs through a single location. But I would also have been happy with the following:
Admittedly, this is far from ideal, but it's good enough. | 05:11:32 | |
In reply to @jade_:matrix.org* Hmm. Yeah. I wouldn't complain if someone made a search engine dedicated to searching through all official nix docs through a single location. But I would also have been happy with the following:
Admittedly, this is far from ideal, but it's good enough to make progress with. | 05:14:47 | |
In reply to @jade_:matrix.org For me that is sort of a noise problem again? I would never have found this via googling. I don't think I have seen any third party blog post mention it. Similarly, I would have benefited from reading something along the lines of: "forget about home-manager and flakes for now; once you understand Nix/NixOS better, you'll be better placed to use them, and judge whether they are useful for you..." But for reasons that are...somewhat political?...there is a lot of smoke around this. | 05:15:51 | |
Especially for someone who comes from Rust, like I did, I just wish I had known about npins, instead of flakes. | 05:16:31 | |
| Also, it's kind of important to know how systemd works. | 05:17:39 | |
| * Also, it's kind of important to know how systemd works. If you know how to use it comfortably, you entirely eliminate the need for home-manager. | 05:18:01 | |
| so errr. yeah there are political reasons but oddly enough, the official docs are essentially completely not flakes. and i agree that every random blog post telling you to use home manager is pretty sad. | 05:18:10 | |
In reply to @jade_:matrix.orgWell, not so odd, now that I know more. But when I started out, I heard from others, and thought myself, that this is "only because they're outdated, and the docs team is sleeping" | 05:19:16 | |
| so I actually tuned the official docs out, because clearly, I should be using flakes, right? | 05:19:38 | |
In reply to @jade_:matrix.org* Well, not so odd, now that I know more. But when I started out, I heard from others, and thought myself, that this is "only because they're (the official docs) outdated, and the docs team is sleeping" | 05:20:06 | |
| It's really hard to communicate the status of flakes to a newbie | 05:21:19 | |
| or to anyone who doesn't already know, frankly | 05:21:50 | |
| the biggest thing that's hard to communicate is how much they don't actually matter | 05:22:35 | |
In reply to @tejing:matrix.orgYup, which is why I think that a value-judgement-free route is to explicitly say: "hey, flakes have some cool ideas, but you'll have a smoother start without them, and once you're set, you'll find it much easier to use and understand them" | 05:22:50 | |
| you can use them, or not use them. It doesn't have much actual impact on what you can and can't do, or how easy or hard it is | 05:23:00 | |
| every newbie and his brother is convinced everything under the sun "requires flakes"... I suspect because they're doing a lot of their learning from people who don't actually understand things themselves all that well, and only learned flakes | 05:24:16 | |
| so they just aren't aware that all this stuff is just as doable without them | 05:24:41 | |
In reply to @tejing:matrix.orgpartly! but also, in my case, I'm not ashamed to admit that some of the places talking from the flakes angle had really good graphic design | 05:24:53 | |
| and therefore, an aura of respectability, professionalism | 05:25:00 | |
| when I started out, I thought the DetSys Nix installer was a the NixOS installer | 05:25:23 | |
| https://zero-to-nix.com/ <--- looks like the "real deal" | 05:26:25 | |
| yeah, it's odd that way. nix is kinda still in the stage of that mad scientists gizmo with a bunch of levers sticking out at odd angles... the most in-touch resources regarding how it works tend to look a bit similar >.<. It takes a bit to realize that. | 05:26:49 | |