diff --git a/lib/types/custom.nix b/lib/types/custom.nix index c42cd2ce..ace9ff1c 100644 --- a/lib/types/custom.nix +++ b/lib/types/custom.nix @@ -3,13 +3,11 @@ inherit (lib.strings) isString stringLength match; inherit (lib.types) listOf mkOptionType; in { - mergelessListOf = elemType: let - super = listOf elemType; - in - super - // { + mergelessListOf = elemType: + mkOptionType { name = "mergelessListOf"; - description = "mergeless ${super.description}"; + description = "mergeless list of ${elemType.description or "values"}"; + check = listOf elemType.check or (x: true); merge = mergeEqualOption; }; diff --git a/lib/types/dag.nix b/lib/types/dag.nix index a42ed513..6d289e27 100644 --- a/lib/types/dag.nix +++ b/lib/types/dag.nix @@ -62,7 +62,13 @@ in rec { inherit (elemType) getSubModules; getSubOptions = prefix: elemType.getSubOptions (prefix ++ [""]); substSubModules = m: dagOf (elemType.substSubModules m); - functor = (defaultFunctor name) // {wrapped = elemType;}; + functor = { + name = name; + type = dagOf; + wrapped = elemType; + payload = elemType; + binOp = a: b: a; + }; nestedTypes.elemType = elemType; }; }