Regenerated

This commit is contained in:
2026-03-27 08:41:30 +00:00
parent 2c0c6b5dd2
commit c51b1f4940
2 changed files with 98 additions and 74 deletions
+49 -37
View File
@@ -133,48 +133,29 @@ The Nix flake definition for Droidnix.
let let
hostname = "traveldroid"; hostname = "traveldroid";
# Paths to your host modules and user modules
modulesPath = "${flakeRoot}/generated/modules/${hostname}"; modulesPath = "${flakeRoot}/generated/modules/${hostname}";
usersPath = "${flakeRoot}/generated/users"; usersPath = "${flakeRoot}/generated/users";
# Import all modules using import-tree # Import raw modules (might be functions)
hostModules = import-tree modulesPath; hostModulesRaw = import-tree modulesPath;
globalUsers = import-tree usersPath; globalUsersRaw = import-tree usersPath;
allModules = hostModules.imports ++ globalUsers.imports; # Helper to fully evaluate import-tree nodes into module sets
evalModule = m:
if lib.isFunction m then
m { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }
else
m;
in # Evaluate all modules into sets
{ hostModules = lib.mapAttrsToList (_: mod: evalModule mod) hostModulesRaw;
################################# globalUsers = lib.mapAttrsToList (_: mod: evalModule mod) globalUsersRaw;
# Core system config
#################################
networking.hostName = hostname;
system.stateVersion = "26.05";
################################# # Merge all evaluated modules
# Imports allModules = hostModules ++ globalUsers;
#################################
imports =
[
./boot.nix
./hardware-configuration.nix
# Home Manager module # Merge all _module.args.hmUsers
home-manager.nixosModules.home-manager allHmUsers = lib.foldl' (acc: m:
]
++ allModules;
#################################
# Home Manager integration
#################################
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# Evaluate all modules from import-tree
allModulesEval = lib.mapAttrsToList (_: mod: mod { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }) hostModules;
# Then fold
home-manager.users = lib.foldl' (acc: m:
let let
hmUsers = if (builtins.hasAttr "_module" m) && hmUsers = if (builtins.hasAttr "_module" m) &&
(builtins.hasAttr "args" m._module) && (builtins.hasAttr "args" m._module) &&
@@ -182,10 +163,41 @@ in
then m._module.args.hmUsers then m._module.args.hmUsers
else {}; else {};
in acc // hmUsers in acc // hmUsers
) {} allModulesEval; ) {} allModules;
in
{
#################################
# Core system config
#################################
networking.hostName = hostname;
system.stateVersion = "26.05";
################################# #################################
# System packages & helpers # Imports
#################################
imports =
[
./boot.nix
./hardware-configuration.nix
home-manager.nixosModules.home-manager
]
++ allModules;
#################################
# Home Manager integration
#################################
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# Inject the merged users directly under Home Manager
home-manager.users = allHmUsers;
#################################
# Example: system packages
################################# #################################
environment.systemPackages = [ environment.systemPackages = [
pkgs.dconf pkgs.dconf
+49 -37
View File
@@ -3,48 +3,29 @@
let let
hostname = "traveldroid"; hostname = "traveldroid";
# Paths to your host modules and user modules
modulesPath = "${flakeRoot}/generated/modules/${hostname}"; modulesPath = "${flakeRoot}/generated/modules/${hostname}";
usersPath = "${flakeRoot}/generated/users"; usersPath = "${flakeRoot}/generated/users";
# Import all modules using import-tree # Import raw modules (might be functions)
hostModules = import-tree modulesPath; hostModulesRaw = import-tree modulesPath;
globalUsers = import-tree usersPath; globalUsersRaw = import-tree usersPath;
allModules = hostModules.imports ++ globalUsers.imports; # Helper to fully evaluate import-tree nodes into module sets
evalModule = m:
if lib.isFunction m then
m { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }
else
m;
in # Evaluate all modules into sets
{ hostModules = lib.mapAttrsToList (_: mod: evalModule mod) hostModulesRaw;
################################# globalUsers = lib.mapAttrsToList (_: mod: evalModule mod) globalUsersRaw;
# Core system config
#################################
networking.hostName = hostname;
system.stateVersion = "26.05";
################################# # Merge all evaluated modules
# Imports allModules = hostModules ++ globalUsers;
#################################
imports =
[
./boot.nix
./hardware-configuration.nix
# Home Manager module # Merge all _module.args.hmUsers
home-manager.nixosModules.home-manager allHmUsers = lib.foldl' (acc: m:
]
++ allModules;
#################################
# Home Manager integration
#################################
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# Evaluate all modules from import-tree
allModulesEval = lib.mapAttrsToList (_: mod: mod { lib = lib; pkgs = pkgs; config = config; flakeRoot = flakeRoot; home-manager = home-manager; }) hostModules;
# Then fold
home-manager.users = lib.foldl' (acc: m:
let let
hmUsers = if (builtins.hasAttr "_module" m) && hmUsers = if (builtins.hasAttr "_module" m) &&
(builtins.hasAttr "args" m._module) && (builtins.hasAttr "args" m._module) &&
@@ -52,10 +33,41 @@ in
then m._module.args.hmUsers then m._module.args.hmUsers
else {}; else {};
in acc // hmUsers in acc // hmUsers
) {} allModulesEval; ) {} allModules;
in
{
#################################
# Core system config
#################################
networking.hostName = hostname;
system.stateVersion = "26.05";
################################# #################################
# System packages & helpers # Imports
#################################
imports =
[
./boot.nix
./hardware-configuration.nix
home-manager.nixosModules.home-manager
]
++ allModules;
#################################
# Home Manager integration
#################################
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# Inject the merged users directly under Home Manager
home-manager.users = allHmUsers;
#################################
# Example: system packages
################################# #################################
environment.systemPackages = [ environment.systemPackages = [
pkgs.dconf pkgs.dconf