!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

887 Members
Declaratively manage your switching, routing, wireless, tunneling and more.259 Servers

Load older messages


SenderMessageTime
28 Jul 2025
@emilazy:matrix.orgemily I would just assert on useDHCP and NetworkManager 20:33:13
@marcel:envs.netMarcelok20:33:18
@emilazy:matrix.orgemily you could get fancy with config.systemd.network.{networks,netdevs,links} but I think it is not worth it 20:33:55
@marcel:envs.netMarcelbut to do it corrently i also had to interpret the ignore section of ifstate20:34:21
@marcel:envs.netMarcel * 20:34:31
@emilazy:matrix.orgemilylike20:36:15
@emilazy:matrix.orgemily you are also not asserting on networking.interfaces.* 20:36:25
@emilazy:matrix.orgemily which can make scripted networking try to control things, even if useDHCP is off 20:36:30
@emilazy:matrix.orgemily when we flip networking.useNetworkd on by default, that stuff will be backed by boot.initrd.systemd.network.enable 20:36:32
@emilazy:matrix.orgemilybut the semantics won't have changed20:36:33
@elvishjerricco:matrix.orgElvishJerriccoI think it is safe to assume that if someone is enabling ifstate they are not configuring other network management tools, and therefore it's ok to only have the bare minimum of assertions to ensure that20:37:35
29 Jul 2025
@marcel:envs.netMarcelIs there no systemd equivaltent to copy_bin_and_libs? When i use systemd.storePaths, the libs are missing. Because this is a python script it is quite annoying to specify every store path needed seperatly.06:49:34
@elvishjerricco:matrix.orgElvishJerricco
In reply to @marcel:envs.net
Is there no systemd equivaltent to copy_bin_and_libs? When i use systemd.storePaths, the libs are missing. Because this is a python script it is quite annoying to specify every store path needed seperatly.
I don't think we've ever tried to do Python in systemd initrd... that's indeed a new challenge. Likely the only reason it works in scripted is because it copies the whole Python program's closure, which would mean your initrd is drastically larger than necessary
07:00:32
@elvishjerricco:matrix.orgElvishJerricco yea, indeed, copy_bin_and_libs ${getExe ifstate} on your branch results in a non-functional nuke-refs'd program, and using the program outside of extra-utils instead pulls in the whole closure for a whopping 75M of initrd size. 07:22:17
@elvishjerricco:matrix.orgElvishJerricco * yea, indeed, copy_bin_and_libs ${getExe ifstate} on your branch results in a non-functional nuke-refs'd program, and using the program outside of extra-utils instead pulls in the whole closure for a whopping 75M increase of compressed initrd size. 07:22:41
@elvishjerricco:matrix.orgElvishJerriccoso getting python to behave well for initrd is going to be... tricky07:23:09
@elvishjerricco:matrix.orgElvishJerriccoluckily systemd initrd gives you more control over this sort of thing, but I'm not sure what the right approach is going to be07:24:25
@marcel:envs.netMarcelI mean Thomas is planing on rebuilding ifstate in rust because it's currently kind of slow of you use it on conjunction with keepalived. But this will probably take two years or so07:29:25
@k900:0upti.meK900I feel like it might be easier to switch to networkd07:29:46
@k900:0upti.meK900Than it is to coerce ifstate into running in initrd07:29:53
@elvishjerricco:matrix.orgElvishJerriccoI'm assuming python is too dynamic-brained to be able to statically determine which python files are needed by a given program?07:36:28
@elvishjerricco:matrix.orgElvishJerriccowell, I guess that's only a fraction of the problem, since you still need to include native libs and the interpreter and all that. Yea this sounds like pain07:37:40
@k900:0upti.meK900Yeah07:37:57
@marcel:envs.netMarcel
In reply to @elvishjerricco:matrix.org
yea, indeed, copy_bin_and_libs ${getExe ifstate} on your branch results in a non-functional nuke-refs'd program, and using the program outside of extra-utils instead pulls in the whole closure for a whopping 75M of initrd size.
Is there a reason why copy_bin_and_libs should not be working with systemd stage one?
07:39:52
@elvishjerricco:matrix.orgElvishJerricco copy_bin_and_libs is a extra-utils thing, which is not how systemd initrd defines its binaries. 07:40:42
@elvishjerricco:matrix.orgElvishJerriccoSee: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/kernel/make-initrd-ng/README.md07:40:44
@elvishjerricco:matrix.orgElvishJerriccoheh, that readme needs an update.07:43:08
@elvishjerricco:matrix.orgElvishJerriccoit describes taking pairs of paths as input but nowadays it's json07:43:19
@elvishjerricco:matrix.orgElvishJerricco it also doesn't cover a couple of the dependencies it chases, namely wrapped executables and the .dlopen ELF section things that systemd uses now. 07:44:13
@elvishjerricco:matrix.orgElvishJerriccooh no it does mention the wrapped exes07:45:05

Show newer messages


Back to Room ListRoom Version: 6