Proposal: nixpkgs overlays for big things!

I agree that overlays or flakes might relieve some of our maintenance problems, but I think there are multiple axes to consider.

Some sets of packages are very divergent, KDE packages versus Erlang packages, for example. There are also platform definitions that can be potentially be applied to all package functions, but are divergent among themselves, Linux versus Darwin versus CloudABI. What I would like is an overlay mechanism for defining exotic platforms, or otherwise moving the majority of packages into overlays.