The current implementation heavily use overlays, but actually it is better to avoid it unless there is a good reason for it. The primary API is currently provided as an overlay, it will probably better to provide a function that takes pkgs as an argument, and the function should be provided under lib in the flake.
Closing this issue as I am fine with using the overlay and don't find a much benefit on rewriting it. If someone finds this issue important, please reopen this issue.
See https://zimbatm.com/notes/1000-instances-of-nixpkgs.
The current implementation heavily use overlays, but actually it is better to avoid it unless there is a good reason for it. The primary API is currently provided as an overlay, it will probably better to provide a function that takes
pkgs
as an argument, and the function should be provided underlib
in the flake.