Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
So going back to development, you generally will have best experience if you use tooling that converts lock file of your project into Nix. I mostly program in Python and really like using poetry2nix it takes the lock file and converts it into nix derivations which then Nix builds. You then get exact versions you want.
From your dicourse post I'm guessing your language is nodejs. Node is a bit worse supported than Python. Mainly, because nodejs really loves thousands of tiny packages while Nix is more used to packages being a little bigger, and less of them. Because of that there are many different approaches. I tried few of the projects, but I ended up liking npmlock2nix. What I like about this approach is that similarly to poetry2nix translates the lock file into nix on the fly without having to run any tool that would do the conversion.
I get that this discussion is all pretty ambiguous so I've tried to put some more info here:example gotchas](https://github.com/andyrichardson/nix-dep-managment)- [nixos forum discussion](https://discourse.nixos.org/t/coupling-between-transitive-dependencies/13459/6)