47 lines
1.0 KiB
Nix
47 lines
1.0 KiB
Nix
{ lib }:
|
|
let
|
|
checkType = lib.types.submodule {
|
|
options = {
|
|
assertion = lib.mkOption {
|
|
type = lib.types.functionTo lib.types.bool;
|
|
description = ''
|
|
Predicate run against this registry's flattened collected entries.
|
|
'';
|
|
};
|
|
|
|
message = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = ''
|
|
Error message shown when this registry validation check fails.
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
in
|
|
{
|
|
options = {
|
|
type = lib.mkOption {
|
|
type = lib.types.raw;
|
|
description = ''
|
|
NixOS option type for one registry entry.
|
|
'';
|
|
};
|
|
|
|
replicate = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = ''
|
|
Whether collected entries are merged and published under every host key.
|
|
'';
|
|
};
|
|
|
|
checks = lib.mkOption {
|
|
type = lib.types.listOf checkType;
|
|
default = [ ];
|
|
description = ''
|
|
Validation checks for this registry's flattened collected entries.
|
|
'';
|
|
};
|
|
};
|
|
}
|