Suppose I have some Nixpkgs overlays composed from other overlays:
overlayFoo = self: super: {
# ...
};
overlayBar = pkgs.lib.fixedPoints.composeExtensions overlayFoo (self: super: {
# ...
};
overlayBaz = pkgs.lib.fixedPoints.composeExtensions overlayFoo (self: super: {
# ...
});
And the user of the overlays would like to use them like this:
pkgs = import nixpkgs {
inherit system;
overlays = [overlayBar overlayBaz];
};
Since both overlayBar and overlayBaz depend on overlayFoo, how can I prevent overlayFoo from being applied more than once?
As mentioned in https://discourse.nixos.org/t/how-to-prevent-a-overlay-from-being-applied-more-than-once/27312/2?u=atry