also updates nixdoc to 2.3.0. the nixdoc update is not a separate commit because that would leave the manual build broken for one commit, potentially breaking bisects and rebases.
···11# DLib {#dlib}
2233-[DLib](http://dlib.net/) is a modern, C++-based toolkit which provides several machine learning algorithms.
33+[DLib](http://dlib.net/) is a modern, C++\-based toolkit which provides several machine learning algorithms.
4455## Compiling without AVX support {#compiling-without-avx-support}
66
+27
doc/builders/packages/index.md
···11+# Packages {#chap-packages}
22+33+This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
44+55+```{=include=} sections
66+citrix.section.md
77+dlib.section.md
88+eclipse.section.md
99+elm.section.md
1010+emacs.section.md
1111+firefox.section.md
1212+fish.section.md
1313+fuse.section.md
1414+ibus.section.md
1515+kakoune.section.md
1616+linux.section.md
1717+locales.section.md
1818+etc-files.section.md
1919+nginx.section.md
2020+opengl.section.md
2121+shell-helpers.section.md
2222+steam.section.md
2323+cataclysm-dda.section.md
2424+urxvt.section.md
2525+weechat.section.md
2626+xorg.section.md
2727+```
-29
doc/builders/packages/index.xml
···11-<chapter xmlns="http://docbook.org/ns/docbook"
22- xmlns:xi="http://www.w3.org/2001/XInclude"
33- xml:id="chap-packages">
44- <title>Packages</title>
55- <para>
66- This chapter contains information about how to use and maintain the Nix expressions for a number of specific packages, such as the Linux kernel or X.org.
77- </para>
88- <xi:include href="citrix.section.xml" />
99- <xi:include href="dlib.section.xml" />
1010- <xi:include href="eclipse.section.xml" />
1111- <xi:include href="elm.section.xml" />
1212- <xi:include href="emacs.section.xml" />
1313- <xi:include href="firefox.section.xml" />
1414- <xi:include href="fish.section.xml" />
1515- <xi:include href="fuse.section.xml" />
1616- <xi:include href="ibus.section.xml" />
1717- <xi:include href="kakoune.section.xml" />
1818- <xi:include href="linux.section.xml" />
1919- <xi:include href="locales.section.xml" />
2020- <xi:include href="etc-files.section.xml" />
2121- <xi:include href="nginx.section.xml" />
2222- <xi:include href="opengl.section.xml" />
2323- <xi:include href="shell-helpers.section.xml" />
2424- <xi:include href="steam.section.xml" />
2525- <xi:include href="cataclysm-dda.section.xml" />
2626- <xi:include href="urxvt.section.xml" />
2727- <xi:include href="weechat.section.xml" />
2828- <xi:include href="xorg.section.xml" />
2929-</chapter>
+11
doc/builders/special.md
···11+# Special builders {#chap-special}
22+33+This chapter describes several special builders.
44+55+```{=include=} sections
66+special/fhs-environments.section.md
77+special/makesetuphook.section.md
88+special/mkshell.section.md
99+special/darwin-builder.section.md
1010+special/vm-tools.section.md
1111+```
···214214- Hydra builds for master and staging should not be used as testing platform, it’s a build farm for changes that have been already tested.
215215- When changing the bootloader installation process, extra care must be taken. Grub installations cannot be rolled back, hence changes may break people’s installations forever. For any non-trivial change to the bootloader please file a PR asking for review, especially from \@edolstra.
216216217217-```{.graphviz caption="Staging workflow"}
218218-digraph {
219219- "small changes" [shape=none]
220220- "mass-rebuilds and other large changes" [shape=none]
221221- "critical security fixes" [shape=none]
222222- "broken staging-next fixes" [shape=none]
223223-224224- "small changes" -> master
225225- "mass-rebuilds and other large changes" -> staging
226226- "critical security fixes" -> master
227227- "broken staging-next fixes" -> "staging-next"
228228-229229- "staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
230230- "staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
231231-232232- master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
233233-}
234234-```
217217+::: {.figure #fig-staging-workflow}
218218+# Staging workflow
219219+<!-- generated from ./staging-workflow.dot using: dot -Tsvg staging-workflow.dot > staging-workflow.svg -->
220220+
221221+:::
235222236223[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/periodic-merge-6h.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours; these are the blue arrows in the diagram above. The purple arrows in the diagram above are done manually and much less frequently. You can get an idea of how often these merges occur by looking at the git history.
237224
···11+# Nixpkgs Library Functions {#sec-functions-library}
22+33+Nixpkgs provides a standard library at `pkgs.lib`, or through `import <nixpkgs/lib>`.
44+55+<!-- nixdoc-generated documentation must be appended here during build! -->
-14
doc/functions/library.xml
···11-<section xmlns="http://docbook.org/ns/docbook"
22- xmlns:xlink="http://www.w3.org/1999/xlink"
33- xmlns:xi="http://www.w3.org/2001/XInclude"
44- xml:id="sec-functions-library">
55- <title>Nixpkgs Library Functions</title>
66-77- <para>
88- Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import <nixpkgs/lib></code>.
99- </para>
1010-1111- <!-- The index must have a root element to declare namespaces, but we
1212- don't want to include it, so we select all of its children. -->
1313- <xi:include href="./library/generated/index.xml" xpointer="xpointer(/root/*)" />
1414-</section>
+33
doc/hooks/index.md
···11+# Hooks reference {#chap-hooks}
22+33+Nixpkgs has several hook packages that augment the stdenv phases.
44+55+The stdenv built-in hooks are documented in [](#ssec-setup-hooks).
66+77+```{=include=} sections
88+autoconf.section.md
99+automake.section.md
1010+autopatchelf.section.md
1111+breakpoint.section.md
1212+cmake.section.md
1313+gdk-pixbuf.section.md
1414+ghc.section.md
1515+gnome.section.md
1616+installShellFiles.section.md
1717+libiconv.section.md
1818+libxml2.section.md
1919+meson.section.md
2020+ninja.section.md
2121+patch-rc-path-hooks.section.md
2222+perl.section.md
2323+pkg-config.section.md
2424+postgresql-test-hook.section.md
2525+python.section.md
2626+qt-4.section.md
2727+scons.section.md
2828+tetex-tex-live.section.md
2929+unzip.section.md
3030+validatePkgConfig.section.md
3131+waf.section.md
3232+xcbuild.section.md
3333+```
···11+# Languages and frameworks {#chap-language-support}
22+33+The [standard build environment](#chap-stdenv) makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of `stdenv`. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
44+55+```{=include=} sections
66+agda.section.md
77+android.section.md
88+beam.section.md
99+bower.section.md
1010+chicken.section.md
1111+coq.section.md
1212+crystal.section.md
1313+cuda.section.md
1414+cuelang.section.md
1515+dart.section.md
1616+dhall.section.md
1717+dotnet.section.md
1818+emscripten.section.md
1919+gnome.section.md
2020+go.section.md
2121+haskell.section.md
2222+hy.section.md
2323+idris.section.md
2424+ios.section.md
2525+java.section.md
2626+javascript.section.md
2727+lisp.section.md
2828+lua.section.md
2929+maven.section.md
3030+nim.section.md
3131+ocaml.section.md
3232+octave.section.md
3333+perl.section.md
3434+php.section.md
3535+pkg-config.section.md
3636+python.section.md
3737+qt.section.md
3838+r.section.md
3939+ruby.section.md
4040+rust.section.md
4141+swift.section.md
4242+texlive.section.md
4343+titanium.section.md
4444+vim.section.md
4545+```
-47
doc/languages-frameworks/index.xml
···11-<chapter xmlns="http://docbook.org/ns/docbook"
22- xmlns:xi="http://www.w3.org/2001/XInclude"
33- xml:id="chap-language-support">
44- <title>Languages and frameworks</title>
55- <para>
66- The <link linkend="chap-stdenv">standard build environment</link> makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accommodated by overriding the appropriate phases of <literal>stdenv</literal>. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
77- </para>
88- <xi:include href="agda.section.xml" />
99- <xi:include href="android.section.xml" />
1010- <xi:include href="beam.section.xml" />
1111- <xi:include href="bower.section.xml" />
1212- <xi:include href="chicken.section.xml" />
1313- <xi:include href="coq.section.xml" />
1414- <xi:include href="crystal.section.xml" />
1515- <xi:include href="cuda.section.xml" />
1616- <xi:include href="cuelang.section.xml" />
1717- <xi:include href="dart.section.xml" />
1818- <xi:include href="dhall.section.xml" />
1919- <xi:include href="dotnet.section.xml" />
2020- <xi:include href="emscripten.section.xml" />
2121- <xi:include href="gnome.section.xml" />
2222- <xi:include href="go.section.xml" />
2323- <xi:include href="haskell.section.xml" />
2424- <xi:include href="hy.section.xml" />
2525- <xi:include href="idris.section.xml" />
2626- <xi:include href="ios.section.xml" />
2727- <xi:include href="java.section.xml" />
2828- <xi:include href="javascript.section.xml" />
2929- <xi:include href="lisp.section.xml" />
3030- <xi:include href="lua.section.xml" />
3131- <xi:include href="maven.section.xml" />
3232- <xi:include href="nim.section.xml" />
3333- <xi:include href="ocaml.section.xml" />
3434- <xi:include href="octave.section.xml" />
3535- <xi:include href="perl.section.xml" />
3636- <xi:include href="php.section.xml" />
3737- <xi:include href="pkg-config.section.xml" />
3838- <xi:include href="python.section.xml" />
3939- <xi:include href="qt.section.xml" />
4040- <xi:include href="r.section.xml" />
4141- <xi:include href="ruby.section.xml" />
4242- <xi:include href="rust.section.xml" />
4343- <xi:include href="swift.section.xml" />
4444- <xi:include href="texlive.section.xml" />
4545- <xi:include href="titanium.section.xml" />
4646- <xi:include href="vim.section.xml" />
4747-</chapter>
···464464465465If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
466466467467-```{=docbook}
468468-<example>
469469-<title>Standard output of an update script using commit feature</title>
470470-```
467467+::: {.example #var-passthru-updateScript-example-commit}
468468+# Standard output of an update script using commit feature
471469472470```json
473471[
···481479 }
482480]
483481```
484484-485485-```{=docbook}
486486-</example>
487487-```
482482+:::
488483489484### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes}
490485
+7
doc/using-nixpkgs.md
···11+# Using Nixpkgs {#part-using}
22+33+```{=include=} chapters
44+using/configuration.chapter.md
55+using/overlays.chapter.md
66+using/overrides.chapter.md
77+```
+4-2
doc/using/configuration.chapter.md
···185185186186The following attributes can be passed in [`config`](#chap-packageconfig).
187187188188-```{=docbook}
189189-<include xmlns="http://www.w3.org/2001/XInclude" href="../doc-support/result/config-options.docbook.xml"/>
188188+```{=include=} options
189189+id-prefix: opt-
190190+list-id: configuration-variable-list
191191+source: ../doc-support/result/config-options.json/share/doc/nixos/options.json
190192```
191193192194