diff --git a/Droidnix/README.org b/Droidnix/README.org index f0c399ed8..b7822083e 100644 --- a/Droidnix/README.org +++ b/Droidnix/README.org @@ -133,39 +133,33 @@ The Nix flake definition for Droidnix. let hostname = "traveldroid"; + # Paths to your host modules and user modules modulesPath = "${flakeRoot}/generated/modules/${hostname}"; usersPath = "${flakeRoot}/generated/users"; + # Import all modules using import-tree hostModules = import-tree modulesPath; globalUsers = import-tree usersPath; allModules = hostModules.imports ++ globalUsers.imports; - /* - # Merge all _module.args.hmUsers from each module - allHmUsers = lib.foldl' (acc: m: acc // (m._module.args.hmUsers // {})) {} allModules; - */ - - # Inject merged users directly under Home Manager - home-manager.users = allHmUsers; - in { ################################# # Core system config ################################# - networking.hostName = hostname; system.stateVersion = "26.05"; ################################# # Imports ################################# - imports = [ ./boot.nix ./hardware-configuration.nix + + # Home Manager module home-manager.nixosModules.home-manager ] ++ allModules; @@ -173,20 +167,20 @@ in ################################# # Home Manager integration ################################# - home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - # Inject the merged hmUsers into Home Manager - _module.args.hmUsers = allHmUsers; + # Merge all _module.args.hmUsers from modules into a single users attribute + home-manager.users = lib.foldl' (acc m: acc // (m._module.args.hmUsers or {})) {} allModules; -# Install dconf for the system/user - environment.systemPackages = [ - pkgs.dconf - ]; + ################################# + # System packages & helpers + ################################# + environment.systemPackages = [ + pkgs.dconf + ]; -# Ensure Home Manager writes dconf safely - programs.dconf.enable = true; + programs.dconf.enable = true; } #+END_SRC diff --git a/Droidnix/generated/hosts/traveldroid/host.nix b/Droidnix/generated/hosts/traveldroid/host.nix index 09ea5ac8d..432b104cd 100644 --- a/Droidnix/generated/hosts/traveldroid/host.nix +++ b/Droidnix/generated/hosts/traveldroid/host.nix @@ -3,39 +3,33 @@ let hostname = "traveldroid"; + # Paths to your host modules and user modules modulesPath = "${flakeRoot}/generated/modules/${hostname}"; usersPath = "${flakeRoot}/generated/users"; + # Import all modules using import-tree hostModules = import-tree modulesPath; globalUsers = import-tree usersPath; allModules = hostModules.imports ++ globalUsers.imports; - /* - # Merge all _module.args.hmUsers from each module - allHmUsers = lib.foldl' (acc: m: acc // (m._module.args.hmUsers // {})) {} allModules; - */ - - # Inject merged users directly under Home Manager - home-manager.users = allHmUsers; - in { ################################# # Core system config ################################# - networking.hostName = hostname; system.stateVersion = "26.05"; ################################# # Imports ################################# - imports = [ ./boot.nix ./hardware-configuration.nix + + # Home Manager module home-manager.nixosModules.home-manager ] ++ allModules; @@ -43,18 +37,18 @@ in ################################# # Home Manager integration ################################# - home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - # Inject the merged hmUsers into Home Manager - _module.args.hmUsers = allHmUsers; + # Merge all _module.args.hmUsers from modules into a single users attribute + home-manager.users = lib.foldl' (acc m: acc // (m._module.args.hmUsers or {})) {} allModules; -# Install dconf for the system/user - environment.systemPackages = [ - pkgs.dconf - ]; + ################################# + # System packages & helpers + ################################# + environment.systemPackages = [ + pkgs.dconf + ]; -# Ensure Home Manager writes dconf safely - programs.dconf.enable = true; + programs.dconf.enable = true; }