HORIZON HASKELLDocslts/ghc-9.14.xb2f3bfd2026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · b2f3bfd · 2026-10-11

Modulehorizon-config-shell-0.12.1GHC2024

Horizon.Config.Host

The host side: fold a config script into the vortex-native value schema (Horizon.Config.Schema) and write the nix — the per-package pkgs/*.nix, the overlay/package-set file, and (when the config pins a toolchain) flake.nix. This is the whole generator: the dhall front-end and horizon-gen-nix are gone; the writers live here (Horizon.Config.Writers). A config reaches no IO — only this host writes files.

  • 6 values
valuerunConfig :: Wisp -> Emit -> Config a -> IO a
#

Evaluate a config and write the nix. The only IO is the writers emitting files; the script itself reaches nothing. A config the checks refuse throws its ConfigError before anything is fetched or written.

valuepruneConfig :: Config a -> IO (Maybe Report)
#

Evaluate a config and report which declarations its roots do not reach, against the nix a previous run wrote under pkgs/. Writes nothing. Nothing when the config declares no roots. A config the checks of readDecl refuse throws its ConfigError, as a run would.