1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-08 19:46:05 +01:00

Revert "nixos-module: Fix potential recursion between users.users and home-ma…" (#6745)

This reverts commit 216690777e.

Reverts #6622

Seems to be causing issues for other users, though. Will revert and we can try again with some tests in place.
This commit is contained in:
Austin Horstman 2025-04-01 09:52:10 -05:00 committed by GitHub
parent 55cf1f1632
commit 0afad8f080
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 19 deletions

View file

@ -54,17 +54,17 @@ let
hmPath = toString ./..;
buildOptionsDocs =
args@{ modules, includeModuleSystemOptions ? true, isNixos ? false, ... }:
buildOptionsDocs = args@{ modules, includeModuleSystemOptions ? true, ... }:
let
options = (lib.evalModules {
inherit modules;
class = "homeManager";
}).options;
in pkgs.buildPackages.nixosOptionsDoc ({
options = builtins.removeAttrs options ([ ]
++ (lib.optional (!includeModuleSystemOptions) "_module")
++ (lib.optional (isNixos) "users"));
options = if includeModuleSystemOptions then
options
else
builtins.removeAttrs options [ "_module" ];
transformOptions = opt:
opt // {
# Clean up declaration sites to not refer to the Home Manager
@ -80,11 +80,7 @@ let
else
decl) opt.declarations;
};
} // builtins.removeAttrs args [
"modules"
"includeModuleSystemOptions"
"isNixos"
]);
} // builtins.removeAttrs args [ "modules" "includeModuleSystemOptions" ]);
hmOptionsDocs = buildOptionsDocs {
modules = import ../modules/modules.nix {
@ -97,7 +93,6 @@ let
nixosOptionsDocs = buildOptionsDocs {
modules = [ ../nixos scrubbedPkgsModule dontCheckDefinitions ];
includeModuleSystemOptions = false;
isNixos = true;
variablelistId = "nixos-options";
optionIdPrefix = "nixos-opt-";
};
@ -105,7 +100,6 @@ let
nixDarwinOptionsDocs = buildOptionsDocs {
modules = [ ../nix-darwin scrubbedPkgsModule dontCheckDefinitions ];
includeModuleSystemOptions = false;
isNixos = true;
variablelistId = "nix-darwin-options";
optionIdPrefix = "nix-darwin-opt-";
};

View file

@ -50,13 +50,6 @@ let
};
in {
options.users.users = mkOption {
type = types.attrsOf (types.submodule ({ name, config, ... }: {
config.packages = mkIf ((config.enable or true) && cfg.useUserPackages
&& lib.hasAttr name cfg.users) [ cfg.users.${name}.home.path ];
}));
};
options.home-manager = {
useUserPackages = mkEnableOption ''
installation of user packages through the
@ -111,7 +104,10 @@ in {
};
config = (lib.mkMerge [
# Fix potential recursion when configuring home-manager users based on values in users.users #594
(mkIf (cfg.useUserPackages && cfg.users != { }) {
users.users = (lib.mapAttrs
(_username: usercfg: { packages = [ usercfg.home.path ]; }) cfg.users);
environment.pathsToLink = [ "/etc/profile.d" ];
})
(mkIf (cfg.users != { }) {