You don’t have the same inputs in a shell.nix as in a normal package’s default.nix. and emulating that with inherit has no real benefits except that you need to maintain that inherit.
And it also is a documented antipattern.
That’s not an official documentation. Also rec is fine to use and the example given on the page is almost twice in size of lines for nothing really.
Let’s agree to disagree, though I have to be honest, regardless of the language, whether you call it with, import or use, doing it “unqualified” or with a broad glob is considered an antipattern by the respective communities.
I will continue to not use with, and I will continue to propose alternatives. Of course I will not force anyone to use one or the other.