From f087e4cda75ce0ab2dcf6f4a8dbcaad9ec876ede Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 7 Jul 2024 08:55:30 +0300 Subject: [all] Improved autoconfig-ing setup and added some configs --- autoconfig.nix | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'autoconfig.nix') 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 -- cgit v1.3.1-23-gd82d