forked from
oeiuwq.com/den
Modular, context-aware and aspect-oriented dendritic Nix configurations.
Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
1{ den, ... }:
2{
3 den.default.includes = [
4 # Example: parametric over many contexts: { home }, { host, user }, { fromUser, toHost }
5 den.provides.define-user
6 ];
7
8 perSystem =
9 {
10 checkCond,
11 rockhopper,
12 adelie,
13 ...
14 }:
15 {
16
17 checks.alice-exists-on-rockhopper = checkCond "den.default.user.includes defines user on host" (
18 rockhopper.config.users.users.alice.isNormalUser
19 );
20 checks.alice-not-exists-on-adelie = checkCond "den.default.user.includes defines user on host" (
21 !adelie.config.users.users ? alice
22 );
23 checks.will-exists-on-adelie = checkCond "den.default.user.includes defines user on host" (
24 adelie.config.users.users.will.isNormalUser
25 );
26 };
27}