lib.types.submoduleWith: Interoperate with older version of submoduleWith

This commit is contained in:
Robert Hensing 2023-05-17 12:51:09 +02:00
parent 8d67bb4aa7
commit 2e485f2581

View file

@ -775,9 +775,11 @@ rec {
};
binOp = lhs: rhs: {
class =
if lhs.class == null then rhs.class
else if rhs.class == null then lhs.class
else if lhs.class == rhs.class then lhs.class
# `or null` was added for backwards compatibility only. `class` is
# always set in the current version of the module system.
if lhs.class or null == null then rhs.class or null
else if rhs.class or null == null then lhs.class or null
else if lhs.class or null == rhs.class then lhs.class or null
else throw "A submoduleWith option is declared multiple times with conflicting class values \"${toString lhs.class}\" and \"${toString rhs.class}\".";
modules = lhs.modules ++ rhs.modules;
specialArgs =