diff --git a/doc/manual/default.nix b/doc/manual/default.nix index 271a6a54bcc..d77a65bdf4a 100644 --- a/doc/manual/default.nix +++ b/doc/manual/default.nix @@ -1,4 +1,4 @@ -{pkgs}: +{ pkgs, optionDeclarations }: let @@ -7,9 +7,14 @@ let services.nixosManual.enable = false; }; + # To prevent infinite recursion, remove system.path from the + # options. Not sure why this happens. + optionDeclarations_ = + optionDeclarations // + { system = removeAttrs optionDeclarations.system ["path"]; }; + options = builtins.toFile "options.xml" (builtins.unsafeDiscardStringContext - (builtins.toXML (pkgs.lib.optionAttrSetToDocList "" - (import ../../lib/eval-config.nix {inherit pkgs; configuration = manualConfig;}).optionDeclarations))); + (builtins.toXML (pkgs.lib.optionAttrSetToDocList "" optionDeclarations_))); optionsDocBook = pkgs.runCommand "options-db.xml" {} '' ${pkgs.libxslt}/bin/xsltproc -o $out ${./options-to-docbook.xsl} ${options} diff --git a/lib/eval-config.nix b/lib/eval-config.nix index 9d6c5794df1..5554c659fce 100644 --- a/lib/eval-config.nix +++ b/lib/eval-config.nix @@ -23,7 +23,7 @@ rec { ++ (import ../modules/module-list.nix); extraArgs = extraArgs_ // { - inherit pkgs; + inherit pkgs optionDeclarations; modulesPath = ../modules; }; diff --git a/modules/services/misc/nixos-manual.nix b/modules/services/misc/nixos-manual.nix index a886814d76d..a113c8ee962 100644 --- a/modules/services/misc/nixos-manual.nix +++ b/modules/services/misc/nixos-manual.nix @@ -3,7 +3,7 @@ # of the virtual consoles. The latter is useful for the installation # CD. -{pkgs, config, ...}: +{pkgs, config, optionDeclarations, ...}: let @@ -15,7 +15,7 @@ let # We could speed up the evaluation of the manual expression by # providing it the optionDeclarations of the current # configuration. - import ../../../doc/manual {inherit pkgs;}; + import ../../../doc/manual {inherit pkgs optionDeclarations;}; in