instance=f(mapAttrs(n:_:abort"evaluating ${n} for `meta` failed")(functionArgsf));
in
cfg.nixos.options.splitBuild
&&builtins.isPathm
&&isPathm
&&isFunctionf
&&instance?options
&&instance.meta.buildDocsInSandboxortrue;
@@ -51,12 +75,12 @@ let
(name:value:
let
wholeName="${namePrefix}.${name}";
guard=lib.warn"Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption{,MD}` or `literalExpression` instead.";
guard=warn"Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption{,MD}` or `literalExpression` instead.";
inifisAttrsvaluethen
scrubDerivationswholeNamevalue
//optionalAttrs(isDerivationvalue){
outPath=guard"\${${wholeName}}";
drvPath=guarddrvPath;
drvPath=guardvalue.drvPath;
}
elsevalue
)
@@ -176,7 +200,7 @@ in
enable=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to install documentation of packages from
{option}`environment.systemPackages` into the generated system path.
@@ -188,7 +212,7 @@ in
man.enable=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to install manual pages.
This also includes `man` outputs.
'';
@@ -197,7 +221,7 @@ in
man.generateCaches=mkOption{
type=types.bool;
default=false;
description=mdDoc''
description=''
Whether to generate the manual page index caches.
This allows searching for a page or
keyword using utilities like {manpage}`apropos(1)`
@@ -209,7 +233,7 @@ in
info.enable=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to install info pages and the {command}`info` command.
This also includes "info" outputs.
'';
@@ -218,7 +242,7 @@ in
doc.enable=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to install documentation distributed in packages' `/share/doc`.
Usually plain text and/or HTML.
This also includes "doc" outputs.
@@ -228,7 +252,7 @@ in
dev.enable=mkOption{
type=types.bool;
default=false;
description=mdDoc''
description=''
Whether to install documentation targeted at developers.
* This includes man pages targeted at developers if {option}`documentation.man.enable` is
set (this also includes "devman" outputs).
@@ -242,7 +266,7 @@ in
nixos.enable=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to install NixOS's own documentation.
- This includes man pages like
@@ -256,7 +280,7 @@ in
nixos.extraModules=mkOption{
type=types.listOftypes.raw;
default=[];
description=lib.mdDoc''
description=''
Modules for which to show options even when not imported.
'';
};
@@ -264,7 +288,7 @@ in
nixos.options.splitBuild=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Whether to split the option docs build into a cacheable and an uncacheable part.
Splitting the build can substantially decrease the amount of time needed to build
the manual, but some user modules may be incompatible with this splitting.
@@ -274,7 +298,7 @@ in
nixos.options.warningsAreErrors=mkOption{
type=types.bool;
default=true;
description=lib.mdDoc''
description=''
Treat warning emitted during the option documentation build (eg for missing option
descriptions) as errors.
'';
@@ -283,7 +307,7 @@ in
nixos.includeAllModules=mkOption{
type=types.bool;
default=false;
description=lib.mdDoc''
description=''
Whether the generated NixOS's documentation should include documentation for all
the options from all the NixOS modules included in the current
`configuration.nix`. Disabling this will make the manual