Skip to content

Release 0.12.0: Add deduplication for systems and flakes options

Horizon Bot requested to merge add-flakes-list-to-validators into master

Summary

This release introduces improvements to reduce configuration duplication across CI modules and uses standard nixpkgs systems list.

Changes:

  • Use nixpkgs.lib.systems.flakeExposed for systems list
  • Add systems module for deduplicating build systems configuration
  • Add automatic flake validation to build modules
  • Improve flakes option defaults to reduce duplication

New systems module:

  • Adds gitlab-ci.systems module that provides a shared systems option
  • omnix and cachix modules now default to config.systems if available
  • Falls back to current system if systems module not imported

Auto-enable flake validation:

  • omnix and cachix now enable flake validation by default
  • Only applies if flake module is also imported
  • Can be disabled with flake.enable = false

Smart flakes defaults:

  • omnix.flakes and cachix.flakes default to flake.flakes if available
  • Falls back to [ "." ] if flake module not enabled
  • Eliminates duplication when same paths used across modules

Example configuration simplification:

Before:

omnix.systems = [ "x86_64-linux" ];
omnix.flakes = [ "." "./test" ];
flake.flakes = [ "." "./test" ];

After:

systems = [ "x86_64-linux" ];
flake.flakes = [ "." "./test" ];
omnix.enable = true;

Test plan

  • Verify flake evaluation with nix flake show
  • Test that omnix and cachix inherit systems and flakes correctly
  • Verify backward compatibility with explicit configurations

🤖 Generated with Claude Code

Merge request reports