nixos/manual: clean up default.nix a bit
- inline copySources into single user - remove `inherit sources` where it's not necessary - inline generatedSources. this will go away completely soon so we may as well. - inline modulesDoc into manual-combined. this too will go away soon. - inline sources into manual-combined. this too will go away soon.
This commit is contained in:
parent
ef413e3eac
commit
8b7f0e559a
|
@ -68,56 +68,6 @@ let
|
||||||
optionIdPrefix = "test-opt-";
|
optionIdPrefix = "test-opt-";
|
||||||
};
|
};
|
||||||
|
|
||||||
sources = runCommand "manual-sources" {
|
|
||||||
inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ];
|
|
||||||
nativeBuildInputs = [ pkgs.nixos-render-docs ];
|
|
||||||
} ''
|
|
||||||
mkdir $out
|
|
||||||
cd $out
|
|
||||||
cp -r --no-preserve=all $inputs/* .
|
|
||||||
|
|
||||||
declare -a convert_args
|
|
||||||
while read -r mf; do
|
|
||||||
if [[ "$mf" = *.chapter.md ]]; then
|
|
||||||
convert_args+=("--chapter")
|
|
||||||
else
|
|
||||||
convert_args+=("--section")
|
|
||||||
fi
|
|
||||||
|
|
||||||
convert_args+=("from_md/''${mf%.md}.xml" "$mf")
|
|
||||||
done < <(find . -type f -name '*.md')
|
|
||||||
|
|
||||||
nixos-render-docs manual docbook-fragment \
|
|
||||||
--manpage-urls ${manpageUrls} \
|
|
||||||
"''${convert_args[@]}"
|
|
||||||
'';
|
|
||||||
|
|
||||||
modulesDoc = runCommand "modules.xml" {
|
|
||||||
nativeBuildInputs = [ pkgs.nixos-render-docs ];
|
|
||||||
} ''
|
|
||||||
nixos-render-docs manual docbook-section \
|
|
||||||
--manpage-urls ${manpageUrls} \
|
|
||||||
"$out" \
|
|
||||||
--section \
|
|
||||||
--section-id modules \
|
|
||||||
--chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc}
|
|
||||||
'';
|
|
||||||
|
|
||||||
generatedSources = runCommand "generated-docbook" {} ''
|
|
||||||
mkdir $out
|
|
||||||
ln -s ${modulesDoc} $out/modules.xml
|
|
||||||
ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml
|
|
||||||
ln -s ${testOptionsDoc.optionsDocBook} $out/test-options-db.xml
|
|
||||||
printf "%s" "${version}" > $out/version
|
|
||||||
'';
|
|
||||||
|
|
||||||
copySources =
|
|
||||||
''
|
|
||||||
cp -prd $sources/* . # */
|
|
||||||
ln -s ${generatedSources} ./generated
|
|
||||||
chmod -R u+w .
|
|
||||||
'';
|
|
||||||
|
|
||||||
toc = builtins.toFile "toc.xml"
|
toc = builtins.toFile "toc.xml"
|
||||||
''
|
''
|
||||||
<toc role="chunk-toc">
|
<toc role="chunk-toc">
|
||||||
|
@ -186,12 +136,40 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
manual-combined = runCommand "nixos-manual-combined"
|
manual-combined = runCommand "nixos-manual-combined"
|
||||||
{ inherit sources;
|
{ inputs = lib.sourceFilesBySuffices ./. [ ".xml" ".md" ];
|
||||||
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
|
nativeBuildInputs = [ pkgs.nixos-render-docs pkgs.libxml2.bin pkgs.libxslt.bin ];
|
||||||
meta.description = "The NixOS manual as plain docbook XML";
|
meta.description = "The NixOS manual as plain docbook XML";
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
${copySources}
|
cp -r --no-preserve=all $inputs/* .
|
||||||
|
|
||||||
|
declare -a convert_args
|
||||||
|
while read -r mf; do
|
||||||
|
if [[ "$mf" = *.chapter.md ]]; then
|
||||||
|
convert_args+=("--chapter")
|
||||||
|
else
|
||||||
|
convert_args+=("--section")
|
||||||
|
fi
|
||||||
|
|
||||||
|
convert_args+=("from_md/''${mf%.md}.xml" "$mf")
|
||||||
|
done < <(find . -type f -name '*.md')
|
||||||
|
|
||||||
|
nixos-render-docs manual docbook-fragment \
|
||||||
|
--manpage-urls ${manpageUrls} \
|
||||||
|
"''${convert_args[@]}"
|
||||||
|
|
||||||
|
mkdir ./generated
|
||||||
|
ln -s ${optionsDoc.optionsDocBook} ./generated/options-db.xml
|
||||||
|
ln -s ${testOptionsDoc.optionsDocBook} ./generated/test-options-db.xml
|
||||||
|
printf "%s" "${version}" > ./generated/version
|
||||||
|
chmod -R u+w .
|
||||||
|
|
||||||
|
nixos-render-docs manual docbook-section \
|
||||||
|
--manpage-urls ${manpageUrls} \
|
||||||
|
./generated/modules.xml \
|
||||||
|
--section \
|
||||||
|
--section-id modules \
|
||||||
|
--chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc}
|
||||||
|
|
||||||
xmllint --xinclude --output ./manual-combined.xml ./manual.xml
|
xmllint --xinclude --output ./manual-combined.xml ./manual.xml
|
||||||
|
|
||||||
|
@ -220,14 +198,11 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
inherit generatedSources;
|
|
||||||
|
|
||||||
inherit (optionsDoc) optionsJSON optionsNix optionsDocBook optionsUsedDocbook;
|
inherit (optionsDoc) optionsJSON optionsNix optionsDocBook optionsUsedDocbook;
|
||||||
|
|
||||||
# Generate the NixOS manual.
|
# Generate the NixOS manual.
|
||||||
manualHTML = runCommand "nixos-manual-html"
|
manualHTML = runCommand "nixos-manual-html"
|
||||||
{ inherit sources;
|
{ nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
|
||||||
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
|
|
||||||
meta.description = "The NixOS manual in HTML format";
|
meta.description = "The NixOS manual in HTML format";
|
||||||
allowedReferences = ["out"];
|
allowedReferences = ["out"];
|
||||||
}
|
}
|
||||||
|
@ -264,8 +239,7 @@ in rec {
|
||||||
manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";
|
manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";
|
||||||
|
|
||||||
manualEpub = runCommand "nixos-manual-epub"
|
manualEpub = runCommand "nixos-manual-epub"
|
||||||
{ inherit sources;
|
{ nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ];
|
||||||
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin buildPackages.zip ];
|
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
# Generate the epub manual.
|
# Generate the epub manual.
|
||||||
|
|
|
@ -144,7 +144,6 @@ in rec {
|
||||||
manual = manualHTML; # TODO(@oxij): remove eventually
|
manual = manualHTML; # TODO(@oxij): remove eventually
|
||||||
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
|
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
|
||||||
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages);
|
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages);
|
||||||
manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources);
|
|
||||||
options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
|
options = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.optionsJSON)).x86_64-linux;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue