Install package from git commit hash

I am able to install unstable packages by version as in flox install unstable.nixpkgs-flox.jabref@5.6, but for a fix that does not bump the package version, the package is not rebuilt on flox hydra(?) apparently, i.e. I still see the error that should be fixed by jabref: add GSettings schemas path by linsui · Pull Request #185019 · NixOS/nixpkgs · GitHub.

Is it possible to install a nix package by a specific git commit hash and if so how best to do it?

Thanks for your question. We’ll add a note to make this more clear in the documentation for Nix experts, but the short answer is that flox supports flake URLs and you can invoke:

flox install nixpkgs/4668b9a35aa32041c13ed66cad965a7c19200cfc#jabref

Of course that package will in effect be pinned and flox upgrade won’t be able to upgrade it, so once that patch appears in our unstable branch (next Thursday) I would recommend replacing it with unstable.nixpkgs-flox.jabref so that it can be easily upgraded thereafter.

Please let us know how it goes, and thanks again for the feedback!

Actually … I provided the above answer assuming that the patch you requested hadn’t been merged to our unstable branch but it looks like it was merged long ago - long enough that it has already propagated to the stable branch. Let me investigate the status of that package in the catalog and get back to you, but either the above flake reference or flox install nixpkgs#jabref should work in the meantime.

Thanks for checking back, your answer and investigating this. The flox version I use is 0.0.5-r31.

I was able to get the correct and expected version with flox install nixpkgs#jabref so solved for me - thanks!

1 Like

Just a quick follow-up to say we’ve found and fixed the problem with the catalog so the latest versions of “jabref” are now available across all stabilities:

[brantley@clubsoda:~/src/flox-internal]$ flox search jabref 
jabref - Open source bibliography reference manager
  stable.nixpkgs-flox.jabref@5.1
  stable.nixpkgs-flox.jabref@5.5
  stable.nixpkgs-flox.jabref@5.6
  staging.nixpkgs-flox.jabref@5.5
  staging.nixpkgs-flox.jabref@5.6
  staging.nixpkgs-flox.jabref@5.7
  unstable.nixpkgs-flox.jabref@5.5
  unstable.nixpkgs-flox.jabref@5.6
  unstable.nixpkgs-flox.jabref@5.7

With that my recommendation is that you invoke flox edit to replace the flakeref with the equivalent floxpkgs tuple so that flox upgrade will work for you in future. Just search for and replace the “jabref” stanza with the following:

  [packages."jabref"]
  channel = "nixpkgs-flox"
  stability = "stable"

Hope this helps!

Thanks for letting me know, done!