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

fix readme and simplify lib

+7 -8
+1 -2
README.md
··· 1 1 <!-- Badges --> 2 2 3 3 <p align="right"> 4 - <a href="https://nixos.org/"> <img src="https://img.shields.io/badge/Nix-Flake-informational?logo=nixos&logoCo 5 - lor=white" alt="Nix Flake"/> </a> 4 + <a href="https://nixos.org/"> <img src="https://img.shields.io/badge/Nix-Flake-informational?logo=nixos&logoColor=white" alt="Nix Flake"/> </a> 6 5 <a href="https://github.com/vic/flake-aspects/actions"> 7 6 <img src="https://github.com/vic/flake-aspects/actions/workflows/test.yml/badge.svg" alt="CI Status"/> </a> 8 7 <a href="LICENSE"> <img src="https://img.shields.io/github/license/vic/flake-aspects" alt="License"/> </a>
+6 -6
default.nix
··· 1 + lib: 1 2 let 2 3 transposeChild = child: parent: value: { inherit child parent value; }; 4 + 3 5 accTransposed = 4 6 acc: 5 7 { ··· 13 15 ${child} = value; 14 16 }; 15 17 }; 18 + 19 + eachChildAttrs = parent: lib.mapAttrsToList (transposeChild parent); 20 + deconstruct = lib.mapAttrsToList eachChildAttrs; 21 + reconstruct = lib.foldl accTransposed { }; 16 22 transpose = 17 - lib: 18 - let 19 - eachChildAttrs = parent: lib.mapAttrsToList (transposeChild parent); 20 - deconstruct = lib.mapAttrsToList eachChildAttrs; 21 - reconstruct = lib.foldl accTransposed { }; 22 - in 23 23 attrs: 24 24 lib.pipe attrs [ 25 25 deconstruct