Regenerated
This commit is contained in:
+18
-23
@@ -368,7 +368,7 @@ in
|
||||
* First the nix-files that flake really needs and that do not fit wel in the hierarchical structure
|
||||
** =generated/hosts/traveldroid/traveldroid.nix=
|
||||
#+BEGIN_SRC nix :tangle generated/hosts/traveldroid/traveldroid.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ lib, config, inputs, ... }:
|
||||
{ lib, config, pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
@@ -378,35 +378,31 @@ let
|
||||
|
||||
moduleSwitches = import ../../../assets/system/conf/modules.conf;
|
||||
|
||||
# STEP 1: evaluate all modules first
|
||||
evaluatedModules =
|
||||
map (m:
|
||||
if builtins.isFunction m
|
||||
then m { inherit lib config; }
|
||||
else m
|
||||
if builtins.isFunction m then m { inherit lib config; } else m
|
||||
) imported.imports;
|
||||
|
||||
# STEP 2: attach names safely, stripping .nix
|
||||
modulesWithNames =
|
||||
map (m: {
|
||||
name =
|
||||
if m ? _file
|
||||
then builtins.replaceSuffix ".nix" "" (builtins.baseNameOf m._file)
|
||||
else "unknown";
|
||||
name = if m ? _file then builtins.replaceSuffix ".nix" "" (builtins.baseNameOf m._file) else "unknown";
|
||||
value = m;
|
||||
}) evaluatedModules;
|
||||
|
||||
# STEP 3: filter enabled modules
|
||||
enabledModules =
|
||||
builtins.filter (m: moduleSwitches.${m.name} or false) modulesWithNames;
|
||||
|
||||
# STEP 4: extract final module values
|
||||
moduleList = map (m: m.value) enabledModules;
|
||||
|
||||
# STEP 5: debug info
|
||||
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";
|
||||
@@ -417,17 +413,16 @@ in
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
home-manager.users = lib.mkMerge moduleList;
|
||||
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
|
||||
);
|
||||
|
||||
# Write a debug file during build
|
||||
environment.etc."traveldroid-modules-debug.txt".text = debugContents;
|
||||
|
||||
# Print debug info to screen during evaluation
|
||||
# These must be at top-level, outside any attribute set
|
||||
# _ = builtins.trace debugContents true;
|
||||
#_ = builtins.trace
|
||||
# (toString (builtins.length enabledModules) + " modules enabled: " + builtins.concatStringsSep ", " (map (m: m.name) enabledModules))
|
||||
# true;
|
||||
# create the debug file
|
||||
environment.etc."traveldroid-modules-debug.txt".source = debugFile;
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
Reference in New Issue
Block a user