The “dependency hell” in my opinion is at the boundaries when one $lang package manager stops managing the dependencies. Usually because a C library is needed. Or when using multiple languages and now you need to install all the languages at the right versions to do development, typically in a big monorepo that contains multiple services.
GitHub - nix-community/todomvc-nix: Example on how to nixify a project [maintainer=@Rizary] is an example project that demonstrates the use of Nix as the sole build tool for both Haskell and Node.