forked from auxolotl/docs
82 lines
2.1 KiB
Nix
82 lines
2.1 KiB
Nix
|
{
|
||
|
lib,
|
||
|
nixos-render-docs,
|
||
|
python3,
|
||
|
perl,
|
||
|
stdenvNoCC,
|
||
|
spkgs,
|
||
|
inputs,
|
||
|
}:
|
||
|
stdenvNoCC.mkDerivation {
|
||
|
name = "nixpkgs-manual-md";
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
nixos-render-docs
|
||
|
python3
|
||
|
perl
|
||
|
];
|
||
|
|
||
|
src = inputs.nixpkgs;
|
||
|
|
||
|
patchPhase = ''
|
||
|
cd doc
|
||
|
find . -type f ! -name '*.md' ! -name '*.md.in' -exec rm {} \+
|
||
|
'';
|
||
|
|
||
|
postPatch = ''
|
||
|
ln -s ${spkgs.options-doc.optionsJSON}/share/doc/nixos/options.json ./config-options.json
|
||
|
'';
|
||
|
|
||
|
pythonInterpreterTable = spkgs.python-interp-table;
|
||
|
|
||
|
passAsFile = [ "pythonInterpreterTable" ];
|
||
|
|
||
|
buildPhase = ''
|
||
|
substituteInPlace ./languages-frameworks/python.section.md --subst-var-by python-interpreter-table "$(<"$pythonInterpreterTablePath")"
|
||
|
|
||
|
cat \
|
||
|
./functions/library.md.in \
|
||
|
${spkgs.lib-docs}/index.md \
|
||
|
> ./functions/library.md
|
||
|
substitute ./manual.md.in ./manual.md \
|
||
|
--replace-fail '@MANUAL_VERSION@' '${lib.version}'
|
||
|
|
||
|
mkdir out
|
||
|
|
||
|
mkdir out/assets
|
||
|
cp ${spkgs.manual-assets}/* out/assets/
|
||
|
|
||
|
mv preface.chapter.md out/index.md
|
||
|
mv build-helpers out/build-helpers
|
||
|
mv build-helpers.md out/build-helpers/index.md
|
||
|
mv contributing out/contributing
|
||
|
mv contributing.md out/contributing/index.md
|
||
|
mv development out/development
|
||
|
mv development.md out/development/index.md
|
||
|
mv functions out/functions
|
||
|
mv functions.md out/functions/index.md
|
||
|
mv hooks out/hooks
|
||
|
mv languages-frameworks out/languages-frameworks
|
||
|
mkdir out/lib
|
||
|
cp ${spkgs.lib-docs}/*.md out/lib/
|
||
|
mv module-system out/module-system
|
||
|
mv packages out/packages
|
||
|
mv stdenv out/stdenv
|
||
|
mv stdenv.md out/stdenv/index.md
|
||
|
mv using out/using
|
||
|
mv using-nixpkgs.md out/using/index.md
|
||
|
pushd out
|
||
|
find . -type f -exec perl -pi -e 's/\s*:::{.note}\n/!!! note\n\ \ /' {} \;
|
||
|
find . -type f -exec perl -pi -e 's/\s*:::{.warning}\n/!!! warning\n\ \ /' {} \;
|
||
|
find . -type f -exec perl -pi -e 's/\s*:::{.tip}\n/!!! tip\n\ \ \ \ /' {} \;
|
||
|
find . -type f -exec perl -pi -e 's/\s*:::{.example}\n/!!! example\n\ \ \ \ /' {} \;
|
||
|
find . -type f -exec sed -i 's/\s*::://g' {} \;
|
||
|
popd
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir $out
|
||
|
mv out/* $out
|
||
|
'';
|
||
|
}
|