I tend to just override nixpkgs downstream.
I think the situation you are describing is more power-user.
Flakes to me introduced a lot of overhead beyond what niv can provide.
I get 99% value just pinning my top level dependencies since most of the time I'm referring nixpkgs + 1-2 other packages.