Skip to content

Use haskell-make-package-set.flakeModule for lts/ghc-9.6.x

Summary

Convert horizon-build-packages lts/ghc-9.6.x to use haskell-make-package-set.flakeModule for consistent package set building across all Horizon package sets.

Changes

Infrastructure

  • Add haskell-make-package-set.flakeModule
  • Add horizon-supported-systems for standardized system definitions
  • Add gitlab-ci-omnix for CI integration
  • Add treefmt-nix for code formatting
  • Use import-tree for modular flake-parts configuration

Directory Structure

Created modular nix/ directory:

  • nix/systems.nix - horizon-supported-systems integration
  • nix/ci.nix - gitlab-ci-omnix integration
  • nix/haskell.nix - haskell-make-package-set configuration
  • nix/treefmt.nix - code formatting (deadnix, statix, dhall, nixpkgs-fmt)

Cleanup

  • Remove develop/ folder (use remote tools instead)

Input Updates

  • Update gitlab-ci-omnix: 0.4.0 → 0.5.0
  • Update flake-parts, treefmt-nix to latest
  • Alphabetize inputs

Package Set

The package set remains minimal (3 packages: cabal-doctest, hscolour, jailbreak-cabal) and serves its bootstrapping purpose unchanged.

Testing

  • nix flake check passes
  • All packages build successfully
  • Treefmt formatting works

Notes

  • horizon-hoogle is intentionally NOT included because this minimal bootstrap set doesn't contain the hoogle package itself
  • Treefmt configuration matches horizon-ghc pattern for consistency

🤖 Generated with Claude Code

Merge request reports