Regenerated
This commit is contained in:
+26
-36
@@ -136,58 +136,48 @@ let
|
||||
modulesPath = "${flakeRoot}/generated/modules/${hostname}";
|
||||
usersPath = "${flakeRoot}/generated/users";
|
||||
|
||||
hostModulesRaw = import-tree modulesPath;
|
||||
globalUsersRaw = import-tree usersPath;
|
||||
hostModules = import-tree modulesPath;
|
||||
globalUsers = import-tree usersPath;
|
||||
|
||||
# Evaluate functions from import-tree
|
||||
evalModule = m:
|
||||
if lib.isFunction m then
|
||||
m { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }
|
||||
else
|
||||
m;
|
||||
|
||||
hostModules = lib.mapAttrs (_: mod: evalModule mod) hostModulesRaw;
|
||||
globalUsers = lib.mapAttrs (_: mod: evalModule mod) globalUsersRaw;
|
||||
|
||||
allModules = hostModules ++ globalUsers;
|
||||
|
||||
# Flatten modules for imports
|
||||
flattenModules = lib.flatten (lib.map (m: [ m ]) allModules);
|
||||
|
||||
# Merge all _module.args.hmUsers safely
|
||||
allHmUsers = lib.foldl' (acc: m:
|
||||
let
|
||||
hmUsers = if (builtins.hasAttr "_module" m) &&
|
||||
(builtins.hasAttr "args" m._module) &&
|
||||
(builtins.hasAttr "hmUsers" m._module.args)
|
||||
then m._module.args.hmUsers
|
||||
else {};
|
||||
in acc // hmUsers
|
||||
) {} allModules;
|
||||
allModules = hostModules.imports ++ globalUsers.imports;
|
||||
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Core system config
|
||||
#################################
|
||||
|
||||
networking.hostName = hostname;
|
||||
system.stateVersion = "26.05";
|
||||
|
||||
# Use flattened module list in imports
|
||||
#################################
|
||||
# Imports
|
||||
#################################
|
||||
|
||||
imports =
|
||||
flattenModules
|
||||
++ [
|
||||
[
|
||||
./boot.nix
|
||||
./hardware-configuration.nix
|
||||
|
||||
# REQUIRED for Home Manager
|
||||
home-manager.nixosModules.home-manager
|
||||
];
|
||||
]
|
||||
++ allModules;
|
||||
|
||||
#################################
|
||||
# Home Manager integration
|
||||
#################################
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users = allHmUsers;
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.dconf
|
||||
];
|
||||
# Install dconf for the system/user
|
||||
environment.systemPackages = [
|
||||
pkgs.dconf
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
# Ensure Home Manager writes dconf safely
|
||||
programs.dconf.enable = true;
|
||||
}
|
||||
|
||||
#+END_SRC
|
||||
|
||||
@@ -6,56 +6,46 @@ let
|
||||
modulesPath = "${flakeRoot}/generated/modules/${hostname}";
|
||||
usersPath = "${flakeRoot}/generated/users";
|
||||
|
||||
hostModulesRaw = import-tree modulesPath;
|
||||
globalUsersRaw = import-tree usersPath;
|
||||
hostModules = import-tree modulesPath;
|
||||
globalUsers = import-tree usersPath;
|
||||
|
||||
# Evaluate functions from import-tree
|
||||
evalModule = m:
|
||||
if lib.isFunction m then
|
||||
m { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }
|
||||
else
|
||||
m;
|
||||
|
||||
hostModules = lib.mapAttrs (_: mod: evalModule mod) hostModulesRaw;
|
||||
globalUsers = lib.mapAttrs (_: mod: evalModule mod) globalUsersRaw;
|
||||
|
||||
allModules = hostModules ++ globalUsers;
|
||||
|
||||
# Flatten modules for imports
|
||||
flattenModules = lib.flatten (lib.map (m: [ m ]) allModules);
|
||||
|
||||
# Merge all _module.args.hmUsers safely
|
||||
allHmUsers = lib.foldl' (acc: m:
|
||||
let
|
||||
hmUsers = if (builtins.hasAttr "_module" m) &&
|
||||
(builtins.hasAttr "args" m._module) &&
|
||||
(builtins.hasAttr "hmUsers" m._module.args)
|
||||
then m._module.args.hmUsers
|
||||
else {};
|
||||
in acc // hmUsers
|
||||
) {} allModules;
|
||||
allModules = hostModules.imports ++ globalUsers.imports;
|
||||
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Core system config
|
||||
#################################
|
||||
|
||||
networking.hostName = hostname;
|
||||
system.stateVersion = "26.05";
|
||||
|
||||
# Use flattened module list in imports
|
||||
#################################
|
||||
# Imports
|
||||
#################################
|
||||
|
||||
imports =
|
||||
flattenModules
|
||||
++ [
|
||||
[
|
||||
./boot.nix
|
||||
./hardware-configuration.nix
|
||||
|
||||
# REQUIRED for Home Manager
|
||||
home-manager.nixosModules.home-manager
|
||||
];
|
||||
]
|
||||
++ allModules;
|
||||
|
||||
#################################
|
||||
# Home Manager integration
|
||||
#################################
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users = allHmUsers;
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.dconf
|
||||
];
|
||||
# Install dconf for the system/user
|
||||
environment.systemPackages = [
|
||||
pkgs.dconf
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
# Ensure Home Manager writes dconf safely
|
||||
programs.dconf.enable = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user