diff options
author | aszlig <aszlig@redmoonstudios.org> | 2014-10-21 21:59:25 +0200 |
---|---|---|
committer | aszlig <aszlig@redmoonstudios.org> | 2014-10-21 21:59:25 +0200 |
commit | ee58ad7b4cc50e5bee73c9ee58148abb8bb2698f (patch) | |
tree | 2edae5932baf8aa822f3c72f8d133d1635a99d30 | |
parent | 0ff5229e7d5a22fce194f1ccdd0880eb3184f4ff (diff) |
release: Add manual for Vuizvui-specific options.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
-rw-r--r-- | release.nix | 62 |
1 files changed, 59 insertions, 3 deletions
diff --git a/release.nix b/release.nix index 52126c8c..df248706 100644 --- a/release.nix +++ b/release.nix @@ -1,11 +1,67 @@ -with import <nixpkgs/lib>; +let + system = "x86_64-linux"; + pkgs = import <nixpkgs> { inherit system; }; + +in with pkgs.lib; with builtins; { -{ machines = mapAttrs (name: configuration: (import <nixpkgs/nixos> { inherit configuration; }).system) (import ./network.nix); tests = { - i3 = import ./tests/i3.nix { system = "x86_64-linux"; }; + i3 = import ./tests/i3.nix { inherit system; }; + }; + + manual = let + modules = import <nixpkgs/nixos/lib/eval-config.nix> { + modules = import ./modules/module-list.nix; + check = false; + inherit system; + }; + + isVuizvui = opt: head (splitString "." opt.name) == "vuizvui"; + filterDoc = filter (opt: isVuizvui opt && opt.visible && !opt.internal); + optionsXML = toXML (filterDoc (optionAttrSetToDocList modules.options)); + optionsFile = toFile "options.xml" (unsafeDiscardStringContext optionsXML); + in pkgs.stdenv.mkDerivation { + name = "vuizvui-options"; + + buildInputs = singleton pkgs.libxslt; + + xsltFlags = '' + --param section.autolabel 1 + --param section.label.includes.component.label 1 + --param html.stylesheet 'style.css' + --param xref.with.number.and.title 1 + --param admon.style ''' + ''; + + buildCommand = '' + xsltproc -o options-db.xml \ + ${<nixpkgs/nixos/doc/manual/options-to-docbook.xsl>} \ + ${optionsFile} + + cat > manual.xml <<XML + <book xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xi="http://www.w3.org/2001/XInclude"> + <title>Vuizvui-specific NixOS options</title> + <para> + The following NixOS options are specific to Vuizvui: + </para> + <xi:include href="options-db.xml" /> + </book> + XML + + xsltproc -o "$out/manual.html" $xsltFlags -nonet -xinclude \ + ${pkgs.docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \ + manual.xml + + cp "${<nixpkgs/nixos/doc/manual/style.css>}" "$out/style.css" + + mkdir -p "$out/nix-support" + echo "doc manual $out manual.html" \ + > "$out/nix-support/hydra-build-products" + ''; }; } |