mattpolzin / nix-idris2-packages

1 stars 0 forks source link

Integrate into Nixpkgs? #16

Open ProducerMatt opened 5 days ago

ProducerMatt commented 5 days ago

I think this would be fantastic to have in Nixpkgs, maybe under an interface like

environment.systemPackages = [
  idris2.withPackages (with idris2Packages: [algebra parser])
];

This project is great. It took me a few days to find it, during which I started thinking that setting up Idris2 with pack dependencies was going to be much more difficult than it needed to be.

mattpolzin commented 5 days ago

This would be mostly possible to build in nixpkgs eventually. It currently uses IFD which isn’t allowed in nixpkgs, but that can be remedied with a little more work put into the update script I think. The bigger blocker is that building this functionality against v0.7.0 of Idris would be immensely more complex because I’ve added a number of utilities to Idris2 itself (like the dump-installdir command) that are not yet part of a release that nixpkgs can pin to.

Would be possible to get there someday!

ProducerMatt commented 5 days ago

... I’ve added a number of utilities to Idris2 itself (like the dump-installdir command) that are not yet part of a release that nixpkgs can pin to.

I didn't know that! Makes it even more impressive! Will your features be merged into Idris2 eventually?

Though merging upstream isn't required. Plenty of non-trivial Nix packages tweak something or even maintain a pseudo-fork.

mattpolzin commented 5 days ago

Oh, I did add those features to the upstream Idris2 project, if that’s what you’re suggesting I do. They just aren’t part of a release yet (they will be part of the 0.8.0 release whenever that happens).

mattpolzin commented 5 days ago

The big things that make it easier to use nightly Idris2 commits in this packageset now (that will be part of the next Idris2 release) are:

and specifically the Makefile changes here: https://github.com/idris-lang/Idris2/pull/3172