Modular, context-aware and aspect-oriented dendritic Nix configurations. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
at main 28 lines 551 B view raw
1{ 2 inputs, 3 lib, 4 config, 5 ... 6}: 7let 8 types = import ./_types.nix { inherit inputs lib config; }; 9 baseMod = lib.mkOption { 10 type = lib.types.deferredModule; 11 default = { }; 12 }; 13in 14{ 15 options.den.hosts = types.hostsOption; 16 options.den.homes = types.homesOption; 17 options.den.base = { 18 conf = baseMod; 19 host = baseMod; 20 user = baseMod; 21 home = baseMod; 22 }; 23 config.den.base = { 24 host.imports = [ config.den.base.conf ]; 25 user.imports = [ config.den.base.conf ]; 26 home.imports = [ config.den.base.conf ]; 27 }; 28}