{ 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. ''; }; }; }