!tCyGickeVqkHsYjWnh:nixos.org

NixOS Networking

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

Load older messages


SenderMessageTime
29 Jul 2025
@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
@emilazy:matrix.orgemilywell, that's why I was asking if you have any examples in mind of things that would make it hard :)17:47:42
@elvishjerricco:matrix.orgElvishJerriccoif someone wants to proof-of-concept it, that would be cool17:47:43
@emilazy:matrix.orgemilyI'd be open to poking at it, but it'd of course be nice to start with the hardest thing first to not waste effort on easier stuff17:48:09
@elvishjerricco:matrix.orgElvishJerriccoI don't think any specific things are difficult. It's just a lot of things and its a burden that remains forever17:48:15

Show newer messages


Back to Room ListRoom Version: 6