Nix Documentation | 419 Members | |
| Discussion about documentation improvements around the Nix ecosystem | 88 Servers |
| Sender | Message | Time |
|---|---|---|
| 5 Feb 2024 | ||
| Someone can have a loom at https://github.com/NixOS/nixpkgs/pull/252091 ? | 18:11:31 | |
| 22:45:09 | ||
| 22:46:17 | ||
| 22:46:55 | ||
| 6 Feb 2024 | ||
So I decided to just start going through nix.dev in order and see if anything jumped out at me as worth diagramming. The nix-shell environment occurred to me when nix-shell came up early on. So, I attempted to diagram a little more detail of "what is happening". I was wondering if somebody could check my diagram for accuracy, and suggest improvements as to its accuracy. You can view the diagram in the mermaid live-editor here: https://mermaid.live/edit#pako:eNqtll9r2zAQwL_Kzd2jzdK9DPww2JZCH7YySBgMDJssnRpRWTKSHCd0_e6TZSe2Ezul3QiYWNb97v9JjxHVDKM0ypR1xOFSkHtDimT7PlNMGKROaAXrz5nKFKF0LZzEFO7ELrEblBIo8Q_ckaKUCHZvHRaJxC1KYC0piC3RUpPCShcIDB0REjQHAurIkUiMEur-wIqBWL8h2NSjmh8AUEmsXSLvFK4CgQsp06vFgl_HXCuX1CjuNy7NtWSxdUY_YFIL5jbpdbnrFtJcEvpwgqxyoysnFLZEuGKcLzi-hOHd-q82OTSFUKTjhQ0x1VKb9Ip9wAXnL6b3_KOxN2orjFYFKndcm9zmzH51DFLcf9gJ168P4jiAdAn72hTImdJBMgcipcFWZVMJ8aE87jqlX3RREMVioNrWZH98LbV1waBQP4f4dX6PmZAkHy_Z1YpM6w2yM5Fp5WY-ngieKJtKyUhgFOpW5lJkG9lRRA6BaNsri1ZBGLqW7nwrjS5KB6QmwoXObFzIoqYxRwH8R9TYrnNUN07auggil1x9PLg2BP3UFZhKpfC7HzhJ2dUMSC0pcb9b9kyee-Y5vWcGt4aV740J1Lkq6GFDIMMSFUNFBdpmTnZ2Nna0tkJeCekuoqfJOIjUlhhBculVWHwN6-1qvby5-_Hr-6f17TuPqEqwujIU2StgIX63Wj-EAwV9Bwv-Arumkn5MyyljVCxDY8Zvo4nybPtNM84LkOra-lzeeoyOm3P0DfwZV-BI73M49KZMy01LDmrVSw5LdRyk8SyfyRk68D1o9m7T9HTuDxZwGja6Bo-uPS5Hrg02poajfS4jJ-GcC2j_76n92z6fojgq_IAngvlrTEhpFrkNFt6nNHQTJ1XTLZlqtpLK6dVe0Sh1psI4qkrWX3uilBNp_Soy4bT51l6Nwg3p6S-2Tiw- | 03:01:02 | |
| The diagram is supposed to go with: https://nix.dev/tutorials/first-steps/ad-hoc-shell-environments | 03:01:35 | |
Download mermaid-diagram-2024-02-05-222724.png | 04:28:24 | |
In reply to @fractivore:cyberia.clubYou need to define more styles if you want to ensure all colors will match on all cases. On the live editor if you switch to the dark theme (the default that my browser uses) you'll see the text color doesn't work well with some of the backgrounds. Regarding the technical bits: there is no "exit subroutine" that sets things back. nix-shell is an entirely new shell on top of whatever shell you ran nix-shell ... on, so exiting is really just ending the nix-shell process, and then you'll be back on your original shell.More generally: I think adding diagrams to tutorials won't be productive, because a tutorial is meant to be more like a "step by step" thing rather than "what is happening" thing. There are definitely exceptions though, especially with more complex topics. I did a very quick look at the pages in the "tutorials" section on nix.dev again, and I think the pages that aren't on the "first steps" subsection are good targets for some diagrams. | 11:22:25 | |
| Also on the technical bits: the "nix-shell entry subroutine" box should ideally be inside the "nix-shell" box | 11:24:04 | |
| symys I tend to agree with danielsidhion that nix-shell isn't that good of a fit. It could work a bit better if the boxes represent forked processes, though that would be a very simple diagram. | 11:39:48 | |
| symys Looking through nix.dev myself, I can see potential for the [cross compilation](https://nix.dev/tutorials/cross-compilation) page to have a diagram for the difference between the platforms | 11:41:05 | |
| Could even include how Nix evaluation and remote building ties into that | 11:43:30 | |
| It's not done yet, but the [thunks tutorial](https://github.com/NixOS/nix.dev/pull/824) could really use diagrams. Haskell has an entire package for visualising thunks in practise even: https://dennis.felsing.org/ghc-vis/ | 11:50:22 | |
| Thanks for the feedback! | 12:44:28 | |
In reply to @infinisil:matrix.orgI think its okay if a diagram is really simple, "obvious" even as long as it's accurate and the reader knows it. | 13:06:57 | |
| I tend to agree, but there is a limit to how simple is still worth showing | 13:08:05 | |
| Folks can probably guess it due to the way this convos started but I am a huge fan of diagrams and graphs π | 13:08:05 | |
| Greetings everyone, Season of Docs opened up their applications on the 2nd of February. I wanted to check with you guys if you're fine with me coordinating this activity for the NixOS Foundation? I have previously successfully managed a prior Season of Docs participant in 2022 (see 'Talawa' in https://developers.google.com/season-of-docs/docs/2022/participants). If everyone agrees, I can draft a CFP in the following days that details the strategies we could use for this edition of the programme. | 13:11:15 | |
| I think simple diagrams are fine as long as they belong in a page intended to explain things and improve content overall | 13:12:22 | |
In reply to @dmills27:matrix.orgErm, whatever it's worth, I am 100% fine with that π ( the emoji is because I'm a noob, and while my opinion is still valid, there is truly very little weight to my opinion in this situation ) | 13:22:50 | |
In reply to @danielsidhion:nixos.devHuge thanks. Would you be willing to elaborate more on the details of nix-shell as a process, and/or know where I can read more about it? I've had a tough time finding the source code! It's not really discoverable in the same way nixpkgs source is (it's not in nixpkgs....? right?) , and it's also not a very easy thing to search for, due to the huge amount of ambiguity (nix shell vs nix-shell vs Now open up a shell and install nix...). | 13:40:05 | |
| I read the manual, but it's a manual - intended for usage rather than understanding. | 13:41:11 | |
| It's not in Nixpkgs, confusingly it's in NixOS/nix/src/nix-build/nix-build.cc https://github.com/NixOS/nix/blob/master/src/nix-build/nix-build.cc | 13:43:17 | |
In reply to @infinisil:matrix.orgThis is a completely new concept to me (thunks) , so I'll need to do some reading first, but thanks for the direction. | 15:01:35 | |
In reply to @fractivore:cyberia.clubAside from the source code already provided, I don't have any specific resources to link to. The concept of a shell and processes are more generic and not particular to nix, so to learn more about those, you'll have to learn a bit about operating systems. nix-shell is mostly just a regular shell with some extra stuff on top as you detailed in your diagram | 15:49:09 | |
In reply to @qyriad:matrix.orgsymys: Not only is it confusing - the flagship feature we put on the front page is a really ugly wart architecturally. Maybe the ugliest. Weβre still discussing how to maneuver away from it and still provide the same or better level of convenience and maintainability, but it requires pulling on multiple ends of the problem to get done. I recommend not to sweat it and focus on more pressing issues, namely those large areas that are not properly documented at all. | 16:24:16 | |
Which is to say: nix-shell is well-understood at the surface and has enough reference documentation to get quite far. The sharp edges and thorny problems are somewhere else. | 16:26:57 | |
| Maybe, but also keep in mind that I came to this diagram through an organic process of reading through the doc as a learner and reflecting on what wasn't quite clear to me. | 16:35:58 | |
| Looking over everything I could find on my own about nix-shell, in fact | 16:36:30 | |