summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2023-06-13 12:38:22 +0200
committerpennae <github@quasiparticle.net>2023-06-16 19:26:23 +0200
commit426903d2fba217314309e3002e0247d3a772564e (patch)
tree203ad6cab5cd8d6b9ace4847a7294ed1fa17d850 /nixos
parentf52f531a4e4791f79902ed3f4162bfd8ae899c01 (diff)
nixos/manual: remove docbook intermediates
they're no longer used for anything.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/default.nix117
-rw-r--r--nixos/doc/manual/man-pages.xml46
2 files changed, 1 insertions, 162 deletions
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index ef7803fb75b0..03f0d26fdf93 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -6,11 +6,9 @@
, extraSources ? []
, baseOptionsJSON ? null
, warningsAreErrors ? true
-, allowDocBook ? false
, prefix ? ../../..
}:
-assert ! allowDocBook;
with pkgs;
let
@@ -18,10 +16,6 @@ let
lib = pkgs.lib;
- docbook_xsl_ns = pkgs.docbook-xsl-ns.override {
- withManOptDedupPatch = true;
- };
-
manpageUrls = pkgs.path + "/doc/manpage-urls.json";
# We need to strip references to /nix/store/* from options,
@@ -34,7 +28,7 @@ let
stripAnyPrefixes = lib.flip (lib.foldr lib.removePrefix) prefixesToStrip;
optionsDoc = buildPackages.nixosOptionsDoc {
- inherit options revision baseOptionsJSON warningsAreErrors allowDocBook;
+ inherit options revision baseOptionsJSON warningsAreErrors;
transformOptions = opt: opt // {
# Clean up declaration sites to not refer to the NixOS source tree.
declarations = map stripAnyPrefixes opt.declarations;
@@ -69,73 +63,6 @@ let
optionIdPrefix = "test-opt-";
};
- toc = builtins.toFile "toc.xml"
- ''
- <toc role="chunk-toc">
- <d:tocentry xmlns:d="http://docbook.org/ns/docbook" linkend="book-nixos-manual"><?dbhtml filename="index.html"?>
- <d:tocentry linkend="ch-options"><?dbhtml filename="options.html"?></d:tocentry>
- <d:tocentry linkend="ch-release-notes"><?dbhtml filename="release-notes.html"?></d:tocentry>
- </d:tocentry>
- </toc>
- '';
-
- manualXsltprocOptions = toString [
- "--param chapter.autolabel 0"
- "--param part.autolabel 0"
- "--param preface.autolabel 0"
- "--param reference.autolabel 0"
- "--param section.autolabel 0"
- "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
- "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
- "--param xref.with.number.and.title 0"
- "--param toc.section.depth 0"
- "--param generate.consistent.ids 1"
- "--stringparam admon.style ''"
- "--stringparam callout.graphics.extension .svg"
- "--stringparam current.docid manual"
- "--param chunk.section.depth 0"
- "--param chunk.first.sections 1"
- "--param use.id.as.filename 1"
- "--stringparam chunk.toc ${toc}"
- ];
-
- linterFunctions = ''
- # outputs the context of an xmllint error output
- # LEN lines around the failing line are printed
- function context {
- # length of context
- local LEN=6
- # lines to print before error line
- local BEFORE=4
-
- # xmllint output lines are:
- # file.xml:1234: there was an error on line 1234
- while IFS=':' read -r file line rest; do
- echo
- if [[ -n "$rest" ]]; then
- echo "$file:$line:$rest"
- local FROM=$(($line>$BEFORE ? $line - $BEFORE : 1))
- # number lines & filter context
- nl --body-numbering=a "$file" | sed -n "$FROM,+$LEN p"
- else
- if [[ -n "$line" ]]; then
- echo "$file:$line"
- else
- echo "$file"
- fi
- fi
- done
- }
-
- function lintrng {
- xmllint --debug --noout --nonet \
- --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
- "$1" \
- 2>&1 | context 1>&2
- # ^ redirect assumes xmllint doesn’t print to stdout
- }
- '';
-
prepareManualFromMD = ''
cp -r --no-preserve=all $inputs/* .
@@ -155,48 +82,6 @@ let
${testOptionsDoc.optionsJSON}/share/doc/nixos/options.json
'';
- manual-combined = runCommand "nixos-manual-combined"
- { inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ];
- nativeBuildInputs = [ pkgs.nixos-render-docs pkgs.libxml2.bin pkgs.libxslt.bin ];
- meta.description = "The NixOS manual as plain docbook XML";
- }
- ''
- ${prepareManualFromMD}
-
- nixos-render-docs -j $NIX_BUILD_CORES manual docbook \
- --manpage-urls ${manpageUrls} \
- --revision ${lib.escapeShellArg revision} \
- ./manual.md \
- ./manual-combined-pre.xml
-
- xsltproc \
- -o manual-combined.xml ${./../../lib/make-options-doc/postprocess-option-descriptions.xsl} \
- manual-combined-pre.xml
-
- ${linterFunctions}
-
- mkdir $out
- cp manual-combined.xml $out/
-
- lintrng $out/manual-combined.xml
- '';
-
- manpages-combined = runCommand "nixos-manpages-combined.xml"
- { nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
- meta.description = "The NixOS manpages as plain docbook XML";
- }
- ''
- mkdir generated
- cp -prd ${./man-pages.xml} man-pages.xml
- ln -s ${optionsDoc.optionsDocBook} generated/options-db.xml
-
- xmllint --xinclude --noxincludenode --output $out ./man-pages.xml
-
- ${linterFunctions}
-
- lintrng $out
- '';
-
in rec {
inherit (optionsDoc) optionsJSON optionsNix optionsDocBook;
diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml
deleted file mode 100644
index 52183f1f9ee0..000000000000
--- a/nixos/doc/manual/man-pages.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<reference xmlns="http://docbook.org/ns/docbook"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:xi="http://www.w3.org/2001/XInclude">
- <title>NixOS Reference Pages</title>
- <info>
- <author>
- <personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
- <contrib>Author</contrib>
- </author>
- <author>
- <personname><othername>The Nixpkgs/NixOS contributors</othername></personname>
- <contrib>Author</contrib>
- </author>
- <copyright><year>2007-2022</year><holder>Eelco Dolstra and the Nixpkgs/NixOS contributors</holder>
- </copyright>
- </info>
- <refentry>
- <refmeta>
- <refentrytitle><filename>configuration.nix</filename>
- </refentrytitle><manvolnum>5</manvolnum>
- <refmiscinfo class="source">NixOS</refmiscinfo>
- <!-- <refmiscinfo class="version"><xi:include href="version.txt" parse="text"/></refmiscinfo> -->
- </refmeta>
- <refnamediv>
- <refname><filename>configuration.nix</filename></refname>
- <refpurpose>NixOS system configuration specification</refpurpose>
- </refnamediv>
- <refsection>
- <title>Description</title>
- <para>
- The file <filename>/etc/nixos/configuration.nix</filename> contains the
- declarative specification of your NixOS system configuration. The command
- <command>nixos-rebuild</command> takes this file and realises the system
- configuration specified therein.
- </para>
- </refsection>
- <refsection>
- <title>Options</title>
- <para>
- You can use the following options in <filename>configuration.nix</filename>.
- </para>
- <xi:include href="./generated/options-db.xml"
- xpointer="configuration-variable-list" />
- </refsection>
- </refentry>
-</reference>