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
at doc 37 lines 724 B view raw
1{ 2 mkFlake, 3 evalMod, 4 lib, 5 ... 6}: 7{ 8 9 flake.tests."test dependencies on aspects" = 10 let 11 flake = mkFlake { 12 flake.aspects = 13 { aspects, ... }: 14 { 15 aspectOne = { 16 description = "os config"; 17 includes = with aspects; [ aspectTwo ]; 18 classOne.bar = [ "os" ]; 19 }; 20 21 aspectTwo = { 22 description = "user config at os level"; 23 classOne.bar = [ "user" ]; 24 }; 25 }; 26 }; 27 expr = lib.sort (a: b: a < b) (evalMod "classOne" flake.modules.classOne.aspectOne).bar; 28 expected = [ 29 "os" 30 "user" 31 ]; 32 in 33 { 34 inherit expr expected; 35 }; 36 37}