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

42 lines
1.2 KiB
Nix

{ lib, config, inputs, ... }:
# Standaard username
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 (blijft attrset)
enabledModules =
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
importedModules.imports;
# Zet modules om naar lijst
moduleList = builtins.attrValues enabledModules;
# Haal home-manager fragmenten op, converteer alles naar veilige attrsets
getFragment = module:
if builtins.hasAttr "homeManagerExtraUserFragment" module
then module.homeManagerExtraUserFragment
else {};
safeFragment = frag:
if builtins.isAttrs frag then frag
else if builtins.isFunction frag then {}
else {};
safeFragments = map (frag: safeFragment (getFragment frag)) moduleList;
# Merge alle veilige fragments
homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} safeFragments;
in {
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
home-manager.users = homeManagerExtraUserFragments;
}