Regenerated

This commit is contained in:
2026-03-21 13:11:30 +00:00
parent dd73c359b8
commit 89bad3ddfc
31 changed files with 31 additions and 1517 deletions
+29 -42
View File
@@ -373,47 +373,39 @@ let
username = config.defaultUser or "henrov";
modulesPath = ./generated/modules;
moduleSwitches = builtins.fromJSON (builtins.readFile ./assets/system/conf/modules.json);
importedModules = inputs.import-tree modulesPath;
# Keep only enabled modules
enabledModules = lib.filterAttrs (name: _: moduleSwitches.${name} or false)
importedModules.imports;
# import-tree gives { imports = { name = module; ... }; }
imported = inputs.import-tree modulesPath;
moduleList = builtins.attrValues enabledModules;
moduleSwitches = import ./assets/system/modules.conf;
# Recursive evaluator: forces functions → attrsets
forceAttrs = val:
if builtins.isFunction val then
forceAttrs (val {})
else if builtins.isAttrs val then
lib.mapAttrs (_: v: forceAttrs v) val
else if builtins.isList val then
map forceAttrs val
else
val;
# keep only enabled modules
enabledModules =
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
imported.imports;
# Extract fragment safely
safeFragment = m:
let frag =
if builtins.hasAttr "homeManagerExtraUserFragment" m
then m.homeManagerExtraUserFragment
else {};
in forceAttrs frag;
# evaluate modules properly (IMPORTANT)
evaluatedModules =
builtins.mapAttrs (_: m:
if builtins.isFunction m
then m { inherit lib config; }
else m
) enabledModules;
# Merge all fragments
mergedFragments = lib.foldl' lib.mkMerge {} (map safeFragment moduleList);
# final list of user fragments
moduleList = builtins.attrValues evaluatedModules;
in {
in
{
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
home-manager.users = {
"${username}" = mergedFragments;
};
home-manager.users =
lib.mkMerge moduleList;
# Bonus: list all imported module files
traveldroidModules = builtins.attrNames enabledModules;
# bonus: see what got loaded
environment.variables.LOADED_MODULES =
builtins.concatStringsSep "," (builtins.attrNames enabledModules);
}
#+END_SRC
@@ -674,19 +666,14 @@ let
mainConfigPath = "${assetPath}/hyprland.conf";
in
{
homeManagerExtraUserFragment = {
"${username}" = {
"${username}" = {
settings.general."col.active_border" =
lib.mkForce "0xff97cbcd 0xff89b4fa";
settings.general."col.active_border" =
lib.mkForce "0xff97cbcd 0xff89b4fa";
};
xdg.configFile."hypr/hyprland.conf".text =
builtins.readFile mainConfigPath;
};
xdg.configFile."hypr/hyprland.conf".text =
builtins.readFile mainConfigPath;
};
}
#+END_SRC
}#+END_SRC
** =generated/parked/apps/zenbrowser.nix=