0.8.0: Add horizon.ci module and update to gitlab-ci 0.9.0
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 = trueto configure systems -
Restructure to use import-tree pattern - All modules now in
nix/directory
New Features
-
Add new
horizon.citop-level module for simplified CI configuration- Provides unified interface to configure omnix and cachix
- Automatically defaults to
horizon.systems.ci.hostandhorizon.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