3 ms·
Nix can be a huge pain to use, and with the recent redesign it somehow feels even more disjointed than before. But it's still one of my favorite pieces of softw
by roland-s 4y ago
Nix can be a huge pain to use, and with the recent redesign it somehow feels even more disjointed than before. But it's still one of my favorite pieces of software. I think a clean interface like https://devenv.sh/ https://devenv.sh/ could make all the difference (havent tried it yet but looks promising).
That said, if I understand you correctly, I think nix does let you do what you're describing. You can make an overlay, which is a way to modify a set of packages by reaching in and changing build instructions or add packages to the set. So, you can make an overlay of nixpkgs and add a modified libgcc called mylibgcc to the set. In the same overlay, you can modify package A and package B that depend on libgcc, and change their build instructions, including making them use mylibgcc as a build dependency. If you do this for then both packages will use mylibgcc as a single shared dependency without duplicating it.
Im on mobile but could try to send a working example if you need one, lmk.
Some references:
https://nixos.wiki/wiki/Nixpkgs/Modifying_Packages https://nixos.wiki/wiki/Nixpkgs/Modifying_Packages
https://nixos.wiki/wiki/Overlays https://nixos.wiki/wiki/Overlays