Skip to content
Snippets Groups Projects
README.md 1.24 KiB
Newer Older
Daniel Firth's avatar
Daniel Firth committed
# Horizon Haskell: Plutus
Daniel Firth's avatar
Daniel Firth committed

Daniel Firth's avatar
Daniel Firth committed
horizon-plutus is a Package Set targetting
[plutus-tx](https://github.com/input-output-hk/plutus).

## 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-tx
Daniel Firth's avatar
Daniel Firth committed
  * plutus-tx-plugin
Daniel Firth's avatar
Daniel Firth committed
## Updating the Package Set
Daniel Firth's avatar
Daniel Firth committed
Generating the nix expressions for the package set is a two step process.

1. Edit the `horizon.dhall` file.

2. Run
Daniel Firth's avatar
Daniel Firth committed
nix run develop/#horizon-gen-nix
Daniel Firth's avatar
Daniel Firth committed
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
Daniel Firth's avatar
Daniel Firth committed
`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.
Daniel Firth's avatar
Daniel Firth committed
## Feedback
Daniel Firth's avatar
Daniel Firth committed
To build all packages, run
Daniel Firth's avatar
Daniel Firth committed
nix run develop/#feedback -- build
Daniel Firth's avatar
Daniel Firth committed
## Hoogle

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

```
nix run .#run-hoogle
```