tangled
alpha
login
or
join now
oeiuwq.com
/
flake-aspects
2
fork
atom
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
2
fork
atom
overview
issues
1
pulls
pipelines
fix readme and simplify lib
oeiuwq.com
4 months ago
cee29878
89dfd949
+7
-8
2 changed files
expand all
collapse all
unified
split
README.md
default.nix
+1
-2
README.md
···
1
1
<!-- Badges -->
2
2
3
3
<p align="right">
4
4
-
<a href="https://nixos.org/"> <img src="https://img.shields.io/badge/Nix-Flake-informational?logo=nixos&logoCo
5
5
-
lor=white" alt="Nix Flake"/> </a>
4
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
1
+
lib:
1
2
let
2
3
transposeChild = child: parent: value: { inherit child parent value; };
4
4
+
3
5
accTransposed =
4
6
acc:
5
7
{
···
13
15
${child} = value;
14
16
};
15
17
};
18
18
+
19
19
+
eachChildAttrs = parent: lib.mapAttrsToList (transposeChild parent);
20
20
+
deconstruct = lib.mapAttrsToList eachChildAttrs;
21
21
+
reconstruct = lib.foldl accTransposed { };
16
22
transpose =
17
17
-
lib:
18
18
-
let
19
19
-
eachChildAttrs = parent: lib.mapAttrsToList (transposeChild parent);
20
20
-
deconstruct = lib.mapAttrsToList eachChildAttrs;
21
21
-
reconstruct = lib.foldl accTransposed { };
22
22
-
in
23
23
attrs:
24
24
lib.pipe attrs [
25
25
deconstruct