!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

906 Members
on your Router! Declaratively manage your switching, routing, wireless, tunneling and more.269 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
29 Jul 2025
@marcel:envs.net@marcel:envs.net

Is this a crime?

storePaths =
            let
              closure = pkgs.closureInfo { rootPaths = [ initrdCfg.package ]; };
              closurePaths = lib.filter (path: path != "") (lib.splitString "\n" (builtins.readFile "${closure}/store-paths")) ;
            in
            closurePaths ++
            [
              config.environment.etc."ifstate/config.initrd.yml".source
            ];

now i only have to work on reducing the closure size.

19:57:37
@marcel:envs.net@marcel:envs.net *

Is this a crime?

storePaths =
  let
    closure = pkgs.closureInfo { rootPaths = [ initrdCfg.package ]; };
    closurePaths = lib.filter (path: path != "") (lib.splitString "\n" (builtins.readFile "${closure}/store-paths")) ;
  in
  closurePaths ++
  [
    config.environment.etc."ifstate/config.initrd.yml".source
  ];

now i only have to work on reducing the closure size.

19:58:08
@emilazy:matrix.orgemilyIFD19:58:51
@emilazy:matrix.orgemilyso criminal we have a name and a flag for the specific type of crime :)19:59:17
@emilazy:matrix.orgemilyit would break on Hydra19:59:19
@marcel:envs.net@marcel:envs.netahh ok19:59:56
@marcel:envs.net@marcel:envs.netat least my vm test works now ;D20:00:47
@elvishjerricco:matrix.orgElvishJerricco

Marcel: yea if you want to do closureinfo stuff to get full closures into systemd initrd I was thinking of something like this:

{
  boot.initrd.systemd.storePaths = [
    (runCommand "x"
      {
        info = closureInfo { rootPaths = [ hello ]; };
      }
      ''
        mkdir $out
        cat "$info"/store-paths | while read path; do
          ln -s "$path" "$out/$(basename "$path")"
        done
      ''
    )
  ];
}
20:03:53
@elvishjerricco:matrix.orgElvishJerricco *

Marcel: yea if you want to do closureinfo stuff to get full closures into systemd initrd I was thinking of something like this:

{
  boot.initrd.systemd.storePaths = [
    (runCommand "x"
      {
        info = closureInfo { rootPaths = [ hello ]; };
      }
      ''
        mkdir $out
        cat "$info"/store-paths | while read path; do
          ln -s "$path" "$out/$(basename "$path")"
        done
      ''
    )
  ];
}
20:03:57
@elvishjerricco:matrix.orgElvishJerricco but it'd probably be better to just have a make-initrd-ng feature for this 20:04:21
@elvishjerricco:matrix.orgElvishJerricco something like storePaths = [ { source = hello; closure = true; } ]; 20:04:47
@emilazy:matrix.orgemily if I clear my backlog for today I'm going to diff the closure of make-initrd{,-ng} 20:04:56
@emilazy:matrix.orgemilyand my rampage will begin :P20:05:02
@marcel:envs.net@marcel:envs.netno pressure - when ifstate releases i will just create an PR without initrd support and keep that initrd stuff localy untill we've figured something out20:08:17
@marcel:envs.net@marcel:envs.net
In reply to @elvishjerricco:matrix.org

Marcel: yea if you want to do closureinfo stuff to get full closures into systemd initrd I was thinking of something like this:

{
  boot.initrd.systemd.storePaths = [
    (runCommand "x"
      {
        info = closureInfo { rootPaths = [ hello ]; };
      }
      ''
        mkdir $out
        cat "$info"/store-paths | while read path; do
          ln -s "$path" "$out/$(basename "$path")"
        done
      ''
    )
  ];
}
thx
20:16:15
30 Jul 2025
@yan:we2.eeyan 💕 joined the room.01:42:17
@sandro:supersandro.deSandro 🐧re: ifstate: speaks something against static compilation?18:34:31
@marie:marie.cologneMarieit's python18:37:51
@denkn:denkn.atDenKnit should be also possible to compile python static. but you are only able to load libs written in plain python.19:03:12
@denkn:denkn.atDenKnbut why python in initrd?19:04:12
@marie:marie.cologneMarieto run ifstate19:08:11
@denkn:denkn.atDenKnfor configure network, you do not need ifstate. you can do anything with iproute2 except wg, sysctl, ...19:28:37
@marcel:envs.net@marcel:envs.netyeah, I don't need it, but I am not interested in defining my configuration in tow different formats twice, other than just reusing the configuration from the stage 2 system19:30:12
@marcel:envs.net@marcel:envs.net (this is about packaging ifstate, everything works already, also initrd, its just about reducing it's addition to the initrd) 19:31:00
@denkn:denkn.atDenKnso you need network in initrd?19:31:08
@marcel:envs.net@marcel:envs.netif you have an encrypted systemd which is not directly accessable (e.g. a server in a datancenter) and you wan't to reboot it you someshow need to enter the password - i know. there are thinkgs like ipmi but you cloud also start an sshd in the initrd and connect to it in order to enter the password19:32:27
@marcel:envs.net@marcel:envs.netsee https://wiki.nixos.org/wiki/Remote_disk_unlocking for some background info19:33:07
@marcel:envs.net@marcel:envs.net * (this is about packaging ifstate, everyth ing works already, also initrd, its just about reducing it's addition to the initrd in terms of size) 19:34:26

Show newer messages


Back to Room ListRoom Version: 6