I think there was an issue for this in nixpkgs…
But, if you like overlay experiments, take a look at overlays: (partially) recursive merge by danbst · Pull Request #54266 · NixOS/nixpkgs · GitHub
It allows extending/overriding python packages without packageOverrides
:
self: super: {
_merge_python27 = true; # can be moved into super overlay
python27._merge_pkgs = true; # can be moved into super overlay
python27.pkgs.pytest = self.python27.pkgs.pytest_37;
}
NBP brainstormed the idea of creating a small module under _merge
attribute for each overlay, to guide merge/extension semantics.