Hi all, As I build more and more images with Nix, I'm becoming acutely aware of our awkwardly large runtime closures (often filled with irrelevant packages), and I'm wondering if people have ideas for how to avoid it.
I've posted an issue[1] related to this in the past but figured I'd ask on the mailing list too. Basically, lots of packages have configuration scripts that will (often for dubious reasons) save various aspects of the configuration that built them into their outputs. This leads to unnecessary runtime dependencies on gcc and a whole host of other build-time crap, and often obviates the build/runtime dependency distinction. Right now I'm struggling with my image pulling in gcc because it legitimately depends on icu4c, which mysteriously retains a runtime dependency on gcc. Regardless of specifics, individual packages can usually be fixed to reduce their runtime footprint, but I'm looking for ideas for how to do so in a systematic manner, so we don't just notice these things by accident and fix them one by one. Does anyone have any thoughts? Also, multiple outputs won't really help with this problem because there's nothing stopping these packages from retaining references to many of our outputs. Thanks, Dan [1] https://github.com/NixOS/nixpkgs/issues/5895
_______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
