Regenerated
This commit is contained in:
+49
-37
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user