Skip to content

0.8.0: Add horizon.ci module and update to gitlab-ci 0.9.0

Horizon Bot requested to merge 0.8.0-update-gitlab-ci into master

Changes

Breaking Changes

  • Remove horizon-gitlab-omnix-ci dependency - Replaced with direct gitlab-ci 0.9.0 dependency
  • Update horizon-supported-systems to 1.2.0 - Users must now explicitly set horizon.systems.supported.enable = true to configure systems
  • Restructure to use import-tree pattern - All modules now in nix/ directory

New Features

  • Add new horizon.ci top-level module for simplified CI configuration
    • Provides unified interface to configure omnix and cachix
    • Automatically defaults to horizon.systems.ci.host and horizon.systems.ci.targets
    • Uses new cachix pattern with om ci run --results=om.json + jq
    • Configuration options: enable, host, systems, flakes, cacheName
  • mkFlake now imports all horizon dependencies automatically - Test flakes no longer need to explicitly import dependencies

Example Usage

outputs = inputs:
  inputs.horizon-flake-parts.lib.mkFlake { inherit inputs; } {
    horizon.systems.supported.enable = true;
    horizon.ci.enable = true;
  }

Testing

  • Main flake evaluates successfully with gitlab-ci app
  • Test flake evaluates successfully with all 4 supported systems
  • Generated GitLab CI config uses correct horizon defaults

🤖 Generated with Claude Code

Merge request reports