mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
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.
43 lines
875 B
Nix
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;
|
|
};
|
|
};
|
|
}
|