dream2nix
dream2nix copied to clipboard
create repo nix-comunity/all-cabal-json
... which contains the cabal files of all hackage packages converted to json (by using cabal2json). This can be based on https://github.com/commercialhaskell/all-cabal-hashes, which contains cabal files and hashes. Basically we just need to exchange all cabal files in there with their json representation.
Requriements:
- The repo should contain a flake with an app which updates the data with the latest cabal files of all-cabal-hashes.
- The flake app could be implemented as an
impure derivation - The update job should be triggered by a github action regularly to update the repo with the latest packages from
all-cabal-hashes.
Benefits: This will be a major performance improvement. Currently the initial evaluation time for haskell projects suffers because all relevant cabal files need to be converted to json on-the-fly via IFD.
An example implementation for running cabal2json on all cabal files using gnu parallel can be found at:
github:NorfairKing/cabal2json#checks.x86_64-linux.all-cabal-json-files
i am on it
I think I am done with this. It only took me 29 days :).
The job runs once per day. The json documents are pushed to the hackage branch. https://github.com/nix-community/all-cabal-json/tree/hackage
Let me know if there is anything missing for this issue to be closed.