Regenerated
This commit is contained in:
+20
-13
@@ -374,38 +374,45 @@ let
|
||||
|
||||
modulesPath = ./generated/modules;
|
||||
|
||||
# import-tree gives { imports = { name = module; ... }; }
|
||||
imported = inputs.import-tree modulesPath;
|
||||
|
||||
moduleSwitches = import ./assets/system/conf/modules.conf;
|
||||
moduleSwitches = import ./assets/system/modules.conf;
|
||||
|
||||
# keep only enabled modules
|
||||
# imported.imports is a LIST → filter it as a list
|
||||
enabledModules =
|
||||
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
|
||||
imported.imports;
|
||||
builtins.filter (m:
|
||||
let
|
||||
name =
|
||||
if builtins.hasAttr "__file" m
|
||||
then builtins.baseNameOf m.__file
|
||||
else "unknown";
|
||||
in
|
||||
moduleSwitches.${name} or false
|
||||
) imported.imports;
|
||||
|
||||
# evaluate modules properly (IMPORTANT)
|
||||
# evaluate modules
|
||||
evaluatedModules =
|
||||
builtins.mapAttrs (_: m:
|
||||
map (m:
|
||||
if builtins.isFunction m
|
||||
then m { inherit lib config; }
|
||||
else m
|
||||
) enabledModules;
|
||||
|
||||
# final list of user fragments
|
||||
moduleList = builtins.attrValues evaluatedModules;
|
||||
|
||||
in
|
||||
{
|
||||
networking.hostName = "traveldroid";
|
||||
system.stateVersion = "26.05";
|
||||
|
||||
home-manager.users =
|
||||
lib.mkMerge moduleList;
|
||||
lib.mkMerge evaluatedModules;
|
||||
|
||||
# bonus: see what got loaded
|
||||
# debug
|
||||
environment.variables.LOADED_MODULES =
|
||||
builtins.concatStringsSep "," (builtins.attrNames enabledModules);
|
||||
builtins.concatStringsSep "," (map (m:
|
||||
if builtins.hasAttr "__file" m
|
||||
then builtins.baseNameOf m.__file
|
||||
else "unknown"
|
||||
) enabledModules);
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user