!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

419 Members
Discussion about documentation improvements around the Nix ecosystem86 Servers

Load older messages


SenderMessageTime
25 Nov 2023
@bzzm3r:matrix.org@bzzm3r:matrix.orgWhile I'm not sure I can make it to weekly meetings (anxiety), I think I'm slowly clobbering together enough to eventually contribute more documentation. 20:56:40
26 Nov 2023
@infinisil:matrix.orginfinisil
In reply to @bzzm3r:matrix.org

I made an attempt to switch from a flakes based NixOS configuration, to a npins managed standard configuration.nix based one. I almost got there, but couldn't figure out the last trick (getting nixos-rebuild to use the pinned packages instead of whatever it has in store). I found various bits of information about it on the internet (in the context of niv, which I think is mostly applicable here, but ultimately couldn't figure out the last little bit (getting nixos-rebuild switch to work), and I am conceptually lost enough now that the most I can do is write out a Discourse post discussing the situation, and hoping for the best.

So, for now, I am tucking my tail between my legs and trotting off back to flakes.nix. The solution might lie in simply doing a live reboot from an iso that is built that is built using an npins managed nixpkgs from the start (rather than rebuild switching into it).

But yeah, I can see why you'd just continue carrying on with flakes.nix, if yours is already quite complicated (mine isn't, it's just a glorified pinned entrypoint into my configuration modules).

Yeah nixos-rebuild really can't do that, which is why I wrote a small wrapper in https://github.com/infinisil/sanix
07:03:14
@infinisil:matrix.orginfinisilI wrote this exactly for what you were trying :)07:04:42
@olafklingt:matrix.org@olafklingt:matrix.org where do i find the functions pkgs.nixos and pkgs.path in the nixpkgs manual? only found nixos but pkgs.path nowhere. 13:54:26
@infinisil:matrix.orginfinisil olaf: When you're looking for Nixpkgs docs, the question shouldn't be "Where is", but rather "Is there" xD 18:39:04
@infinisil:matrix.orginfinisilSounds like PR material to me!18:39:31
@olafklingt:matrix.org@olafklingt:matrix.orgYes it should be in nixpkgs manual. 18:43:11
@olafklingt:matrix.org@olafklingt:matrix.orgI added a commit to the vm tutorial pr with a detailed description of the reproducable command. It's not finished yet but i would like to know if it is the right direction to add such a description. https://github.com/NixOS/nix.dev/pull/807/commits/ff5c7fad92acc9deb4fcd40d39eeb9300cd41cfa18:49:22
@infinisil:matrix.orginfinisilhttps://discourse.nixos.org/t/announcing-nixlang-wiki/36049 😕19:08:23
@sternenseemann:systemli.orgsternijust one more separate documentation resource just one more I promise it’s gonna fix it19:33:23
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @infinisil:matrix.org
Yeah nixos-rebuild really can't do that, which is why I wrote a small wrapper in https://github.com/infinisil/sanix
🤩
23:49:51
27 Nov 2023
@asymmetric:matrix.dapp.org.ukasymmetricidk if this is the first outside contribution to nrd, but it's a good validation of the choice of moving to python that we got one, imo! https://github.com/NixOS/nixpkgs/pull/26994215:36:38
28 Nov 2023
@curtismchale:matrix.orgcurtismchale joined the room.15:47:32
@curtismchale:matrix.orgcurtismchale
In reply to @infinisil:matrix.org
https://discourse.nixos.org/t/announcing-nixlang-wiki/36049 😕
I saw this and wondered if there was something I could do to help the official docs team. So I'm here now as an experienced dev, but NixOS neophyte. Maybe I can help document stuff when I get stuck because the docs seem to have some decent assumed knowledge that I don't currently have.
15:49:18
@curtismchale:matrix.orgcurtismchale set a profile picture.15:53:48
@infinisil:matrix.orginfinisil curtismchale: Awesome! I think one of the easiest things to help out with is to just read through nix.dev, to both learn about Nix, and to discover the structure of nix.dev. And if you find any problems, anything that's unclear or doesn't work, file an issue in the github repo, or even better, submit a PR to fix it :) 16:17:49
@Minijackson:matrix.orgMinijackson hey! I've had someone skim through the Nix language basics tutorial of nix.dev, and he mentioned something quite interesting, there's no mention of the if ... then ... else ... construct 17:42:46
@Minijackson:matrix.orgMinijacksonis there somewhere else where it's introduced ?17:43:00
@Minijackson:matrix.orgMinijackson * is there somewhere else where it's introduced?17:43:01
@infinisil:matrix.orginfinisil Minijackson: Looks like an oversight! Could you open an issue for this? 18:23:59
@Minijackson:matrix.orgMinijacksonsure!18:24:23
@Minijackson:matrix.orgMinijacksondone: https://github.com/NixOS/nix.dev/issues/81718:32:24
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @infinisil:matrix.org
Minijackson: Looks like an oversight! Could you open an issue for this?
It’s not an oversight. As mentioned at least twice in bold letters in the introduction, this is not supposed to be a complete overview but shall rather point out things that are both important and unusual about the language. Conditionals are neither, therefore they aren’t there. The article is very long already.
19:27:33
@fricklerhandwerk:matrix.orgfricklerhandwerkWhat I could really need help with is cleaning up the language reference in the Nix manual. It’s still mostly a long meandering wall of text that needs to be a lot more concise, needs more focused examples, and most importantly syntax patterns for all the constructs.19:29:43
29 Nov 2023
@zmitchell:matrix.org@zmitchell:matrix.org You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language…  16:50:43
@Minijackson:matrix.orgMinijacksonI do think the tutorial needs to quite small to be digestible. Maybe the page needs to be split into a Tutorial + Reference?17:49:22
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @zmitchell:matrix.org
You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language… 

Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.

We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild.

17:55:55
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @zmitchell:matrix.org
You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language… 
* Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.
We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild. This is e.g. why builtins are mentioned, but not in any detail.
17:56:27
@zmitchell:matrix.org@zmitchell:matrix.org Even if that’s the case, the fact that most people use imperative languages with if-statements is reason enough to at least call out that they do exist if you want them, but you probably want to do XYZ instead. 20:09:16
@fricklerhandwerk:matrix.orgfricklerhandwerk * Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.
We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild. This is e.g. why builtins are mentioned, but not in any detail.
23:43:47

Show newer messages


Back to Room ListRoom Version: 6