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

update checkmate (#17)

authored by oeiuwq.com and committed by

GitHub c929345a 9efdc393

+12 -17
+10 -7
checkmate.nix checkmate/modules/tests.nix
··· 3 3 perSystem = 4 4 { lib, ... }: 5 5 let 6 - transpose = import ./nix { inherit lib; }; 6 + transpose = import ../../nix { inherit lib; }; 7 7 8 8 mkFlake = 9 9 mod: ··· 14 14 { 15 15 systems = [ ]; 16 16 imports = [ 17 - ./nix/flakeModule.nix 17 + ../../nix/flakeModule.nix 18 18 inputs.flake-parts.flakeModules.modules 19 19 mod 20 20 (fooMod "aspectOne") ··· 75 75 76 76 new-scope."test usage without flakes" = 77 77 let 78 - flake-aspects-lib = import ./nix/lib.nix lib; 78 + flake-aspects-lib = import ../../nix/lib.nix lib; 79 79 # first eval is like evaling the flake. 80 80 first = lib.evalModules { 81 81 modules = [ ··· 124 124 { 125 125 systems = [ ]; 126 126 imports = [ 127 - ./nix/flakeModule.nix 127 + ../../nix/flakeModule.nix 128 128 inputs.flake-parts.flakeModules.modules 129 129 ]; 130 130 }; ··· 424 424 aspect.name 425 425 message 426 426 class 427 - ] ++ (lib.map (x: x.name) aspect-chain); 427 + ] 428 + ++ (lib.map (x: x.name) aspect-chain); 428 429 }; 429 430 aspectTwo.classOne.bar = [ "itself not included" ]; 430 431 }; ··· 455 456 __functor = aspect: { 456 457 includes = [ 457 458 { classOne.bar = [ "from-functor" ]; } 458 - ] ++ map (f: f { message = "hello"; }) aspect.includes; 459 + ] 460 + ++ map (f: f { message = "hello"; }) aspect.includes; 459 461 }; 460 462 }; 461 463 aspectTwo.__functor = ··· 489 491 __functor = aspect: { 490 492 includes = [ 491 493 { classOne.bar = [ "from-functor" ]; } 492 - ] ++ map (f: f { message = "hello"; }) aspect.includes; 494 + ] 495 + ++ map (f: f { message = "hello"; }) aspect.includes; 493 496 }; 494 497 }; 495 498 aspectTwo =
-1
checkmate/.gitignore
··· 1 - flake.lock
-7
checkmate/flake.nix
··· 1 - { 2 - inputs.target.url = "path:.."; 3 - inputs.checkmate.url = "github:vic/checkmate"; 4 - inputs.checkmate.inputs.target.follows = "target"; 5 - inputs.flake-parts.url = "github:hercules-ci/flake-parts"; 6 - outputs = inputs: inputs.checkmate.lib.newFlake; 7 - }
+2 -2
nix/types.nix
··· 93 93 type = lib.types.functionTo providerType; 94 94 default = 95 95 aspect: 96 - # deadnix: skip 97 96 { class, aspect-chain }: 98 - aspect; 97 + # silence nixf-diagnose :/ 98 + if true || (class aspect-chain) then aspect else aspect; 99 99 }; 100 100 options.modules = lib.mkOption { 101 101 internal = true;