1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-31 04:04:32 +00:00

options-manual: Remove users option set from documentation

The option declaration `users.users` is owned by the upstream
nixos modules and should not be documented by home-manager.

Home-manager declares an incomplete/partial option definition for
`users.users` that cannot be documented without the full definition from
the nixos modules. This partial definition is removed from the options
set while generating documentation for the home-manager nixos module.
This commit is contained in:
Bert Proesmans 2025-03-23 09:56:41 +00:00
parent aec4ee4c1a
commit 319b012b9d

View file

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