lol

nixos docs: give IDs to things

+54 -54
+1 -1
nixos/doc/manual/manual.xml
··· 8 8 <subtitle>Version <xi:include href="./generated/version" parse="text" /> 9 9 </subtitle> 10 10 </info> 11 - <preface> 11 + <preface xml:id="preface"> 12 12 <title>Preface</title> 13 13 <para> 14 14 This manual describes how to install, use and extend NixOS, a Linux
+1 -1
nixos/doc/manual/options-to-docbook.xsl
··· 15 15 16 16 17 17 <xsl:template match="/expr/list"> 18 - <appendix> 18 + <appendix xml:id="appendix-configuration-options"> 19 19 <title>Configuration Options</title> 20 20 <variablelist xml:id="configuration-variable-list"> 21 21 <xsl:for-each select="attrs">
+4 -4
nixos/modules/i18n/input-method/default.xml
··· 23 23 bridge.</para></listitem> 24 24 </itemizedlist> 25 25 26 - <section><title>IBus</title> 26 + <section xml:id="module-services-input-methods-ibus"><title>IBus</title> 27 27 28 28 <para>IBus is an Intelligent Input Bus. It provides full featured and user 29 29 friendly input method user interface.</para> ··· 82 82 </simplesect> 83 83 </section> 84 84 85 - <section><title>Fcitx</title> 85 + <section xml:id="module-services-input-methods-fcitx"><title>Fcitx</title> 86 86 87 87 <para>Fcitx is an input method framework with extension support. It has three 88 88 built-in Input Method Engine, Pinyin, QuWei and Table-based input ··· 122 122 </itemizedlist> 123 123 </section> 124 124 125 - <section><title>Nabi</title> 125 + <section xml:id="module-services-input-methods-nabi"><title>Nabi</title> 126 126 127 127 <para>Nabi is an easy to use Korean X input method. It allows you to enter 128 128 phonetic Korean characters (hangul) and pictographic Korean characters ··· 136 136 </programlisting> 137 137 </section> 138 138 139 - <section><title>Uim</title> 139 + <section xml:id="module-services-input-methods-uim"><title>Uim</title> 140 140 141 141 <para>Uim (short for "universal input method") is a multilingual input method 142 142 framework. Applications can use it through so-called bridges.</para>
+4 -4
nixos/modules/programs/zsh/oh-my-zsh.xml
··· 10 10 to manage your <link xlink:href="https://www.zsh.org/">ZSH</link> configuration 11 11 including completion scripts for several CLI tools or custom prompt themes.</para> 12 12 13 - <section><title>Basic usage</title> 13 + <section xml:id="module-programs-oh-my-zsh-usage"><title>Basic usage</title> 14 14 <para>The module uses the <literal>oh-my-zsh</literal> package with all available features. The 15 15 initial setup using Nix expressions is fairly similar to the configuration format 16 16 of <literal>oh-my-zsh</literal>. ··· 32 32 configuration and writes it into your <literal>/etc/zshrc</literal>. 33 33 </para></section> 34 34 35 - <section><title>Custom additions</title> 35 + <section xml:id="module-programs-oh-my-zsh-additions"><title>Custom additions</title> 36 36 37 37 <para>Sometimes third-party or custom scripts such as a modified theme may be needed. 38 38 <literal>oh-my-zsh</literal> provides the ··· 48 48 </programlisting> 49 49 </para></section> 50 50 51 - <section><title>Custom environments</title> 51 + <section xml:id="module-programs-oh-my-zsh-environments"><title>Custom environments</title> 52 52 53 53 <para>There are several extensions for <literal>oh-my-zsh</literal> packaged in <literal>nixpkgs</literal>. 54 54 One of them is <link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link> ··· 77 77 will be thrown if both <literal>custom</literal> and <literal>customPkgs</literal> are set.</emphasis> 78 78 </para></section> 79 79 80 - <section><title>Package your own customizations</title> 80 + <section xml:id="module-programs-oh-my-zsh-packaging-customizations"><title>Package your own customizations</title> 81 81 82 82 <para>If third-party customizations (e.g. new themes) are supposed to be added to <literal>oh-my-zsh</literal> 83 83 there are several pitfalls to keep in mind:</para>
+3 -3
nixos/modules/security/acme.xml
··· 11 11 implemented by and for Let's Encrypt. The alternative ACME client 12 12 <literal>simp_le</literal> is used under the hood.</para> 13 13 14 - <section><title>Prerequisites</title> 14 + <section xml:id="module-security-acme-prerequisites"><title>Prerequisites</title> 15 15 16 16 <para>You need to have a running HTTP server for verification. The server must 17 17 have a webroot defined that can serve ··· 41 41 42 42 </section> 43 43 44 - <section><title>Configuring</title> 44 + <section xml:id="module-security-acme-configuring"><title>Configuring</title> 45 45 46 46 <para>To enable ACME certificate retrieval &amp; renewal for a certificate for 47 47 <literal>foo.example.com</literal>, add the following in your ··· 66 66 67 67 </section> 68 68 69 - <section><title>Using ACME certificates in Nginx</title> 69 + <section xml:id="module-security-acme-nginx"><title>Using ACME certificates in Nginx</title> 70 70 <para>NixOS supports fetching ACME certificates for you by setting 71 71 <literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;</literal> in a virtualHost config. We 72 72 first create self-signed placeholder certificates in place of the
+9 -9
nixos/modules/services/databases/foundationdb.xml
··· 17 17 <para>FoundationDB (or "FDB") is an open source, distributed, transactional 18 18 key-value store.</para> 19 19 20 - <section><title>Configuring and basic setup</title> 20 + <section xml:id="module-services-foundationdb-configuring"><title>Configuring and basic setup</title> 21 21 22 22 <para>To enable FoundationDB, add the following to your 23 23 <filename>configuration.nix</filename>: ··· 133 133 134 134 </section> 135 135 136 - <section><title>Scaling processes and backup agents</title> 136 + <section xml:id="module-services-foundationdb-scaling"><title>Scaling processes and backup agents</title> 137 137 138 138 <para>Scaling the number of server processes is quite easy; simply specify 139 139 <option>services.foundationdb.serverProcesses</option> to be the number of ··· 151 151 152 152 </section> 153 153 154 - <section><title>Clustering</title> 154 + <section xml:id="module-services-foundationdb-clustering"><title>Clustering</title> 155 155 156 156 <para>FoundationDB on NixOS works similarly to other Linux systems, so this 157 157 section will be brief. Please refer to the full FoundationDB documentation for ··· 221 221 222 222 </section> 223 223 224 - <section><title>Client connectivity</title> 224 + <section xml:id="module-services-foundationdb-connectivity"><title>Client connectivity</title> 225 225 226 226 <para>By default, all clients must use the current 227 227 <command>fdb.cluster</command> file to access a given FoundationDB cluster. ··· 232 232 233 233 </section> 234 234 235 - <section><title>Client authorization and TLS</title> 235 + <section xml:id="module-services-foundationdb-authorization"><title>Client authorization and TLS</title> 236 236 237 237 <para>By default, any user who can connect to a FoundationDB process with the 238 238 correct cluster configuration can access anything. FoundationDB uses a ··· 270 270 271 271 </section> 272 272 273 - <section><title>Backups and Disaster Recovery</title> 273 + <section xml:id="module-services-foundationdb-disaster-recovery"><title>Backups and Disaster Recovery</title> 274 274 275 275 <para>The usual rules for doing FoundationDB backups apply on NixOS as written 276 276 in the FoundationDB manual. However, one important difference is the security ··· 316 316 317 317 </section> 318 318 319 - <section><title>Known limitations</title> 319 + <section xml:id="module-services-foundationdb-limitations"><title>Known limitations</title> 320 320 321 321 <para>The FoundationDB setup for NixOS should currently be considered beta. 322 322 FoundationDB is not new software, but the NixOS compilation and integration has ··· 333 333 334 334 </section> 335 335 336 - <section><title>Options</title> 336 + <section xml:id="module-services-foundationdb-options"><title>Options</title> 337 337 338 338 <para>NixOS's FoundationDB module allows you to configure all of the most 339 339 relevant configuration options for <command>fdbmonitor</command>, matching it ··· 343 343 344 344 </section> 345 345 346 - <section><title>Full documentation</title> 346 + <section xml:id="module-services-foundationdb-full-docs"><title>Full documentation</title> 347 347 348 348 <para>FoundationDB is a complex piece of software, and requires careful 349 349 administration to properly use. Full documentation for administration can be
+3 -3
nixos/modules/services/databases/postgresql.xml
··· 17 17 18 18 <para>PostgreSQL is an advanced, free relational database.<!-- MORE --></para> 19 19 20 - <section><title>Configuring</title> 20 + <section xml:id="module-services-postgres-configuring"><title>Configuring</title> 21 21 22 22 <para>To enable PostgreSQL, add the following to your 23 23 <filename>configuration.nix</filename>: ··· 60 60 </section> 61 61 62 62 63 - <section><title>Upgrading</title> 63 + <section xml:id="module-services-postgres-upgrading"><title>Upgrading</title> 64 64 65 65 <para>FIXME: document dump/upgrade/load cycle.</para> 66 66 67 67 </section> 68 68 69 69 70 - <section><title>Options</title> 70 + <section xml:id="module-services-postgres-options"><title>Options</title> 71 71 72 72 <para>A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.</para> 73 73
+12 -12
nixos/modules/services/editors/emacs.xml
··· 39 39 starting the Emacs daemon. 40 40 </para> 41 41 42 - <section> 42 + <section xml:id="module-services-emacs-installing"> 43 43 <title>Installing <application>Emacs</application></title> 44 44 45 45 <para> ··· 49 49 can be enabled. 50 50 </para> 51 51 52 - <section> 52 + <section xml:id="module-services-emacs-releases"> 53 53 <title>The Different Releases of Emacs</title> 54 54 55 55 <para> ··· 100 100 </para> 101 101 102 102 </section> 103 - <section> 103 + <section xml:id="module-services-emacs-adding-packages"> 104 104 <title>Adding Packages to Emacs</title> 105 105 <para> 106 106 Emacs includes an entire ecosystem of functionality beyond ··· 339 339 </para> 340 340 </section> 341 341 342 - <section> 342 + <section xml:id="module-services-emacs-advanced"> 343 343 <title>Advanced Emacs Configuration</title> 344 344 345 345 <para> ··· 380 380 </section> 381 381 </section> 382 382 383 - <section> 383 + <section xml:id="module-services-emacs-running"> 384 384 <title>Running Emacs as a Service</title> 385 385 <para> 386 386 <productname>NixOS</productname> provides an optional ··· 396 396 <filename>modules/services/editors/emacs.nix</filename> 397 397 </para> 398 398 399 - <section> 399 + <section xml:id="module-services-emacs-enabling"> 400 400 <title>Enabling the Service</title> 401 401 402 402 <para> ··· 438 438 439 439 </section> 440 440 441 - <section> 441 + <section xml:id="module-services-emacs-starting-client"> 442 442 <title>Starting the client</title> 443 443 <para> 444 444 Ensure that the emacs server is enabled, either by customizing ··· 457 457 </para> 458 458 </section> 459 459 460 - <section> 460 + <section xml:id="module-services-emacs-editor-variable"> 461 461 <title>Configuring the <varname>EDITOR</varname> variable</title> 462 462 <!--<title><command>emacsclient</command> as the Default Editor</title>--> 463 463 ··· 487 487 </para> 488 488 </section> 489 489 490 - <section> 490 + <section xml:id="module-services-emacs-per-user"> 491 491 <title>Per-User Enabling of the Service</title> 492 492 493 493 <para> ··· 515 515 </section> 516 516 </section> 517 517 518 - <section> 518 + <section xml:id="module-services-emacs-configuring"> 519 519 <title>Configuring Emacs</title> 520 520 521 521 <para> ··· 548 548 server-switch-hook, server-done-hook? 549 549 --> 550 550 551 - <section> 551 + <section xml:id="module-services-emacs-major-mode"> 552 552 <title>A Major Mode for Nix Expressions</title> 553 553 554 554 <para> ··· 558 558 </para> 559 559 </section> 560 560 561 - <section> 561 + <section xml:id="module-services-emacs-man-pages"> 562 562 <title>Accessing man pages</title> 563 563 <para> 564 564 You can use <function>woman</function> to get completion of all
+3 -3
nixos/modules/services/misc/gitlab.xml
··· 8 8 9 9 <para>Gitlab is a feature-rich git hosting service.</para> 10 10 11 - <section><title>Prerequisites</title> 11 + <section xml:id="module-services-gitlab-prerequisites"><title>Prerequisites</title> 12 12 13 13 <para>The gitlab service exposes only an Unix socket at 14 14 <literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to configure a ··· 35 35 36 36 </section> 37 37 38 - <section><title>Configuring</title> 38 + <section xml:id="module-services-gitlab-configuring"><title>Configuring</title> 39 39 40 40 <para>Gitlab depends on both PostgreSQL and Redis and will automatically enable 41 41 both services. In the case of PostgreSQL, a database and a role will be created. ··· 119 119 120 120 </section> 121 121 122 - <section><title>Maintenance</title> 122 + <section xml:id="module-services-gitlab-maintenance"><title>Maintenance</title> 123 123 124 124 <para>You can run Gitlab's rake tasks with <literal>gitlab-rake</literal> 125 125 which will be available on the system when gitlab is enabled. You will
+4 -4
nixos/modules/services/misc/taskserver/doc.xml
··· 16 16 <link xlink:href="https://taskwarrior.org/docs/#taskd"/> 17 17 </para> 18 18 19 - <section> 19 + <section xml:id="module-services-taskserver-configuration"> 20 20 <title>Configuration</title> 21 21 22 22 <para> ··· 48 48 </para> 49 49 </section> 50 50 51 - <section> 51 + <section xml:id="module-services-taskserver-nixos-taskserver-tool"> 52 52 <title>The nixos-taskserver tool</title> 53 53 54 54 <para> ··· 78 78 <option>--help</option> switch. 79 79 </para> 80 80 </section> 81 - <section> 81 + <section xml:id="module-services-taskserver-declarative-ca-management"> 82 82 <title>Declarative/automatic CA management</title> 83 83 84 84 <para> ··· 131 131 <command>task sync</command> after that stage. 132 132 </para> 133 133 </section> 134 - <section> 134 + <section xml:id="module-services-taskserver-manual-ca-management"> 135 135 <title>Manual CA management</title> 136 136 137 137 <para>
+2 -2
nixos/modules/services/monitoring/prometheus/exporters.xml
··· 8 8 9 9 <para>Prometheus exporters provide metrics for the <link xlink:href="https://prometheus.io">prometheus monitoring system</link>.</para> 10 10 11 - <section><title>Configuration</title> 11 + <section xml:id="module-services-prometheus-exporters-configuration"><title>Configuration</title> 12 12 <para>One of the most common exporters is the <link xlink:href="https://github.com/prometheus/node_exporter">node exporter</link>, it provides hardware and OS metrics from the host it's running on. The exporter could be configured as follows: 13 13 <programlisting> 14 14 services.promtheus.exporters.node = { ··· 33 33 search through the <link xlink:href="https://nixos.org/nixos/options.html#prometheus.exporters">available options</link>. 34 34 </para> 35 35 </section> 36 - <section><title>Adding a new exporter</title> 36 + <section xml:id="module-services-prometheus-exporters-new-exporter"><title>Adding a new exporter</title> 37 37 <para>To add a new exporter, it has to be packaged first (see <literal>nixpkgs/pkgs/servers/monitoring/prometheus/</literal> for examples), then a module can be added. The postfix exporter is used in this example:</para> 38 38 <itemizedlist> 39 39 <listitem>
+4 -4
nixos/modules/services/networking/dnscrypt-proxy.xml
··· 14 14 upstream is trustworthy). 15 15 </para> 16 16 17 - <sect1><title>Basic configuration</title> 17 + <sect1 xml:id="sec-dnscrypt-proxy-configuration"><title>Basic configuration</title> 18 18 19 19 <para> 20 20 To enable the client proxy, set ··· 31 31 32 32 </sect1> 33 33 34 - <sect1><title>As a forwarder for another DNS client</title> 34 + <sect1 xml:id="sec-dnscrypt-proxy-forwarder"><title>As a forwarder for another DNS client</title> 35 35 36 36 <para> 37 37 To run the DNSCrypt proxy client as a forwarder for another ··· 42 42 </programlisting> 43 43 </para> 44 44 45 - <sect2><title>dnsmasq</title> 45 + <sect2 xml:id="sec-dnscrypt-proxy-forwarder-dsnmasq"><title>dnsmasq</title> 46 46 <para> 47 47 <programlisting> 48 48 { ··· 53 53 </para> 54 54 </sect2> 55 55 56 - <sect2><title>unbound</title> 56 + <sect2 xml:id="sec-dnscrypt-proxy-forwarder-unbound"><title>unbound</title> 57 57 <para> 58 58 <programlisting> 59 59 {
+4 -4
nixos/modules/services/web-apps/matomo-doc.xml
··· 15 15 </para> 16 16 17 17 18 - <section> 18 + <section xml:id="module-services-matomo-database-setup"> 19 19 <title>Database Setup</title> 20 20 21 21 <para> ··· 51 51 </section> 52 52 53 53 54 - <section> 54 + <section xml:id="module-services-matomo-backups"> 55 55 <title>Backup</title> 56 56 <para> 57 57 You only need to take backups of your MySQL database and the ··· 62 62 </section> 63 63 64 64 65 - <section> 65 + <section xml:id="module-services-matomo-issues"> 66 66 <title>Issues</title> 67 67 <itemizedlist> 68 68 <listitem> ··· 83 83 </section> 84 84 85 85 86 - <section> 86 + <section xml:id="module-services-matomo-other-web-servers"> 87 87 <title>Using other Web Servers than nginx</title> 88 88 89 89 <para>