Regenerated

This commit is contained in:
2026-03-21 18:56:23 +00:00
parent 64b672fae6
commit 886cb94209
30 changed files with 47 additions and 1512 deletions
+47 -34
View File
@@ -253,30 +253,26 @@ in
** =generated/modules/users/henrov.nix=
This is the default user, just search and replace henrov another name if you want to change
#+BEGIN_SRC nix :tangle generated/modules/users/henrov.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, ... }:
{ lib, config, pkgs, ... }:
let
user = {
username = "henrov";
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
homeDirectory = "/home/henrov";
};
username = "henrov";
in
{
# Define the system user properly
users.users.${user.username} = {
# NixOS system user
users.users.${username} = {
isNormalUser = true;
home = user.homeDirectory;
hashedPassword = user.hashedPassword;
home = "/home/${username}";
hashedPassword = "$6$S7iShgBxB.77CwmP$i0njK.2r3OL5UEvgZbmwZ0rnpZ4QyJcv8p9uCmJ4AiVPSMXkQkIwMLzyAOnJ0q8.tPLIp/7EquEIZeK8qbmgw/";
extraGroups = [ "wheel" "networkmanager" ];
};
# Home Manager config keyed by username
home-manager.users = {
"${user.username}" = {
# ONLY return HM user attrset (IMPORTANT)
_module.args.hmUsers = {
${username} = {
home.stateVersion = "26.05";
home.username = user.username;
home.homeDirectory = user.homeDirectory;
home.username = username;
home.homeDirectory = "/home/${username}";
};
};
}
@@ -380,37 +376,54 @@ let
# STEP 1: evaluate all modules
evaluatedModules =
map (m: if builtins.isFunction m then m { inherit lib config; } else m)
imported.imports;
map (m:
if builtins.isFunction m
then m { inherit lib config pkgs; }
else m
) imported.imports;
# STEP 2: attach names safely
# STEP 2: attach normalized names
modulesWithNames =
map (m: {
name =
if m ? _file
then builtins.replaceSuffix ".nix" "" (builtins.baseNameOf m._file)
then lib.removeSuffix ".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;
builtins.filter (m:
moduleSwitches.${m.name} or false
) modulesWithNames;
# STEP 4: build debug string
# STEP 4: extract ONLY Home Manager user attrsets
hmUserSets =
map (m: m.value._module.args.hmUsers or {}) enabledModules;
# STEP 5: debug string
debugContents =
builtins.concatStringsSep "\n"
(map (m:
"${m.name} (${builtins.toString (builtins.length (builtins.attrNames m.value))} attrs)"
let attrCount =
if builtins.isAttrs m.value
then builtins.length (builtins.attrNames m.value)
else 0;
in
"${m.name} (${builtins.toString attrCount} attrs)"
) enabledModules);
# STEP 5: create REAL debug file in store
hostDebugFile = pkgs.runCommand "traveldroid-modules-debug-host" {} ''
mkdir -p $out
cat > $out/traveldroid-modules-debug.txt <<EOF
${debugContents}
EOF
'';
# STEP 6: FORCE trace (important!)
tracedModules =
builtins.trace
("==== Enabled modules (" +
builtins.toString (builtins.length enabledModules) +
") ====\n" + debugContents)
enabledModules;
# STEP 7: proper debug file in store
debugFile = pkgs.writeText "traveldroid-modules-debug.txt" debugContents;
in
{
@@ -422,15 +435,15 @@ in
./hardware-configuration.nix
];
# Merge enabled modules
# ✅ Correct merge: ONLY HM user attrsets
home-manager.users =
lib.mkMerge (map (m: m.value) enabledModules);
lib.mkMerge hmUserSets;
# Debug file inside VM (optional fallback)
# Optional: also inside VM
environment.etc."traveldroid-modules-debug.txt".text = debugContents;
# Expose derivation so post-build hook can detect it
system.build.traveldroidDebug = hostDebugFile;
# Expose debug file as build output
system.build.modulesDebug = debugFile;
}
#+END_SRC