!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

404 Members
Discussion about documentation improvements around the Nix ecosystem78 Servers

Load older messages


SenderMessageTime
18 Dec 2023
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @jade_:matrix.org
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?

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:

  1. Show me how to make custom "search engine queries" in my browser (Chromium, Firefox, etc.), so that I can do something like "@nixopt gnome-keyring" and it jumps to search.nixos.org with a query for gnome-keyring. Similar things can be done for a lot of nix resources. (Also kind of teaches me how to fish, and semi-automate searching for a lot of other programming tools' docs.)

  2. Show me how to effectively search through Github for nix-lang code, and tell me which repositories are particularly excellent to use as examples, apart from nixos/nixpkgs.

Admittedly, this is far from ideal, but it's good enough.

05:11:32
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @jade_:matrix.org
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?
*

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:

  1. Show me how to make custom "search engine queries" in my browser (Chromium, Firefox, etc.), so that I can do something like "@nixopt gnome-keyring" and it jumps to search.nixos.org with a query for gnome-keyring. Similar things can be done for a lot of nix resources. (Also kind of teaches me how to fish, and semi-automate searching for a lot of other programming tools' docs.)
  2. Show me how to effectively search through Github for nix-lang code, and tell me which repositories are particularly excellent to use as examples, apart from nixos/nixpkgs.

Admittedly, this is far from ideal, but it's good enough to make progress with.

05:14:47
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @jade_:matrix.org
and the conceptual or how things fit together level is not that good

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
@bzzm3r:matrix.org@bzzm3r:matrix.org Especially for someone who comes from Rust, like I did, I just wish I had known about npins, instead of flakes. 05:16:31
@bzzm3r:matrix.org@bzzm3r:matrix.orgAlso, it's kind of important to know how systemd works.05:17:39
@bzzm3r:matrix.org@bzzm3r:matrix.org * 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
@jade_:matrix.org@jade_:matrix.org 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
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @jade_:matrix.org
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.
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 outdated, and the docs team is sleeping"
05:19:16
@bzzm3r:matrix.org@bzzm3r:matrix.orgso I actually tuned the official docs out, because clearly, I should be using flakes, right?05:19:38
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @jade_:matrix.org
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.
* 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
@tejing:matrix.org@tejing:matrix.orgIt's really hard to communicate the status of flakes to a newbie05:21:19
@tejing:matrix.org@tejing:matrix.orgor to anyone who doesn't already know, frankly05:21:50
@tejing:matrix.org@tejing:matrix.orgthe biggest thing that's hard to communicate is how much they don't actually matter05:22:35
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @tejing:matrix.org
It's really hard to communicate the status of flakes to a newbie
Yup, 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
@tejing:matrix.org@tejing:matrix.orgyou 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 is05:23:00
@tejing:matrix.org@tejing:matrix.orgevery 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 flakes05:24:16
@tejing:matrix.org@tejing:matrix.orgso they just aren't aware that all this stuff is just as doable without them05:24:41
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @tejing:matrix.org
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
partly! 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
@bzzm3r:matrix.org@bzzm3r:matrix.organd therefore, an aura of respectability, professionalism05:25:00
@bzzm3r:matrix.org@bzzm3r:matrix.orgwhen I started out, I thought the DetSys Nix installer was a the NixOS installer05:25:23
@bzzm3r:matrix.org@bzzm3r:matrix.orghttps://zero-to-nix.com/ <--- looks like the "real deal"05:26:25
@tejing:matrix.org@tejing:matrix.orgyeah, 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
@tejing:matrix.org@tejing:matrix.orgI'll also mention this tidbit here in case others find it a little useful: We talk about the relationship between how nix manages files and how programming languages deal with pointers, but for some reason when it comes to explaining why we avoid well-known paths, nobody seems to make the comparison to avoiding global variables05:31:58
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @tejing:matrix.org
I'll also mention this tidbit here in case others find it a little useful: We talk about the relationship between how nix manages files and how programming languages deal with pointers, but for some reason when it comes to explaining why we avoid well-known paths, nobody seems to make the comparison to avoiding global variables

Could it be, to some extent, because Nix's current tooling relies fairly heavily on things like environment variables?

I'm reminded of nix-shell/nix develop

05:36:53
@bzzm3r:matrix.org@bzzm3r:matrix.orgBut overall, that way of using Nix to explain things to beginners is super under-used.05:37:24
@bzzm3r:matrix.org@bzzm3r:matrix.org * But overall, that way of using Nix to explain things to beginners is under-used (and therefore has a lot of opportunity).05:38:12
@olafklingt:matrix.org@olafklingt:matrix.org
In reply to @bzzm3r: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:

  1. Automation is useful, and important, especially given the context we are in. Nix has peculiarities which make it difficult to document semi-automatically. Should these peculiarities be addressed directly first? Or should we "accept reality as it is", and merely paper over Nix?

  2. For a beginner (speaking as a beginner), learning Nix is especially difficult not because the Nix docs don't have good SEO, or because there isn't enough documentation. It's because there is a ton of noise; some of it quite purposeful/intentional.

I think most of the noise is not intentional. The difficult part of improving the documentation is not to add content but to make it more concise. So i basically agree with your observations.
08:05:12
@fricklerhandwerk:matrix.orgfricklerhandwerk And the reason we're circling around these issues are embedded in bzm3r's long introduction that started this exchange: as a group of developers working on the ecosystem, we lack focus and direction, and this is in part because there are so many rabbit holes. There are more problems to solve than hours available, and each of them is large enough to get frustrated and switch to something else. Therefore everything is notoriously unfinished. 08:05:59
@olafklingt:matrix.org@olafklingt:matrix.org
In reply to @olafklingt:matrix.org
I think most of the noise is not intentional. The difficult part of improving the documentation is not to add content but to make it more concise. So i basically agree with your observations.
While i was pondering on what i could recommend bzm3r: i realized that it might be not easy for beginners to take up the task of making things more concise. (I for example where not able yet to do so). ... maybe it still makes sense to pickup one topic and document it with a clear objective. So that others can find the things that can be reduced because of new tutorial/guide/....
08:29:23
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @olafklingt:matrix.org
I think most of the noise is not intentional. The difficult part of improving the documentation is not to add content but to make it more concise. So i basically agree with your observations.
Just to be clear, I'm not talking about the intentional obfuscation being due to the nix docs or devs.
09:27:46

Show newer messages


Back to Room ListRoom Version: 6