summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/manual/default.nix11
-rw-r--r--lib/eval-config.nix2
-rw-r--r--modules/services/misc/nixos-manual.nix4
3 files changed, 11 insertions, 6 deletions
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