Getting started with Horizon as a developer is really simple. All you need to is follow the QuickStart instructions for Haskell.
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-advance at GHC 9.12.
mkdir horizon-haskell-template
cd horizon-haskell-template
nix flake init -t 'git+https://gitlab.horizon-haskell.net/templates/horizon-templates#advance'
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'