about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2018-04-28 04:00:55 -0400
committerGraham Christensen <graham@grahamc.com>2018-04-28 04:00:55 -0400
commit0ff0d138e4e9d68853c463a540d61718aa91cffb (patch)
tree05bf865e42a5e88ff6b8b6f904b8488e956fa0b7 /nixos
parent59f8b1e844d679d1ae7d2a94cf02f9ca259f0dfa (diff)
downloadnixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar.gz
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar.bz2
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar.lz
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar.xz
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.tar.zst
nixlib-0ff0d138e4e9d68853c463a540d61718aa91cffb.zip
nixos docs: Add a makefile for hacking on the nixos docs
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/Makefile8
-rw-r--r--nixos/doc/manual/default.nix1
-rw-r--r--nixos/doc/manual/manual.xml3
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl8
-rw-r--r--nixos/release.nix2
5 files changed, 16 insertions, 6 deletions
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
new file mode 100644
index 000000000000..b15fbaa270fc
--- /dev/null
+++ b/nixos/doc/manual/Makefile
@@ -0,0 +1,8 @@
+debug:
+	nix-shell --packages xmloscopy \
+		--run 'xmloscopy --docbook5 ./manual.xml ./manual-combined.xml'
+
+generated: ./options-to-docbook.xsl
+	nix-build ../../release.nix \
+		--attr manualGeneratedSources.x86_64-linux \
+		--out-link ./generated
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index c396c799c638..2c6309474b37 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -229,6 +229,7 @@ let
     '';
 
 in rec {
+  inherit generatedSources;
 
   # The NixOS options in JSON format.
   optionsJSON = runCommand "options-json"
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index a7825579e03d..676924e5c8b2 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -39,7 +39,8 @@
 
   <appendix xml:id="ch-options">
     <title>Configuration Options</title>
-    <xi:include href="./generated/options-db.xml" />
+    <xi:include href="./generated/options-db.xml"
+                xpointer="configuration-variable-list" />
   </appendix>
 
   <xi:include href="release-notes/release-notes.xml" />
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 7b45b233ab2a..43a69806a2b0 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -15,9 +15,9 @@
 
 
   <xsl:template match="/expr/list">
-
-      <variablelist>
-
+    <appendix>
+      <title>Configuration Options</title>
+      <variablelist xml:id="configuration-variable-list">
         <xsl:for-each select="attrs">
           <xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '&lt;', '_'), '>', '_'), '?', '_'))" />
           <varlistentry>
@@ -100,7 +100,7 @@
         </xsl:for-each>
 
       </variablelist>
-
+    </appendix>
   </xsl:template>
 
 
diff --git a/nixos/release.nix b/nixos/release.nix
index 2f779280e6b2..4994cd98302f 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -124,7 +124,6 @@ let
         preferLocalBuild = true;
       };
 
-
 in rec {
 
   channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
@@ -132,6 +131,7 @@ in rec {
   manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual);
   manualEpub = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualEpub));
   manpages = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manpages);
+  manualGeneratedSources = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.generatedSources);
   options = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;