!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

857 Members
Declaratively manage your switching, routing, wireless, tunneling and more. | Don't rely on `networking.*` use systemd-networkd and NetworkManager instead. | Set `SYSTEMD_LOG_LEVEL=debug` to debug networking issues with networkd | No bad nft puns, please. | Room recommendations: #sysops:nixos.org245 Servers

Load older messages


SenderMessageTime
29 Jul 2025
@elvishjerricco:matrix.orgElvishJerriccoI mean I can think of how to do it with no new features too17:37:08
@emilazy:matrix.orgemilywould you like it if we just… made the closures of things small enough that we can use it for everything?17:37:15
@emilazy:matrix.orgemilywithout the current hacks17:37:23
@elvishjerricco:matrix.orgElvishJerricco i.e. make a derivation that creates symlinks to everything listed in a ${closureInfo}/store-paths 17:37:38
@elvishjerricco:matrix.orgElvishJerriccothat's really not going to happen17:37:47
@emilazy:matrix.orgemilyI genuinely think it could!17:38:04
@emilazy:matrix.orgemilywhat do you think the blockers would be? (we could discuss in the systemd room)17:38:12
@elvishjerricco:matrix.orgElvishJerriccoeven if we split binaries from everything else in every relevant derivation (which is a lot of derivations), there's still way more binaries than necessary in a lot of those derivations17:38:33
@emilazy:matrix.orgemily it doesn't have to be a monolithic bin, we do split out individual binaries into their own outputs when necessary 17:39:02
@elvishjerricco:matrix.orgElvishJerriccoeven still, I don't like the idea of having to carefully watch over every derivation in the initrd dependency tree to make sure that none of them ever leaks something big in for the rest of time.17:40:03
@emilazy:matrix.orgemilywe can have a CI test that asserts on the initrd size17:40:32
@elvishjerricco:matrix.orgElvishJerriccoand having code all over nixpkgs to fix a lot of derivations just for the sake of initrd seems like a bad smell17:40:36
@emilazy:matrix.orgemilywell, a Hydra one rather17:40:36
@emilazy:matrix.orgemilywhich is good to have in general17:40:41
@emilazy:matrix.orgemily(we have it for the ISO)17:40:43
@emilazy:matrix.orgemilyI don't think so. split outputs and feature flags are there to reduce closure size where it matters. we don't like to do it without strong reason, but packages going into initrd is a strong reason17:41:12
@emilazy:matrix.orgemilyand if we can accomplish it without breaking the normal Nix closure mechanism that's better and means that other usecases can also benefit from the reduced closure17:41:48
@elvishjerricco:matrix.orgElvishJerriccoIt just seems like a major burden to be putting on nixpkgs that will require a notable amount of manual effort perpetually. I'm opposed.17:41:58
@emilazy:matrix.orgemilyI think it's also a burden to not be able to put packages in initrd without them breaking surprisingly because their closures got clipped17:42:58
@emilazy:matrix.orgemily do you have examples of things you think would be hard to split up to achieve the same results make-initrd-ng does? 17:43:19
@elvishjerricco:matrix.orgElvishJerricco but that's a much smaller burden because it only affects the packages that we can't automate with make-initrd-ng. The burden the other way is strictly greater because it necessarily includes those same cases and more. 17:44:07
@emilazy:matrix.orgemily when stuff doesn't need things that are in their closure to work, that's a non-ideal situation in general, if there's a reason you'd want to use them in size-constrained environments and the burden of splitting isn't too high (and the fact that make-initrd-ng produces something that works with them means that it shouldn't be too hard to split anything that does go in there now, by definition) 17:44:24
@emilazy:matrix.orgemilyno, I mean, if someone wants to include a full Python application in their initrd and pay the cost it seems fair that it should work17:44:49
@emilazy:matrix.orgemilyso there wouldn't be a closure minimization cost paid there17:45:00
@elvishjerricco:matrix.orgElvishJerriccoI think in a perfect world every binary would be its own output path in every single package and this would be trivial. But that's not what we have.17:45:45
@emilazy:matrix.orgemilyI might be wrong about the work it'd take to split things up! but my prediction is that using the normal closure mechanisms and just splitting up packages where relevant is not going to look more complex than what we do instead right now17:45:50
@elvishjerricco:matrix.orgElvishJerriccowhich leaves me believing this^17:45:53
@emilazy:matrix.orgemily there aren't that many things in initrd 17:45:57
@emilazy:matrix.orgemily and if we have checks for initrd size (which seems good in general to stop it growing accidentally for other reasons) then it seems like the burden would be appropriately distributed to maintainers of core packages with passthru.tests 17:46:56
@elvishjerricco:matrix.orgElvishJerriccoI'm just not convinced it's worth the effort, or sustainable17:47:15

Show newer messages


Back to Room ListRoom Version: 6