Add flakes list support to flake validators
Summary
Add support for validating multiple flakes using matrix jobs in flake validators.
Changes
- Added
flakesoption (default[".]) to flake-lock, flake-show, and flake-strict-inputs modules - All validators now use matrix jobs to validate each flake in the list (similar to omnix/cachix)
- Composite flake module passes flakes list to all sub-modules
- Updated strict-inputs validator to accept flake path as argument
- Updated CI config to validate test flakes alongside main flake
- Added documentation for validating multiple flakes
Benefits
This ensures test flakes have their inputs validated too, catching issues like:
- Unpinned dependencies in test environments
- Outdated flake.lock files in test directories
- Missing or invalid refs in test flake inputs
Example Usage
flake = {
enable = true;
flakes = [ "." "./test/my-test-flake" ]; # Validates both flakes
};
This creates matrix jobs that run each validator for every flake in the list.