fake.modules transposition for aspect-oriented Dendritic Nix. with cross-aspect dependencies. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/ dendrix.oeiuwq.com/Dendritic.html
dendritic nix aspect oriented

use explicit module value on forward

this allows imports to not be mistaken for an config value

+10 -9
+4 -8
checkmate/modules/tests/forward.nix
··· 21 21 22 22 targetSubmodule = { 23 23 options.targetMod = lib.mkOption { 24 - type = lib.types.submoduleWith { 25 - modules = [ 26 - { 27 - options.names = lib.mkOption { 28 - type = lib.types.listOf lib.types.str; 29 - }; 30 - } 31 - ]; 24 + type = lib.types.submodule { 25 + options.names = lib.mkOption { 26 + type = lib.types.listOf lib.types.str; 27 + }; 32 28 }; 33 29 }; 34 30 };
+6 -1
nix/forward.nix
··· 55 55 path = intoPath item; 56 56 aspect = fromAspect item; 57 57 module = aspect.resolve { class = from; }; 58 - config = lib.setAttrByPath path { imports = [ module ]; }; 58 + config = lib.setAttrByPath path ( 59 + { ... }: 60 + { 61 + imports = [ module ]; 62 + } 63 + ); 59 64 in 60 65 { 61 66 ${into} = config;