{ lib, ... }:
let
inherit (lib) types;
in
{
options = {
int = lib.mkOption {
type = types.lazyAttrsOf types.int;
};
list = lib.mkOption {
type = types.lazyAttrsOf (types.listOf types.int);
nonEmptyList = lib.mkOption {
type = types.lazyAttrsOf (types.nonEmptyListOf types.int);
attrs = lib.mkOption {
type = types.lazyAttrsOf (types.attrsOf types.int);
null = lib.mkOption {
type = types.lazyAttrsOf (types.nullOr types.int);
submodule = lib.mkOption {
type = types.lazyAttrsOf (types.submodule { });
config = {
int.a = lib.mkIf false null;
list.a = lib.mkIf false null;
nonEmptyList.a = lib.mkIf false null;
attrs.a = lib.mkIf false null;
null.a = lib.mkIf false null;
submodule.a = lib.mkIf false null;
}