Npins is a Nix dependency pinning tool strongly inspired by Niv. In fact, I hope it to be a worthy successor. If you’re familiar with Niv, the following new features might get your attention:
- Track releases on any git repository, optionally with version bounds
- Track Nix channels directly, which gives provides you the
programs.sqlite database that isn’t present when tracking
NixOS/nixpkgs as a git branch
- First class GitLab support
- Easy migration from Niv
Thank you to @andir who wrote the initial code (and who made the mistake of giving me access to the repo ).
Could you elaborate a bit on what you do differently in this project? I see niv is still maintained, having had a new release just 13 days ago. What is the motivation not to add this functionality to niv instead of starting a new project (e.g. Rust versus Haskell?)?
Note that Niv is maintained again. Npins development started shortly after this reddit post.
I can’t give you more details on this though because I wasn’t the one to start the project. However for me, I’m much more familiar with Rust than with Haskell so I didn’t mind, especially since the Niv code base appears dauntingly complex from my perspective.