Horizon is a haskell package set targetting new builds of GHC.
## Package Set Policy
This package set has the following policy.
* GHC will advance as often as possible
* Nonversioned locations (git, unversioned tarballs) are permitted to allow
GHC to advance.
* The following packages must always build:
* aeson
* beam-postgres
* composite-base
* dhall
* hedgehog
* hoauth2-providers
* log-effectful
* persistent-postgresql
* polysemy
* servant
* souffle-haskell
* streamly
* sydtest
* tasty
* wai-app-static
* warp
horizon-platform is a haskell package set targetting new builds of GHC. This package set extends [horizon-platform](https://gitlab.horizon-haskell.net/package-sets/horizon-platform).
The following things are expected to be here:
* aeson
* beam-postgres
* composite-base
* dhall
* hedgehog
* hoauth2-providers
* log-effectful
* persistent-postgresql
* polysemy
* servant
* souffle-haskell
* streamly
* sydtest
* tasty
* wai-app-static
* warp
## Updating the Package Set
Generating the nix expressions for the package set is a two step process.
1. Edit the `horizon.dhall` file.
2. Generate the nix expressions with `nix run develop/#horizon-gen-nix`.
2. Generate the nix expressions with
```
nix run develop/#horizon-gen-nix -- -jN
```
You can edit the `horizon.dhall` file in one of two ways: manually using a text
editor, or programatically using `horizon-shell`.
If you want to bumping everything listed in the `horizon.dhall` file to the latest
bounds, run
```
nix run develop/#try-to-upgrade-everything
```
### Using horizon-shell.
To use `horizon-shell`.
...
...
@@ -62,9 +67,6 @@ If you need to do additional manual overrides to the nix code, such as
`addPkgconfigDepends`, edit the `configuration/common.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
...
...
@@ -75,8 +77,8 @@ nix run develop/#feedback -- build
## Hoogle
To run a hoogle server containing the entire package set. Do
To get a hoogle instance for the entire package set, you can run: