Haskell Package Publishing

QuickStart

Applications

These application templates are simple examples of how you might consume a horizon-package set in a nix project, but you are free to roll your own.

Haskell

For a basic Haskell template using horizon-core at GHC 9.10.

mkdir horizon-haskell-template
cd horizon-haskell-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#core'

For a basic Haskell template using horizon-platform at GHC 9.8.

mkdir horizon-haskell-template
cd horizon-haskell-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates'

For a more involved example using polysemy and several other dependencies.

mkdir horizon-haskell-template
cd horizon-haskell-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#danstack'

For a template using horizon-devtools and the haskell-language-server at GHC 9.6, use the comprehensive template.

mkdir horizon-haskell-template
cd horizon-haskell-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#comprehensive'

Plutus

For plutus using horizon-cardano at GHC 9.6

mkdir horizon-cardano-template
cd horizon-cardano-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#cardano'

Hydra

For a template using horizon-hydra at GHC 9.6, providing compatible versions of cardano-node, cardano-cli and hydra-node.

mkdir horizon-hydra-template
cd horizon-hydra-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#hydra'
Links to this page