diff options
| Commit | f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede (patch) | |
|---|---|---|
| Author | 2024-07-07 08:55:30 +0300 | |
| Committer | 2024-07-07 08:55:30 +0300 | |
| Files | 37d7d19aa83e5d2d7ab9370ddfda9091671d2972 /autoconfig.nix | |
| nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.tar nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.tar.gz nix-f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede.zip | ||
| Parent | 27b0e6bf1f4cc859d331d5c50030d8531c958452 (diff) | |
[all] Improved autoconfig-ing setup and added some configs
1 files changed, 17 insertions, 6 deletions
| -rw-r--r-- | autoconfig.nix | 23 |
diff --git a/autoconfig.nix b/autoconfig.nix index 0851514..5da9c3a 100644 --- a/autoconfig.nix +++ b/autoconfig.nix @@ -10,12 +10,23 @@ in { inherit (import ./machines/${dir}/sysidentity.nix) sysidentity; package-modules = - lib.mapAttrsToList - (_: module: module) - (lib.filterAttrs - (name: _: - (lib.hasInfix "_" name) -> (lib.hasPrefix (sysidentity.type + "_") name)) - (import ./packages)); + let + listget = attrname: + if sysidentity ? ${attrname} + then map + (v: ./modules + ("/" + v + (if lib.hasSuffix ".nix" v then "" else ".nix"))) + sysidentity.${attrname} + else []; + havelist = listget "have"; + droplist = listget "drop"; + modulelist = + if (sysidentity ? defaultempty) && sysidentity.defaultempty + then [] + else lib.mapAttrsToList + (name: _: ./modules + ("/" + name)) + (lib.filterAttrs (_: type: type == "regular") (builtins.readDir ./modules)); + in + lib.subtractLists droplist (havelist ++ modulelist); inputs-overlays = lib.mapAttrs |
