nix-community.nixvim/flake/ci.nix
Matt Sturgeon e18d3fb280
flake/ci: add ci.buildbot output
Adds top-level and per-system `ci.buildbot` option for defining tests to
build on buildbot.

These are exposed as the `ci.buildbot.«system»` flake output.
2025-05-30 20:56:17 +01:00

43 lines
875 B
Nix

{ lib, config, ... }:
let
inherit (lib)
mapAttrs
types
;
buildbotOpt = lib.mkOption {
type = types.lazyAttrsOf types.package;
default = { };
description = ''
A set of tests for [buildbot] to run.
[buildbot]: https://buildbot.nix-community.org
'';
};
in
{
perSystem = {
# Declare per-system CI options
options.ci = {
buildbot = buildbotOpt;
};
};
flake = {
# Declare top-level CI options
options.ci = {
buildbot = lib.mkOption {
type = types.lazyAttrsOf buildbotOpt.type;
default = { };
description = ''
See `perSystem.ci.buildbot` for description and examples.
'';
};
};
# Transpose per-system CI outputs to the top-level
config.ci = {
buildbot = mapAttrs (_: sysCfg: sysCfg.ci.buildbot) config.allSystems;
};
};
}