Skip to content
Snippets Groups Projects
Daniel Firth's avatar
12f8d5b2

Horizon Haskell: Plutus

horizon-plutus is a Package Set targetting plutus-tx.

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:
    • plutus-ledger-api
    • plutus-tx
    • plutus-tx-plugin

Viewing Package Versions

To see the full list of library versions in this repository, do.

nix flake show git+https://gitlab.horizon-haskell.net/package-sets/horizon-plutus

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