Files
nixos/Droidnix/generated/hosts/traveldroid/traveldroid.nix
T
2026-03-21 13:11:31 +00:00

41 lines
977 B
Nix

{ lib, config, inputs, ... }:
let
username = config.defaultUser or "henrov";
modulesPath = ./generated/modules;
# import-tree gives { imports = { name = module; ... }; }
imported = inputs.import-tree modulesPath;
moduleSwitches = import ./assets/system/modules.conf;
# keep only enabled modules
enabledModules =
lib.filterAttrs (name: _: moduleSwitches.${name} or false)
imported.imports;
# evaluate modules properly (IMPORTANT)
evaluatedModules =
builtins.mapAttrs (_: m:
if builtins.isFunction m
then m { inherit lib config; }
else m
) enabledModules;
# final list of user fragments
moduleList = builtins.attrValues evaluatedModules;
in
{
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
home-manager.users =
lib.mkMerge moduleList;
# bonus: see what got loaded
environment.variables.LOADED_MODULES =
builtins.concatStringsSep "," (builtins.attrNames enabledModules);
}