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

40 lines
1.3 KiB
Nix

{ lib, config, inputs, ... }:
let
username = config.defaultUser or "henrov";
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;
moduleList = builtins.attrValues enabledModules;
# Functie: forceer fragment naar attrset
forceFragment = frag:
let
evaluated = if builtins.isFunction frag then frag {} else frag;
asAttrs = if builtins.isAttrs evaluated then evaluated else {};
in
# Filter eventueel verborgen thunks/lists
lib.filterAttrs (name: _: builtins.isAttrs evaluated.${name} || builtins.isBool evaluated.${name} || builtins.isString evaluated.${name}) asAttrs;
# Haal en forceer alle home-manager fragments
safeFragments =
map (m: forceFragment (if builtins.hasAttr "homeManagerExtraUserFragment" m
then m.homeManagerExtraUserFragment else {}))
moduleList;
homeManagerExtraUserFragments = lib.foldl' lib.mkMerge {} safeFragments;
in {
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
home-manager.users = homeManagerExtraUserFragments;
}