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.
···1# DLib {#dlib}
23-[DLib](http://dlib.net/) is a modern, C++-based toolkit which provides several machine learning algorithms.
45## Compiling without AVX support {#compiling-without-avx-support}
6
···1# DLib {#dlib}
23+[DLib](http://dlib.net/) is a modern, C++\-based toolkit which provides several machine learning algorithms.
45## Compiling without AVX support {#compiling-without-avx-support}
6
+27
doc/builders/packages/index.md
···000000000000000000000000000
···1+# Packages {#chap-packages}
2+3+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.
4+5+```{=include=} sections
6+citrix.section.md
7+dlib.section.md
8+eclipse.section.md
9+elm.section.md
10+emacs.section.md
11+firefox.section.md
12+fish.section.md
13+fuse.section.md
14+ibus.section.md
15+kakoune.section.md
16+linux.section.md
17+locales.section.md
18+etc-files.section.md
19+nginx.section.md
20+opengl.section.md
21+shell-helpers.section.md
22+steam.section.md
23+cataclysm-dda.section.md
24+urxvt.section.md
25+weechat.section.md
26+xorg.section.md
27+```
-29
doc/builders/packages/index.xml
···1-<chapter xmlns="http://docbook.org/ns/docbook"
2- xmlns:xi="http://www.w3.org/2001/XInclude"
3- xml:id="chap-packages">
4- <title>Packages</title>
5- <para>
6- 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.
7- </para>
8- <xi:include href="citrix.section.xml" />
9- <xi:include href="dlib.section.xml" />
10- <xi:include href="eclipse.section.xml" />
11- <xi:include href="elm.section.xml" />
12- <xi:include href="emacs.section.xml" />
13- <xi:include href="firefox.section.xml" />
14- <xi:include href="fish.section.xml" />
15- <xi:include href="fuse.section.xml" />
16- <xi:include href="ibus.section.xml" />
17- <xi:include href="kakoune.section.xml" />
18- <xi:include href="linux.section.xml" />
19- <xi:include href="locales.section.xml" />
20- <xi:include href="etc-files.section.xml" />
21- <xi:include href="nginx.section.xml" />
22- <xi:include href="opengl.section.xml" />
23- <xi:include href="shell-helpers.section.xml" />
24- <xi:include href="steam.section.xml" />
25- <xi:include href="cataclysm-dda.section.xml" />
26- <xi:include href="urxvt.section.xml" />
27- <xi:include href="weechat.section.xml" />
28- <xi:include href="xorg.section.xml" />
29-</chapter>
···00000000000000000000000000000
+11
doc/builders/special.md
···00000000000
···1+# Special builders {#chap-special}
2+3+This chapter describes several special builders.
4+5+```{=include=} sections
6+special/fhs-environments.section.md
7+special/makesetuphook.section.md
8+special/mkshell.section.md
9+special/darwin-builder.section.md
10+special/vm-tools.section.md
11+```
···214- 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.
215- 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.
216217-```{.graphviz caption="Staging workflow"}
218-digraph {
219- "small changes" [shape=none]
220- "mass-rebuilds and other large changes" [shape=none]
221- "critical security fixes" [shape=none]
222- "broken staging-next fixes" [shape=none]
223-224- "small changes" -> master
225- "mass-rebuilds and other large changes" -> staging
226- "critical security fixes" -> master
227- "broken staging-next fixes" -> "staging-next"
228-229- "staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
230- "staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
231-232- master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
233-}
234-```
235236[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.
237
···214- 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.
215- 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.
216217+::: {.figure #fig-staging-workflow}
218+# Staging workflow
219+<!-- generated from ./staging-workflow.dot using: dot -Tsvg staging-workflow.dot > staging-workflow.svg -->
220+
221+:::
0000000000000222223[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.
224
···1+# Nixpkgs Library Functions {#sec-functions-library}
2+3+Nixpkgs provides a standard library at `pkgs.lib`, or through `import <nixpkgs/lib>`.
4+5+<!-- nixdoc-generated documentation must be appended here during build! -->
-14
doc/functions/library.xml
···1-<section xmlns="http://docbook.org/ns/docbook"
2- xmlns:xlink="http://www.w3.org/1999/xlink"
3- xmlns:xi="http://www.w3.org/2001/XInclude"
4- xml:id="sec-functions-library">
5- <title>Nixpkgs Library Functions</title>
6-7- <para>
8- Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or through <code>import <nixpkgs/lib></code>.
9- </para>
10-11- <!-- The index must have a root element to declare namespaces, but we
12- don't want to include it, so we select all of its children. -->
13- <xi:include href="./library/generated/index.xml" xpointer="xpointer(/root/*)" />
14-</section>
···00000000000000
+33
doc/hooks/index.md
···000000000000000000000000000000000
···1+# Hooks reference {#chap-hooks}
2+3+Nixpkgs has several hook packages that augment the stdenv phases.
4+5+The stdenv built-in hooks are documented in [](#ssec-setup-hooks).
6+7+```{=include=} sections
8+autoconf.section.md
9+automake.section.md
10+autopatchelf.section.md
11+breakpoint.section.md
12+cmake.section.md
13+gdk-pixbuf.section.md
14+ghc.section.md
15+gnome.section.md
16+installShellFiles.section.md
17+libiconv.section.md
18+libxml2.section.md
19+meson.section.md
20+ninja.section.md
21+patch-rc-path-hooks.section.md
22+perl.section.md
23+pkg-config.section.md
24+postgresql-test-hook.section.md
25+python.section.md
26+qt-4.section.md
27+scons.section.md
28+tetex-tex-live.section.md
29+unzip.section.md
30+validatePkgConfig.section.md
31+waf.section.md
32+xcbuild.section.md
33+```
···1+# Languages and frameworks {#chap-language-support}
2+3+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.
4+5+```{=include=} sections
6+agda.section.md
7+android.section.md
8+beam.section.md
9+bower.section.md
10+chicken.section.md
11+coq.section.md
12+crystal.section.md
13+cuda.section.md
14+cuelang.section.md
15+dart.section.md
16+dhall.section.md
17+dotnet.section.md
18+emscripten.section.md
19+gnome.section.md
20+go.section.md
21+haskell.section.md
22+hy.section.md
23+idris.section.md
24+ios.section.md
25+java.section.md
26+javascript.section.md
27+lisp.section.md
28+lua.section.md
29+maven.section.md
30+nim.section.md
31+ocaml.section.md
32+octave.section.md
33+perl.section.md
34+php.section.md
35+pkg-config.section.md
36+python.section.md
37+qt.section.md
38+r.section.md
39+ruby.section.md
40+rust.section.md
41+swift.section.md
42+texlive.section.md
43+titanium.section.md
44+vim.section.md
45+```
-47
doc/languages-frameworks/index.xml
···1-<chapter xmlns="http://docbook.org/ns/docbook"
2- xmlns:xi="http://www.w3.org/2001/XInclude"
3- xml:id="chap-language-support">
4- <title>Languages and frameworks</title>
5- <para>
6- 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.
7- </para>
8- <xi:include href="agda.section.xml" />
9- <xi:include href="android.section.xml" />
10- <xi:include href="beam.section.xml" />
11- <xi:include href="bower.section.xml" />
12- <xi:include href="chicken.section.xml" />
13- <xi:include href="coq.section.xml" />
14- <xi:include href="crystal.section.xml" />
15- <xi:include href="cuda.section.xml" />
16- <xi:include href="cuelang.section.xml" />
17- <xi:include href="dart.section.xml" />
18- <xi:include href="dhall.section.xml" />
19- <xi:include href="dotnet.section.xml" />
20- <xi:include href="emscripten.section.xml" />
21- <xi:include href="gnome.section.xml" />
22- <xi:include href="go.section.xml" />
23- <xi:include href="haskell.section.xml" />
24- <xi:include href="hy.section.xml" />
25- <xi:include href="idris.section.xml" />
26- <xi:include href="ios.section.xml" />
27- <xi:include href="java.section.xml" />
28- <xi:include href="javascript.section.xml" />
29- <xi:include href="lisp.section.xml" />
30- <xi:include href="lua.section.xml" />
31- <xi:include href="maven.section.xml" />
32- <xi:include href="nim.section.xml" />
33- <xi:include href="ocaml.section.xml" />
34- <xi:include href="octave.section.xml" />
35- <xi:include href="perl.section.xml" />
36- <xi:include href="php.section.xml" />
37- <xi:include href="pkg-config.section.xml" />
38- <xi:include href="python.section.xml" />
39- <xi:include href="qt.section.xml" />
40- <xi:include href="r.section.xml" />
41- <xi:include href="ruby.section.xml" />
42- <xi:include href="rust.section.xml" />
43- <xi:include href="swift.section.xml" />
44- <xi:include href="texlive.section.xml" />
45- <xi:include href="titanium.section.xml" />
46- <xi:include href="vim.section.xml" />
47-</chapter>
···464465If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
466467-```{=docbook}
468-<example>
469-<title>Standard output of an update script using commit feature</title>
470-```
471472```json
473[
···481 }
482]
483```
484-485-```{=docbook}
486-</example>
487-```
488489### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes}
490
···464465If the returned array contains exactly one object (e.g. `[{}]`), all values are optional and will be determined automatically.
466467+::: {.example #var-passthru-updateScript-example-commit}
468+# Standard output of an update script using commit feature
00469470```json
471[
···479 }
480]
481```
482+:::
000483484### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes}
485
+7
doc/using-nixpkgs.md
···0000000
···1+# Using Nixpkgs {#part-using}
2+3+```{=include=} chapters
4+using/configuration.chapter.md
5+using/overlays.chapter.md
6+using/overrides.chapter.md
7+```
+4-2
doc/using/configuration.chapter.md
···185186The following attributes can be passed in [`config`](#chap-packageconfig).
187188-```{=docbook}
189-<include xmlns="http://www.w3.org/2001/XInclude" href="../doc-support/result/config-options.docbook.xml"/>
00190```
191192
···185186The following attributes can be passed in [`config`](#chap-packageconfig).
187188+```{=include=} options
189+id-prefix: opt-
190+list-id: configuration-variable-list
191+source: ../doc-support/result/config-options.json/share/doc/nixos/options.json
192```
193194