# Horizon Haskell: Plutus 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-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 ```