Files
nixos/Droidnix/generated/hosts/traveldroid/traveldroid.nix
T
2026-03-20 15:15:07 +00:00

47 lines
1.2 KiB
Nix

{ lib, config, inputs, ... }:
let
username = config.defaultUser or "henrov";
# Modules directory en switches
modulesPath = ./generated/parked;
importedModules = inputs.import-tree modulesPath;
moduleSwitches = import ./assets/system/modules.conf;
# Alleen ingeschakelde modules
enabledModules =
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
importedModules.imports;
moduleList = builtins.attrValues enabledModules;
# Functie: haal homeManagerExtraUserFragment en forceer het tot veilige attrset
safeFragment = module:
let
frag =
if builtins.hasAttr "homeManagerExtraUserFragment" module
then module.homeManagerExtraUserFragment
else {};
evaluated =
if builtins.isFunction frag then frag {} else frag;
in
if builtins.isAttrs evaluated then evaluated
else {};
# Alle fragments per module
allFragments = map safeFragment moduleList;
# Merge alles per gebruiker
mergedForUser = lib.foldl' lib.mkMerge {} allFragments;
in
{
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
# Top-level key is username → value is attrset
home-manager.users = {
"${username}" = mergedForUser;
};
}