31 lines
822 B
Nix
31 lines
822 B
Nix
let
|
|
modulesPath = ./generated/modules;
|
|
|
|
# import-tree as before
|
|
importedModules = inputs.import-tree modulesPath;
|
|
allModules = builtins.attrValues importedModules.imports;
|
|
|
|
# --- Import module switches ---
|
|
moduleSwitches = import ./assets/system/modules.conf;
|
|
|
|
# Only keep enabled modules
|
|
enabledModules = lib.filterAttrs (_: mod: moduleSwitches[_] or false) allModules;
|
|
|
|
getFragment = module:
|
|
if builtins.hasAttr "homeManagerExtraUserFragment" module
|
|
then module.homeManagerExtraUserFragment
|
|
else {};
|
|
|
|
homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} (map getFragment enabledModules);
|
|
|
|
in
|
|
{
|
|
networking.hostName = "traveldroid";
|
|
system.stateVersion = "26.05";
|
|
|
|
home-manager.users = lib.mkMerge [
|
|
(config.home-manager.users or {})
|
|
homeManagerExtraUserFragments
|
|
];
|
|
}
|