Regenerated
This commit is contained in:
+29
-42
@@ -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=
|
||||
|
||||
Reference in New Issue
Block a user