Skip to content
Snippets Groups Projects
Daniel Firth's avatar
4718a8f9

Horizon Haskell: Hydra

horizon-hydra is a Package Set targetting hydra and all dependencies required to interact with it.

Package Set Policy

This package set has the following policy.

  • GHC will advance as often as possible.
  • Non-versioned locations (git, unversioned tarballs) are permitted to allow GHC to advance.
  • The following packages must always build:
    • cardano-api
    • cardano-cli
    • cardano-node
    • hydra-node

Updating the Package Set

Generating the nix expressions for the package set is a two step process.

  1. Edit the horizon.dhall file.

  2. Run

nix run develop/#horizon-gen-nix

You can edit the horizon.dhall file in one of two ways: manually using a text editor, or programatically using horizon-shell.

Tweaking & Hacking

If you need to do additional manual overrides to the nix code, such as addPkgconfigDepends, edit the configuration.nix overlay, which is applied over the generated derivations.

If you need to nullify libraries, use the configuration/hacking.nix overlay. Try to leave a note as to why this library has been nullified.

Feedback

To build all packages, run

nix run develop/#feedback -- build

Hoogle

To run a hoogle server containing the entire package set. Do

nix run .#run-hoogle