Files
nixos/Droidnix/generated/hosts/traveldroid/traveldroid.nix
T
2026-03-21 14:45:56 +00:00

57 lines
1.4 KiB
Nix

{ lib, config, pkgs, inputs, ... }:
let
username = config.defaultUser or "henrov";
modulesPath = ./generated/modules;
imported = inputs.import-tree modulesPath;
moduleSwitches = import ../../../assets/system/conf/modules.conf;
evaluatedModules =
map (m:
if builtins.isFunction m then m { inherit lib config; } else m
) imported.imports;
modulesWithNames =
map (m: {
name = if m ? _file then builtins.replaceSuffix ".nix" "" (builtins.baseNameOf m._file) else "unknown";
value = m;
}) evaluatedModules;
enabledModules =
builtins.filter (m: moduleSwitches.${m.name} or false) modulesWithNames;
moduleList = map (m: m.value) enabledModules;
debugContents = builtins.concatStringsSep "\n"
(map (m: "${m.name} (${builtins.toString (builtins.length (builtins.attrNames m.value))} attrs)") enabledModules);
# write debug file on host
debugFile = pkgs.writeTextFile {
name = "traveldroid-modules-debug";
text = debugContents;
};
in
{
networking.hostName = "traveldroid";
system.stateVersion = "26.05";
imports = [
./boot.nix
./hardware-configuration.nix
];
home-manager.users = lib.mkMerge (
# force evaluation so that trace prints
map (m:
let _ = builtins.trace ("Module loaded: " + m.name) true;
in m.value
) enabledModules
);
# create the debug file
environment.etc."traveldroid-modules-debug.txt".source = debugFile;
}