!PSmBFWNKoXmlQBzUQf:helsinki-systems.de

Stage 1 systemd

73 Members
systemd in NixOs's stage 1, replacing the current bash tooling https://github.com/NixOS/nixpkgs/projects/5123 Servers

Load older messages


SenderMessageTime
6 May 2023
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgit includes variants for a whole lot of different storage mechanisms16:17:24
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgmost of the logic isn't the important part; look at the specific tests it defines for each storage type16:17:59
@mberndt:matrix.org@mberndt:matrix.orgEven bcachefs, apparently16:18:01
@mberndt:matrix.org@mberndt:matrix.orgSo I guess the best way to test this is probably just to add another test to that file16:20:04
@elvishjerricco:matrix.org@elvishjerricco:matrix.org yea, though this will be the first one that only supports systemdStage1 = true 16:21:00
@elvishjerricco:matrix.org@elvishjerricco:matrix.org

so where you add the test, instead of something like this:

stratisRoot = ...

You probably need to do something like this:

${if systemdStage1 then "stratisRoot" else null} = ...
16:22:13
@elvishjerricco:matrix.org@elvishjerricco:matrix.org nix is neat, so you can actually use an expression to evaluate a key name in an attrset if you put it in ${} 16:22:32
@elvishjerricco:matrix.org@elvishjerricco:matrix.org and if that expression evaluates to null it means not to add this attribute at all 16:22:45
@elvishjerricco:matrix.org@elvishjerricco:matrix.org (and make sure to add it to the list in installer-systemd-stage-1.nix) 16:23:29
@mberndt:matrix.org@mberndt:matrix.orgOh, neat16:31:29
@mberndt:matrix.org@mberndt:matrix.org Though I think I prefer something like // (if systemdStage1 then { stratisRoot = …; } else {}) 16:35:02
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgthat just means re-parenthesizing a big portion of the file16:36:51
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgwhich is kinda gross imo16:36:56
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgdoesn't really matter though16:36:59
@mberndt:matrix.org@mberndt:matrix.org Or // optionalAttrs systemdStage1 { stratisRoot = …; } 16:37:11
@mberndt:matrix.org@mberndt:matrix.orgWhy re-parenthesizing?16:37:40
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgoh, I guess there's no function being applied to the attrset so no parens necessary16:38:32
@arianvp:matrix.orgArianOmg it's so nice that systemd-analyze shows stage-1 delays now17:23:27
@arianvp:matrix.orgArianWith systemd initrd17:23:32
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgthat has been very nice yea17:23:50
@arianvp:matrix.orgArianMy NixOS VM boots in 4.8 seconds now17:24:08
@arianvp:matrix.orgArianWhich is very very nice17:24:12
@elvishjerricco:matrix.org@elvishjerricco:matrix.orgi just wish systemd-analyze could do stuff like critical-chain for the initrd17:25:26
@arianvp:matrix.orgArianYeh it only seems to carry over device units18:00:55
@mberndt:matrix.org@mberndt:matrix.orgOK, I have another question18:57:20
@mberndt:matrix.org@mberndt:matrix.orgThis is indented with 6 spaces: https://github.com/NixOS/nixpkgs/blob/2b8f1156a80abc2fc5842f34bd38f197b0935c1b/nixos/tests/installer.nix#LL118C7-L118C718:58:24
@mberndt:matrix.org@mberndt:matrix.orgSo clearly that variable needs to expand into a block of statements that are also indented with 6 spaces, right? Because it's Python, so you have to get the indentation right18:59:27
@k900:0upti.meK900No19:00:07
@k900:0upti.meK900 Nix strips indentation from multi-line strings 19:00:17
@mberndt:matrix.org@mberndt:matrix.orgOh19:00:27

Show newer messages


Back to Room ListRoom Version: 6