{ lix-docs, stdenv, vim, perl, ... }: let f = "find . -type f -exec"; s = "${f} sed -i"; in stdenv.mkDerivation { inherit (lix-docs) version; pname = "lix-docs-md"; src = lix-docs.src; nativeBuildInputs = [ vim perl ]; installPhase = '' defaultFix() { sed -i '1,2d' $0 sed -i '1s/ - /\n\n/' $0 sed -i '1s/^/# /' $0 sed -i '3s/\w/\u&/' $0 sed -i '3s/$/\./' $0 } export -f defaultFix mkdir $out cp -r ${lix-docs.doc}/manualMD/* $out chmod -R +w $out pushd $out mv introduction.md index.md mv advanced-topics/advanced-topics.md advanced-topics/index.md mv advanced-topics Advanced-Topics mv architecture/architecture.md architecture/index.md mv command-ref Command-Reference sed -i 's!^- \[\(.*\)\]!# \1 !g' glossary.md sed -i 's/^\(.*\)\({#gloss-.*}\)\(.*\)/\1\3\2/g' glossary.md sed -i 's/ ,/,/g' glossary.md sed -i 's/\(\S\){/\1 {/g' glossary.md pushd Command-Reference mv command-ref.md index.md mv files.md files/index.md mv nix-env.md nix-env/index.md mv nix-store.md nix-store/index.md # Fixup all Nix3(aka new cli) commands pushd new-cli ${s} '6,7d' {} \; ${s} '6s/ - /\n\n/' {} \; ${s} '6s/^/# /' {} \; ${s} '8s/\w/\u&/' {} \; ${s} '8s/$/\./' {} \; ${f} ex -c '1,5m9' -c w -c q {} \; ${s} 's!../command-ref!\./!g' {} \; popd mv new-cli New-CLI # Fixup all non-nix3 commands find . -type f -name "nix-*.md" -exec bash -c 'defaultFix "$0"' {} \; # Fixup nix-store pushd nix-store find . -type f -name "*.md" -exec bash -c 'defaultFix "$0"' {} \; sed -i 's!\./nix-store!\./!g' index.md popd # Fixup Nix-env pushd nix-env find . -type f -name "*.md" -exec bash -c 'defaultFix "$0"' {} \; ${s} 's!../command-ref!\.!g' {} \; sed -i 's!\./nix-env!\.!g' index.md sed -i 's!\./files!\.\./files!g' index.md sed -i 's!\./new-cli!\.\./new-cli!g' index.md sed -i 's!\.\./language!\.\./\.\./language!g' index.md popd bash -c defaultFix conf-file.md popd # Contributing directory pushd contributing mv contributing.md index.md ex -c '1,9m11' -c w -c q experimental-features.md sed -i 's!^## \[\(.*\)\]!## \1 !g' experimental-features.md popd pushd language sed -i '3s/##/#/' values.md sed -E -i 's/(.*)(#type-\w+)">(\w+)<\/a>/## \3 {\2}/' values.md sed -i 's/## List/# List/' values.md sed -i 's/## Attribute Set/# Attribute Set/' values.md popd # Final directories mv installation/installation.md installation/index.md mv package-management/package-management.md package-management/index.md mv package-management Package-Management mv protocols/protocols.md protocols/index.md mv release-notes/release-notes.md release-notes/index.md # Admonitions find . -type f -name "*.md" -exec perl -pi -e 's/\s*