+10
-3
doc/build-aux/pandoc-filters/myst-reader/roles.lua
+10
-3
doc/build-aux/pandoc-filters/myst-reader/roles.lua
···
+20
nixos/doc/manual/development/meta-attributes.section.md
+20
nixos/doc/manual/development/meta-attributes.section.md
···
+21
nixos/doc/manual/from_md/development/meta-attributes.section.xml
+21
nixos/doc/manual/from_md/development/meta-attributes.section.xml
···
+18
nixos/doc/manual/md-to-db.sh
+18
nixos/doc/manual/md-to-db.sh
···
+158
nixos/modules/i18n/input-method/default.md
+158
nixos/modules/i18n/input-method/default.md
···+Kime is Korean IME. it's built with Rust language and let you get simple, safe, fast Korean typing
+233
-249
nixos/modules/i18n/input-method/default.xml
+233
-249
nixos/modules/i18n/input-method/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-input-methods">-<link linkend="opt-i18n.inputMethod.ibus.engines">ibus.engines</link> = with pkgs.ibus-engines; [ anthy hangul mozc ];-<link linkend="opt-i18n.inputMethod.fcitx.engines">fcitx.engines</link> = with pkgs.fcitx-engines; [ mozc hangul m17n ];-Kime is Korean IME. it's built with Rust language and let you get simple, safe, fast Korean typing
+47
nixos/modules/programs/digitalbitbox/default.md
+47
nixos/modules/programs/digitalbitbox/default.md
···
+1
-1
nixos/modules/programs/digitalbitbox/default.nix
+1
-1
nixos/modules/programs/digitalbitbox/default.nix
+70
nixos/modules/programs/digitalbitbox/default.xml
+70
nixos/modules/programs/digitalbitbox/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-programs-digitalbitbox">+<link xlink:href="https://digitalbitbox.com/start_linux">https://digitalbitbox.com/start_linux</link>.
-74
nixos/modules/programs/digitalbitbox/doc.xml
-74
nixos/modules/programs/digitalbitbox/doc.xml
···-<link linkend="opt-programs.digitalbitbox.package">package</link> = pkgs.digitalbitbox.override {
+17
nixos/modules/programs/plotinus.md
+17
nixos/modules/programs/plotinus.md
···
+28
-28
nixos/modules/programs/plotinus.xml
+28
-28
nixos/modules/programs/plotinus.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-program-plotinus">
+109
nixos/modules/programs/zsh/oh-my-zsh.md
+109
nixos/modules/programs/zsh/oh-my-zsh.md
···+[`ZSH_CUSTOM`](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals)+[upstream repo.](https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins)
+114
-115
nixos/modules/programs/zsh/oh-my-zsh.xml
+114
-115
nixos/modules/programs/zsh/oh-my-zsh.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-programs-zsh-ohmyzsh">-<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals"><literal>ZSH_CUSTOM</literal></link>+<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals"><literal>ZSH_CUSTOM</literal></link>···-<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-building-environment"><literal>buildEnv</literal></link>+<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-building-environment"><literal>buildEnv</literal></link>-<literal><link xlink:href="http://zsh.sourceforge.net/Doc/Release/Functions.html">fpath</link></literal>-<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins">upstream+<link xlink:href="http://zsh.sourceforge.net/Doc/Release/Functions.html"><literal>fpath</literal></link>+<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins">upstream···
+354
nixos/modules/security/acme/default.md
+354
nixos/modules/security/acme/default.md
···+# /var/lib/acme/.challenges must be writable by the ACME user and readable by the Apache user.+while read x y; do if [ "$x" = "secret" ]; then secret="''${y:1:''${#y}-3}"; fi; done < /var/lib/secrets/dnskeys.conf+## Using DNS validation with web server virtual hosts {#module-security-acme-config-dns-with-vhosts}+## Using ACME with services demanding root owned certificates {#module-security-acme-root-owned}
+1
-1
nixos/modules/security/acme/default.nix
+1
-1
nixos/modules/security/acme/default.nix
+395
nixos/modules/security/acme/default.xml
+395
nixos/modules/security/acme/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-security-acme">+# security.acme.certs."foo.example.com".extraDomainNames = [ "baz.example.com" ];+# /var/lib/acme/.challenges must be writable by the ACME user and readable by the Apache user.+while read x y; do if [ "$x" = "secret" ]; then secret="''${y:1:''${#y}-3}"; fi; done < /var/lib/secrets/dnskeys.conf+<literal>systemctl start acme-example.com.service & journalctl -fu acme-example.com.service</literal>+<link linkend="opt-services.nginx.virtualHosts._name_.enableACME"><literal>enableACME</literal></link>
-414
nixos/modules/security/acme/doc.xml
-414
nixos/modules/security/acme/doc.xml
···-# All serverAliases will be added as <link linkend="opt-security.acme.certs._name_.extraDomainNames">extra domain names</link> on the certificate.-<link linkend="opt-services.nginx.virtualHosts._name_.serverAliases">serverAliases</link> = [ "bar.example.com" ];-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.root">root</link> = "/var/www";-# <link linkend="opt-security.acme.certs._name_.extraDomainNames">security.acme.certs."foo.example.com".extraDomainNames</link> = [ "baz.example.com" ];-<link linkend="opt-services.nginx.virtualHosts._name_.useACMEHost">useACMEHost</link> = "foo.example.com";-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.root">root</link> = "/var/www";-<link linkend="opt-users.users._name_.extraGroups">users.users.nginx.extraGroups</link> = [ "acme" ];-<link linkend="opt-services.nginx.virtualHosts._name_.serverAliases">serverAliases</link> = [ "*.example.com" ];-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.root">root</link> = "/var/lib/acme/.challenges";-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.return">return</link> = "301 https://$host$request_uri";-<link linkend="opt-users.users._name_.extraGroups">users.users.wwwrun.extraGroups</link> = [ "acme" ];-<link linkend="opt-services.httpd.virtualHosts._name_.serverAliases">serverAliases</link> = [ "*.example.com" ];-# /var/lib/acme/.challenges must be writable by the ACME user and readable by the Apache user.-<link linkend="opt-services.httpd.virtualHosts._name_.documentRoot">documentRoot</link> = "/var/lib/acme/.challenges";-<link linkend="opt-security.acme.certs._name_.webroot">webroot</link> = "/var/lib/acme/.challenges";-# Take a look at the <link linkend="opt-services.nginx.group">group</link> option for the web server you choose.-<link linkend="opt-security.acme.certs._name_.extraDomainNames">extraDomainNames</link> = [ "mail.example.com" ];-<link linkend="opt-security.acme.certs._name_.credentialsFile">credentialsFile</link> = "/var/lib/secrets/certs.secret";-<link linkend="opt-security.acme.certs._name_.dnsPropagationCheck">dnsPropagationCheck</link> = false;-while read x y; do if [ "$x" = "secret" ]; then secret="''${y:1:''${#y}-3}"; fi; done < /var/lib/secrets/dnskeys.conf-<literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link></literal>-<link linkend="opt-security.acme.defaults.credentialsFile">credentialsFile</link> = "/var/lib/secrets/certs.secret";-<link linkend="opt-security.acme.defaults.dnsPropagationCheck">dnsPropagationCheck</link> = false;-<link linkend="opt-systemd.services._name_.requires">systemd.services.opensmtpd.requires</link> = ["acme-finished-mail.example.com.target"];-<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.opensmtpd.serviceConfig.LoadCredential</link> = let-to be regenerated. In this scenario lego will produce the error <literal>JWS verification error</literal>.
+163
nixos/modules/services/backup/borgbackup.md
+163
nixos/modules/services/backup/borgbackup.md
···+nixos-backupToLocalServer-2020-03-30T21:46:17 Mon, 2020-03-30 21:46:19 [84feb97710954931ca384182f5f3cb90665f35cef214760abd7350fb064786ac]+nixos-backupToLocalServer-2020-03-30T21:46:30 Mon, 2020-03-30 21:46:32 [e77321694ecd160ca2228611747c6ad1be177d6e0d894538898de7a2621b6e68]+Several companies offer [(paid) hosting services](https://www.borgbackup.org/support/commercial.html)
+164
-158
nixos/modules/services/backup/borgbackup.xml
+164
-158
nixos/modules/services/backup/borgbackup.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-borgbase">+<link xlink:href="https://borgbackup.readthedocs.io/">https://borgbackup.readthedocs.io/</link>-ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos</screen>+"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos"nixos-backupToLocalServer-2020-03-30T21:46:17 Mon, 2020-03-30 21:46:19 [84feb97710954931ca384182f5f3cb90665f35cef214760abd7350fb064786ac]-nixos-backupToLocalServer-2020-03-30T21:46:30 Mon, 2020-03-30 21:46:32 [e77321694ecd160ca2228611747c6ad1be177d6e0d894538898de7a2621b6e68]</programlisting>+nixos-backupToLocalServer-2020-03-30T21:46:30 Mon, 2020-03-30 21:46:32 [e77321694ecd160ca2228611747c6ad1be177d6e0d894538898de7a2621b6e68]-<programlisting>sudo ssh-keygen -N '' -t ed25519 -f /run/keys/id_ed25519_borgbase</programlisting>
+309
nixos/modules/services/databases/foundationdb.md
+309
nixos/modules/services/databases/foundationdb.md
···
+358
-376
nixos/modules/services/databases/foundationdb.xml
+358
-376
nixos/modules/services/databases/foundationdb.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-foundationdb">+<link xlink:href="https://apple.github.io/foundationdb/">https://apple.github.io/foundationdb/</link>······+<link xlink:href="https://apple.github.io/foundationdb/">https://apple.github.io/foundationdb/</link>.
+173
nixos/modules/services/databases/postgresql.md
+173
nixos/modules/services/databases/postgresql.md
···+Note that you are required to specify the desired version of PostgreSQL (e.g. `pkgs.postgresql_11`). Since upgrading your PostgreSQL version requires a database dump and reload (see below), NixOS cannot provide a default value for [](#opt-services.postgresql.package) such as the most recent release of PostgreSQL.+By default, PostgreSQL stores its databases in {file}`/var/lib/postgresql/$psqlSchema`. You can override this using [](#opt-services.postgresql.dataDir), e.g.+Major PostgreSQL upgrades require a downtime and a few imperative steps to be called. This is the case because+each major version has some internal changes in the databases' state during major releases. Because of that,+1. Rebuild nixos configuration with the configuration above added to your {file}`configuration.nix`. Alternatively, add that into separate file and reference it in `imports` list.+3. Run `upgrade-pg-cluster`. It will stop old postgresql, initialize a new one and migrate the old one to the new one. You may supply arguments like `--jobs 4` and `--link` to speedup migration process. See <https://www.postgresql.org/docs/current/pgupgrade.html> for details.+4. Change postgresql package in NixOS configuration to the one you were upgrading to via [](#opt-services.postgresql.package). Rebuild NixOS. This should start new postgres using upgraded data directory and all services you stopped during the upgrade.+- For PostgreSQL < 14, run (as `su -l postgres` in the [](#opt-services.postgresql.dataDir), in this example {file}`/var/lib/postgresql/13`):+A complete list of options for the PostgreSQL module may be found [here](#opt-services.postgresql.enable).+Plugins collection for each PostgreSQL version can be accessed with `.pkgs`. For example, for `pkgs.postgresql_11` package, its plugin collection is accessed by `pkgs.postgresql_11.pkgs`:+You can build custom PostgreSQL-with-plugins (to be used outside of NixOS) using function `.withPackages`. For example, creating a custom PostgreSQL package in an overlay can look like:+url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz";
+182
-163
nixos/modules/services/databases/postgresql.xml
+182
-163
nixos/modules/services/databases/postgresql.xml
···-<emphasis>Upstream documentation:</emphasis> <link xlink:href="http://www.postgresql.org/docs/"/>+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-postgresql">-Note that you are required to specify the desired version of PostgreSQL (e.g. <literal>pkgs.postgresql_11</literal>). Since upgrading your PostgreSQL version requires a database dump and reload (see below), NixOS cannot provide a default value for <xref linkend="opt-services.postgresql.package"/> such as the most recent release of PostgreSQL.-By default, PostgreSQL stores its databases in <filename>/var/lib/postgresql/$psqlSchema</filename>. You can override this using <xref linkend="opt-services.postgresql.dataDir"/>, e.g.-The steps below demonstrate how to upgrade from an older version to <package>pkgs.postgresql_13</package>.-Major PostgreSQL upgrades require a downtime and a few imperative steps to be called. This is the case because-each major version has some internal changes in the databases' state during major releases. Because of that,-NixOS places the state into <filename>/var/lib/postgresql/<version></filename> where each <literal>version</literal>-Rebuild nixos configuration with the configuration above added to your <filename>configuration.nix</filename>. Alternatively, add that into separate file and reference it in <literal>imports</literal> list.-Run <literal>upgrade-pg-cluster</literal>. It will stop old postgresql, initialize a new one and migrate the old one to the new one. You may supply arguments like <literal>--jobs 4</literal> and <literal>--link</literal> to speedup migration process. See <link xlink:href="https://www.postgresql.org/docs/current/pgupgrade.html" /> for details.-Change postgresql package in NixOS configuration to the one you were upgrading to via <xref linkend="opt-services.postgresql.package" />. Rebuild NixOS. This should start new postgres using upgraded data directory and all services you stopped during the upgrade.+<link xlink:href="https://www.postgresql.org/docs/current/pgupgrade.html">https://www.postgresql.org/docs/current/pgupgrade.html</link>-For PostgreSQL ≥ 14, use the <literal>vacuumdb</literal> command printed by the upgrades script.-For PostgreSQL < 14, run (as <literal>su -l postgres</literal> in the <xref linkend="opt-services.postgresql.dataDir" />, in this example <filename>/var/lib/postgresql/13</filename>):-A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.-Plugins collection for each PostgreSQL version can be accessed with <literal>.pkgs</literal>. For example, for <literal>pkgs.postgresql_11</literal> package, its plugin collection is accessed by <literal>pkgs.postgresql_11.pkgs</literal>:···-To add plugins via NixOS configuration, set <literal>services.postgresql.extraPlugins</literal>:-You can build custom PostgreSQL-with-plugins (to be used outside of NixOS) using function <literal>.withPackages</literal>. For example, creating a custom PostgreSQL package in an overlay can look like:···-url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz";+url = "https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz";
+39
nixos/modules/services/desktops/flatpak.md
+39
nixos/modules/services/desktops/flatpak.md
···
+56
-53
nixos/modules/services/desktops/flatpak.xml
+56
-53
nixos/modules/services/desktops/flatpak.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-flatpak">+<link xlink:href="https://github.com/flatpak/flatpak/wiki">https://github.com/flatpak/flatpak/wiki</link>-<prompt>$ </prompt>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
+39
nixos/modules/services/development/blackfire.md
+39
nixos/modules/services/development/blackfire.md
···+[Blackfire](https://blackfire.io) is a proprietary tool for profiling applications. There are several languages supported by the product but currently only PHP support is packaged in Nixpkgs. The back-end consists of a module that is loaded into the language runtime (called *probe*) and a service (*agent*) that the probe connects to and that sends the profiles to the server.+To use it, you will need to enable the agent and the probe on your server. The exact method will depend on the way you use PHP but here is an example of NixOS configuration for PHP-FPM:+# You can also use other options described in https://blackfire.io/docs/up-and-running/configuration/agent+# (WantedBy= from the upstream unit not respected: https://github.com/NixOS/nixpkgs/issues/81138)+On your developer machine, you will also want to install [the client](https://blackfire.io/docs/up-and-running/installation#install-a-profiling-client) (see `blackfire` package) or the browser extension to actually trigger the profiling.
+39
-24
nixos/modules/services/development/blackfire.xml
+39
-24
nixos/modules/services/development/blackfire.xml
···-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="module-services-blackfire">-<link xlink:href="https://blackfire.io">Blackfire</link> is a proprietary tool for profiling applications. There are several languages supported by the product but currently only PHP support is packaged in Nixpkgs. The back-end consists of a module that is loaded into the language runtime (called <firstterm>probe</firstterm>) and a service (<firstterm>agent</firstterm>) that the probe connects to and that sends the profiles to the server.-To use it, you will need to enable the agent and the probe on your server. The exact method will depend on the way you use PHP but here is an example of NixOS configuration for PHP-FPM:+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-blackfire">+<link xlink:href="https://blackfire.io/docs/introduction">https://blackfire.io/docs/introduction</link>···# You can also use other options described in https://blackfire.io/docs/up-and-running/configuration/agent# (WantedBy= from the upstream unit not respected: https://github.com/NixOS/nixpkgs/issues/81138)-On your developer machine, you will also want to install <link xlink:href="https://blackfire.io/docs/up-and-running/installation#install-a-profiling-client">the client</link> (see <package>blackfire</package> package) or the browser extension to actually trigger the profiling.+<link xlink:href="https://blackfire.io/docs/up-and-running/installation#install-a-profiling-client">the
+399
nixos/modules/services/editors/emacs.md
+399
nixos/modules/services/editors/emacs.md
···
+411
-501
nixos/modules/services/editors/emacs.xml
+411
-501
nixos/modules/services/editors/emacs.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-emacs">···-emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages; <co xml:id="ex-emacsNix-3" />···-<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html">+<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html">Emacs···-xlink:href="https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html">nXML</link>,+<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html">nXML</link>,
+17
nixos/modules/services/hardware/trezord.md
+17
nixos/modules/services/hardware/trezord.md
···
+27
-24
nixos/modules/services/hardware/trezord.xml
+27
-24
nixos/modules/services/hardware/trezord.xml
···-For more information, guides and documentation, see <link xlink:href="https://wiki.trezor.io"/>.+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="trezor">
+82
nixos/modules/services/mail/mailman.md
+82
nixos/modules/services/mail/mailman.md
···+- `AAAA` and `A` records pointing to the host in question, in order for browsers to be able to discover the address of the web server;+- An `MX` record pointing to a domain name at which the host is reachable, in order for other mail servers to be able to deliver emails to the mailing lists it hosts.+Mailman also supports other MTA, though with a little bit more configuration. For example, to use Mailman with Exim, you can use the following settings:
+70
-52
nixos/modules/services/mail/mailman.xml
+70
-52
nixos/modules/services/mail/mailman.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mailman">+sslCert = config.security.acme.certs."lists.example.org".directory + "/full.pem";+sslKey = config.security.acme.certs."lists.example.org".directory + "/key.pem";-<link linkend="opt-services.nginx.virtualHosts._name_.enableACME">services.nginx.virtualHosts."lists.example.org".enableACME</link> = true;-<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 25 80 443 ];-<listitem><para><literal>AAAA</literal> and <literal>A</literal> records pointing to the host in question, in order for browsers to be able to discover the address of the web server;</para></listitem>-<listitem><para>An <literal>MX</literal> record pointing to a domain name at which the host is reachable, in order for other mail servers to be able to deliver emails to the mailing lists it hosts.</para></listitem>-Mailman also supports other MTA, though with a little bit more configuration. For example, to use Mailman with Exim, you can use the following settings:···-<link xlink:href="https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html">Mailman documentation</link>
+110
nixos/modules/services/matrix/mjolnir.md
+110
nixos/modules/services/matrix/mjolnir.md
···+page and the [Moderator's guide](https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md)+see [the default configuration](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml).+need to set this Room-ID in [services.mjolnir.managementRoom](#opt-services.mjolnir.managementRoom).+so your management room can be encrypted. This also applies if you are looking to moderate an encrypted room.+set in [services.mjolnir.homeserverUrl](#opt-services.mjolnir.homeserverUrl) and Mjolnir itself
+101
-87
nixos/modules/services/matrix/mjolnir.xml
+101
-87
nixos/modules/services/matrix/mjolnir.xml
···-page and the <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md">Moderator's guide</link>-see <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml">the default configuration</link>.+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mjolnir">-need to set this Room-ID in <link linkend="opt-services.mjolnir.managementRoom">services.mjolnir.managementRoom</link>.-It is recommended to use <link xlink:href="https://github.com/matrix-org/pantalaimon">Pantalaimon</link>,-so your management room can be encrypted. This also applies if you are looking to moderate an encrypted room.+<link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md">Moderator’s-<link linkend="opt-services.mjolnir.pantalaimon.enable">services.mjolnir.pantalaimon</link>. This will-set in <link linkend="opt-services.mjolnir.homeserverUrl">services.mjolnir.homeserverUrl</link> and Mjolnir itself-<link linkend="opt-services.mjolnir.homeserverUrl">homeserverUrl</link> = "https://matrix.domain.tld";-<link linkend="opt-services.mjolnir.pantalaimon.passwordFile">passwordFile</link> = "/run/secrets/mjolnir-password";-If you are using a managed <link xlink:href="https://ems.element.io/">"Element Matrix Services (EMS)"</link>-To use the Antispam Module, add <package>matrix-synapse-plugins.matrix-synapse-mjolnir-antispam</package>···
+216
nixos/modules/services/matrix/synapse.md
+216
nixos/modules/services/matrix/synapse.md
···+[installation instructions of Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html) .+[{option}`deployment.keys`](https://nixops.readthedocs.io/en/latest/overview.html#managing-keys)+[Element Important Security Notes](https://github.com/vector-im/element-web/tree/v1.10.0#important-security-notes)
+213
-226
nixos/modules/services/matrix/synapse.xml
+213
-226
nixos/modules/services/matrix/synapse.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-matrix">+<link xlink:href="https://matrix-org.github.io/synapse/latest/setup/installation.html">installation+serverConfig."m.server" = "${config.services.matrix-synapse.settings.server_name}:443";-<xref linkend="opt-services.postgresql.initialScript" /> = pkgs.writeText "synapse-init.sql" ''-<link linkend="opt-services.nginx.recommendedTlsSettings">recommendedTlsSettings</link> = true;-<link linkend="opt-services.nginx.recommendedOptimisation">recommendedOptimisation</link> = true;-<link linkend="opt-services.nginx.recommendedGzipSettings">recommendedGzipSettings</link> = true;-<link linkend="opt-services.nginx.recommendedProxySettings">recommendedProxySettings</link> = true;-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/server".extraConfig</link> = mkWellKnown serverConfig; <co xml:id='ex-matrix-synapse-well-known-server' />-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."= /.well-known/matrix/client".extraConfig</link> = mkWellKnown clientConfig; <co xml:id='ex-matrix-synapse-well-known-client' />-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.extraConfig">locations."/".extraConfig</link> = '' <co xml:id='ex-matrix-synapse-rev-default' />-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/_matrix".proxyPass</link> = "http://[::1]:8008"; <co xml:id='ex-matrix-synapse-rev-proxy-pass' />-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/_synapse/client".proxyPass</link> = "http://[::1]:8008"; <co xml:id='ex-matrix-synapse-rev-client' />-<link linkend="opt-services.matrix-synapse.settings.server_name">settings.server_name</link> = config.networking.domain;-<link linkend="opt-services.matrix-synapse.settings.listeners._.bind_addresses">bind_addresses</link> = [ "::1" ];-<link linkend="opt-services.matrix-synapse.settings.listeners._.x_forwarded">x_forwarded</link> = true;-<link linkend="opt-services.matrix-synapse.settings.listeners._.resources">resources</link> = [ {-<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.names">names</link> = [ "client" "federation" ];-<link linkend="opt-services.matrix-synapse.settings.listeners._.resources._.compress">compress</link> = true;-This section is not needed if the <link linkend="opt-services.matrix-synapse.settings.server_name">server_name</link>-Further reference can be found in the <link xlink:href="https://matrix-org.github.io/synapse/latest/delegate.html">docs-Further reference can be found in the <link xlink:href="https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient">upstream docs</link>-here, see also the <link linkend='ex-matrix-synapse-rev-default'>section about Element</link>.-then enable <literal><link linkend="opt-services.matrix-synapse.settings.enable_registration">services.matrix-synapse.settings.enable_registration</link> =-<option><link linkend="opt-services.matrix-synapse.settings.registration_shared_secret">services.matrix-synapse.settings.registration_shared_secret</link></option>.-<prompt>$ </prompt>register_new_matrix_user -k <replaceable>your-registration-shared-secret</replaceable> http://localhost:8008-When using <xref linkend="opt-services.matrix-synapse.settings.registration_shared_secret" />, the secret-Deploy the file with a secret-manager such as <link xlink:href="https://nixops.readthedocs.io/en/latest/overview.html#managing-keys"><option>deployment.keys</option></link>-from <citerefentry><refentrytitle>nixops</refentrytitle><manvolnum>1</manvolnum></citerefentry>+<link xlink:href="https://nixops.readthedocs.io/en/latest/overview.html#managing-keys"><option>deployment.keys</option></link>-<link xlink:href="https://github.com/matrix-org/matrix-synapse-ldap3">LDAP (via <literal>matrix-synapse-ldap3</literal>)</link>-<link xlink:href="https://element.io/blog/welcome-to-element/">Element introductory blog post</link>-<link linkend="opt-services.nginx.virtualHosts._name_.root">root</link> = pkgs.element-web.override {···-<link xlink:href="https://github.com/vector-im/element-web/tree/v1.10.0#important-security-notes">Element+<link xlink:href="https://github.com/vector-im/element-web/tree/v1.10.0#important-security-notes">Element
+112
nixos/modules/services/misc/gitlab.md
+112
nixos/modules/services/misc/gitlab.md
···
+124
-132
nixos/modules/services/misc/gitlab.xml
+124
-132
nixos/modules/services/misc/gitlab.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-gitlab">-<link linkend="opt-services.nginx.recommendedGzipSettings">recommendedGzipSettings</link> = true;-<link linkend="opt-services.nginx.recommendedOptimisation">recommendedOptimisation</link> = true;-<link linkend="opt-services.nginx.recommendedProxySettings">recommendedProxySettings</link> = true;-<link linkend="opt-services.nginx.recommendedTlsSettings">recommendedTlsSettings</link> = true;-<link linkend="opt-services.nginx.virtualHosts._name_.locations._name_.proxyPass">locations."/".proxyPass</link> = "http://unix:/run/gitlab/gitlab-workhorse.socket";+locations."/".proxyPass = "http://unix:/run/gitlab/gitlab-workhorse.socket";-<link linkend="opt-services.gitlab.databasePasswordFile">databasePasswordFile</link> = "/var/keys/gitlab/db_password";-<link linkend="opt-services.gitlab.initialRootPasswordFile">initialRootPasswordFile</link> = "/var/keys/gitlab/root_password";-<link linkend="opt-services.gitlab.secrets.secretFile">secretFile</link> = "/var/keys/gitlab/secret";
+93
nixos/modules/services/misc/sourcehut/default.md
+93
nixos/modules/services/misc/sourcehut/default.md
···+## Using an alternative webserver as reverse-proxy (e.g. `httpd`) {#module-services-sourcehut-httpd}
+1
-1
nixos/modules/services/misc/sourcehut/default.nix
+1
-1
nixos/modules/services/misc/sourcehut/default.nix
+113
nixos/modules/services/misc/sourcehut/default.xml
+113
nixos/modules/services/misc/sourcehut/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-sourcehut">
-119
nixos/modules/services/misc/sourcehut/sourcehut.xml
-119
nixos/modules/services/misc/sourcehut/sourcehut.xml
···-<literal><link linkend="opt-services.redis.servers">services.redis.servers.sourcehut</link></literal>,-<literal><link linkend="opt-services.postgresql.enable">services.postgresql</link></literal> services.-<link linkend="opt-networking.firewall.allowedTCPPorts">firewall.allowedTCPPorts</link> = [ 22 80 443 ];-<link linkend="opt-security.acme.certs._name_.extraDomainNames">security.acme.certs."${fqdn}".extraDomainNames</link> = [-<link linkend="opt-services.nginx.recommendedTlsSettings">recommendedTlsSettings</link> = true;-<link linkend="opt-services.nginx.recommendedOptimisation">recommendedOptimisation</link> = true;-<link linkend="opt-services.nginx.recommendedGzipSettings">recommendedGzipSettings</link> = true;-<link linkend="opt-services.nginx.recommendedProxySettings">recommendedProxySettings</link> = true;-<link linkend="opt-services.nginx.virtualHosts._name_.enableACME">"${fqdn}".enableACME</link> = true;-<link linkend="opt-services.nginx.virtualHosts._name_.useACMEHost">"meta.${fqdn}".useACMEHost</link> = fqdn:-<link linkend="opt-services.nginx.virtualHosts._name_.useACMEHost">"man.${fqdn}".useACMEHost</link> = fqdn:-<link linkend="opt-services.nginx.virtualHosts._name_.useACMEHost">"git.${fqdn}".useACMEHost</link> = fqdn:-used by the configuration generator and the result is placed in <literal>/etc/sr.ht/config.ini</literal>.-the module and linked from the store to ensure that all values from <literal>config.ini</literal>-<title>Using an alternative webserver as reverse-proxy (e.g. <literal>httpd</literal>)</title>-By default, <package>nginx</package> is used as reverse-proxy for <package>sourcehut</package>.
+93
nixos/modules/services/misc/taskserver/default.md
+93
nixos/modules/services/misc/taskserver/default.md
···
+1
-1
nixos/modules/services/misc/taskserver/default.nix
+1
-1
nixos/modules/services/misc/taskserver/default.nix
+130
nixos/modules/services/misc/taskserver/default.xml
+130
nixos/modules/services/misc/taskserver/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-taskserver">+<link xlink:href="https://taskwarrior.org/docs/#taskd">https://taskwarrior.org/docs/#taskd</link>+<link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
-135
nixos/modules/services/misc/taskserver/doc.xml
-135
nixos/modules/services/misc/taskserver/doc.xml
···-<link linkend="opt-services.taskserver.organisations._name_.users">services.taskserver.organisations.my-company.users</link> = [ "alice" ];-<link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
+46
nixos/modules/services/misc/weechat.md
+46
nixos/modules/services/misc/weechat.md
···+*The session name can be changed using [services.weechat.sessionName.](options.html#opt-services.weechat.sessionName)*
+47
-50
nixos/modules/services/misc/weechat.xml
+47
-50
nixos/modules/services/misc/weechat.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-weechat">-<literal><link xlink:href="https://www.freedesktop.org/wiki/Software/systemd/">systemd</link></literal>+<link xlink:href="https://www.freedesktop.org/wiki/Software/systemd/"><literal>systemd</literal></link>-<link xlink:href="https://www.gnu.org/software/screen/manual/html_node/Multiuser.html#Multiuser">multiuser</link>+<link xlink:href="https://www.gnu.org/software/screen/manual/html_node/Multiuser.html#Multiuser">multiuser</link>-<link linkend="opt-services.weechat.sessionName">services.weechat.sessionName.</link></emphasis>+<link xlink:href="options.html#opt-services.weechat.sessionName">services.weechat.sessionName.</link></emphasis>
+2
-2
nixos/modules/services/monitoring/parsedmarc.md
+2
-2
nixos/modules/services/monitoring/parsedmarc.md
······
-2
nixos/modules/services/monitoring/parsedmarc.nix
-2
nixos/modules/services/monitoring/parsedmarc.nix
···-# `pandoc parsedmarc.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > parsedmarc.xml`
+7
-5
nixos/modules/services/monitoring/parsedmarc.xml
+7
-5
nixos/modules/services/monitoring/parsedmarc.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-parsedmarc">···············
+180
nixos/modules/services/monitoring/prometheus/exporters.md
+180
nixos/modules/services/monitoring/prometheus/exporters.md
···+# 'services.prometheus.exporters.nginx.telemetryEndpoint' -> 'services.prometheus.exporters.nginx.telemetryPath'
+129
-132
nixos/modules/services/monitoring/prometheus/exporters.xml
+129
-132
nixos/modules/services/monitoring/prometheus/exporters.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-prometheus-exporters">+targets = [ "localhost:${toString config.services.prometheus.exporters.node.port}" ];·········-# 'services.prometheus.exporters.nginx.telemetryEndpoint' -> 'services.prometheus.exporters.nginx.telemetryPath'+# 'services.prometheus.exporters.nginx.telemetryEndpoint' -> 'services.prometheus.exporters.nginx.telemetryPath'
+52
nixos/modules/services/network-filesystems/litestream/default.md
+52
nixos/modules/services/network-filesystems/litestream/default.md
···+required permissions to access [grafana database](#opt-services.grafana.settings.database.path):+systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
+2
-1
nixos/modules/services/network-filesystems/litestream/default.nix
+2
-1
nixos/modules/services/network-filesystems/litestream/default.nix
+62
nixos/modules/services/network-filesystems/litestream/default.xml
+62
nixos/modules/services/network-filesystems/litestream/default.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-litestream">+systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
-65
nixos/modules/services/network-filesystems/litestream/litestream.xml
-65
nixos/modules/services/network-filesystems/litestream/litestream.xml
···-systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
-2
nixos/modules/services/networking/firefox-syncserver.nix
-2
nixos/modules/services/networking/firefox-syncserver.nix
···-# `pandoc firefox-syncserver.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > firefox-syncserver.xml`
+2
nixos/modules/services/networking/firefox-syncserver.xml
+2
nixos/modules/services/networking/firefox-syncserver.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-firefox-syncserver">
-2
nixos/modules/services/networking/mosquitto.nix
-2
nixos/modules/services/networking/mosquitto.nix
···-# `pandoc mosquitto.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > mosquitto.xml`
+5
-3
nixos/modules/services/networking/mosquitto.xml
+5
-3
nixos/modules/services/networking/mosquitto.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mosquitto">·········
+180
nixos/modules/services/networking/pleroma.md
+180
nixos/modules/services/networking/pleroma.md
···+The `pleroma_ctl` CLI utility will prompt you some questions and it will generate an initial config file. This is an example of usage+The `config.exs` file can be further customized following the instructions on the [upstream documentation](https://docs-develop.pleroma.social/backend/configuration/cheatsheet/). Many refinements can be applied also after the service is running.+Then you can create and seed the database, using the `setup.psql` file that you generated in the previous section, by running+In this section we will enable the Pleroma service only locally, so its configurations can be improved incrementally.+This is an example of configuration, where [](#opt-services.pleroma.configs) option contains the content of the file `config.exs`, generated [in the first section](#module-services-pleroma-generate-config), but with the secrets (database password, endpoint secret key, salts, etc.) removed. Removing secrets is important, because otherwise they will be stored publicly in the Nix store.+Secrets must be moved into a file pointed by [](#opt-services.pleroma.secretConfigFile), in our case `/var/lib/pleroma/secrets.exs`. This file can be created copying the previously generated `config.exs` file and then removing all the settings, except the secrets. This is an example+Note that the lines of the same configuration group are comma separated (i.e. all the lines end with a comma, except the last one), so when the lines with passwords are added or removed, commas must be adjusted accordingly.+The service is accessible only from the local `127.0.0.1:4000` port. It can be tested using a port forwarding like this+After Pleroma service is running, all [Pleroma administration utilities](https://docs-develop.pleroma.social/) can be used. In particular an admin user can be created with+In this configuration, Pleroma is listening only on the local port 4000. Nginx can be configured as a Reverse Proxy, for forwarding requests from public ports to the Pleroma service. This is an example of configuration, using+add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always;+add_header 'Access-Control-Expose-Headers' 'Link, X-RateLimit-Reset, X-RateLimit-Limit, X-RateLimit-Remaining, X-Request-Id' always;
+141
-85
nixos/modules/services/networking/pleroma.xml
+141
-85
nixos/modules/services/networking/pleroma.xml
···-<link xlink:href="https://pleroma.social/">Pleroma</link> is a lightweight activity pub server.</para>-<para>The <literal>pleroma_ctl</literal> CLI utility will prompt you some questions and it will generate an initial config file. This is an example of usage+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-pleroma">-<para>The <literal>config.exs</literal> file can be further customized following the instructions on the <link xlink:href="https://docs-develop.pleroma.social/backend/configuration/cheatsheet/">upstream documentation</link>. Many refinements can be applied also after the service is running.</para>+<link xlink:href="https://docs-develop.pleroma.social/backend/configuration/cheatsheet/">upstream-<para>Then you can create and seed the database, using the <literal>setup.psql</literal> file that you generated in the previous section, by running-<para>In this section we will enable the Pleroma service only locally, so its configurations can be improved incrementally.</para>-<para>This is an example of configuration, where <link linkend="opt-services.pleroma.configs">services.pleroma.configs</link> option contains the content of the file <literal>config.exs</literal>, generated <link linkend="module-services-pleroma-generate-config">in the first section</link>, but with the secrets (database password, endpoint secret key, salts, etc.) removed. Removing secrets is important, because otherwise they will be stored publicly in the Nix store.···-<para>Secrets must be moved into a file pointed by <link linkend="opt-services.pleroma.secretConfigFile">services.pleroma.secretConfigFile</link>, in our case <literal>/var/lib/pleroma/secrets.exs</literal>. This file can be created copying the previously generated <literal>config.exs</literal> file and then removing all the settings, except the secrets. This is an example-Note that the lines of the same configuration group are comma separated (i.e. all the lines end with a comma, except the last one), so when the lines with passwords are added or removed, commas must be adjusted accordingly.</para>-<para>The service is accessible only from the local <literal>127.0.0.1:4000</literal> port. It can be tested using a port forwarding like this-and then accessing <link xlink:href="http://localhost:4000">http://localhost:4000</link> from a web browser.</para>-<para>After Pleroma service is running, all <link xlink:href="https://docs-develop.pleroma.social/">Pleroma administration utilities</link> can be used. In particular an admin user can be created with-<prompt>$ </prompt>pleroma_ctl user new <nickname> <email> --admin --moderator --password <password>+$ pleroma_ctl user new <nickname> <email> --admin --moderator --password <password>-<para>In this configuration, Pleroma is listening only on the local port 4000. Nginx can be configured as a Reverse Proxy, for forwarding requests from public ports to the Pleroma service. This is an example of configuration, using············
+72
nixos/modules/services/networking/prosody.md
+72
nixos/modules/services/networking/prosody.md
···+You'll need to create a DNS subdomain for each of those. The current convention is to name your+Provided the setup detailed in the previous section, you'll need the following acme configuration to generate
+1
nixos/modules/services/networking/prosody.nix
+1
nixos/modules/services/networking/prosody.nix
+80
-75
nixos/modules/services/networking/prosody.xml
+80
-75
nixos/modules/services/networking/prosody.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-prosody">-and the <link xlink:href="https://xmpp.org/extensions/xep-0363.html">HTTP File Upload</link> ones.-You'll need to create a DNS subdomain for each of those. The current convention is to name your-MUC endpoint <literal>conference.example.org</literal> and your HTTP upload domain <literal>upload.example.org</literal>.-endpoint as well as a <link xlink:href="https://xmpp.org/extensions/xep-0363.html">HTTP File Upload</link>-<link linkend="opt-services.prosody.ssl.cert">ssl.cert</link> = "/var/lib/acme/example.org/fullchain.pem";-<link linkend="opt-services.prosody.ssl.key">ssl.key</link> = "/var/lib/acme/example.org/key.pem";-<link linkend="opt-services.prosody.virtualHosts._name_.ssl.cert">ssl.cert</link> = "/var/lib/acme/example.org/fullchain.pem";-<link linkend="opt-services.prosody.virtualHosts._name_.ssl.key">ssl.key</link> = "/var/lib/acme/example.org/key.pem";-<link linkend="opt-security.acme.certs._name_.extraDomainNames">extraDomainNames</link> module option.-Provided the setup detailed in the previous section, you'll need the following acme configuration to generate-<link linkend="opt-security.acme.certs._name_.webroot">webroot</link> = "/var/www/example.org";-<link linkend="opt-security.acme.certs._name_.extraDomainNames">extraDomainNames</link> = [ "conference.example.org" "upload.example.org" ];
+141
nixos/modules/services/networking/yggdrasil.md
+141
nixos/modules/services/networking/yggdrasil.md
···+### Yggdrasil attached Container {#module-services-networking-yggdrasil-configuration-container}
+37
-36
nixos/modules/services/networking/yggdrasil.xml
+37
-36
nixos/modules/services/networking/yggdrasil.xml
···-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" xml:id="module-services-networking-yggdrasil">+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-networking-yggdrasil">···+<link xlink:href="https://yggdrasil-network.github.io/">https://yggdrasil-network.github.io/</link>···············
+6
-6
nixos/modules/services/search/meilisearch.md
+6
-6
nixos/modules/services/search/meilisearch.md
···Meilisearch is a lightweight, fast and powerful search engine. Think elastic search with a much smaller footprint.···`curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' --data '[{"id": "123", "title": "Superman"}, {"id": 234, "title": "Batman"}]'``curl 'http://127.0.0.1:7700/indexes/movies/search' --data '{ "q": "botman" }'` (note the typo is intentional and there to demonstrate the typo tolerant capabilities)- The default nixos package doesn't come with the [dashboard](https://docs.meilisearch.com/learn/getting_started/quick_start.html#search), since the dashboard features makes some assets downloads at compile time.···- Default deployment is development mode. It doesn't require a secret master key. All routes are not protected and accessible.
-2
nixos/modules/services/search/meilisearch.nix
-2
nixos/modules/services/search/meilisearch.nix
···-# `pandoc meilisearch.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > meilisearch.xml`
+9
-7
nixos/modules/services/search/meilisearch.xml
+9
-7
nixos/modules/services/search/meilisearch.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-meilisearch">···<literal>curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' --data '[{"id": "123", "title": "Superman"}, {"id": 234, "title": "Batman"}]'</literal>······
+3
-1
nixos/modules/services/web-apps/akkoma.xml
+3
-1
nixos/modules/services/web-apps/akkoma.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-akkoma">···-<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#BindPaths="><link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html"><citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry></link></link>+<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#BindPaths="><citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry></link>
+286
nixos/modules/services/web-apps/discourse.md
+286
nixos/modules/services/web-apps/discourse.md
···+[config/site_settings.yml](https://github.com/discourse/discourse/blob/master/config/site_settings.yml).+[config/discourse.conf](https://github.com/discourse/discourse/blob/stable/config/discourse_defaults.conf).+packaged in accordance with the [Developing with Ruby](https://nixos.org/manual/nixpkgs/stable/#developing-with-ruby)+For example, to add the [discourse-spoiler-alert](https://github.com/discourse/discourse-spoiler-alert)
+254
-278
nixos/modules/services/web-apps/discourse.xml
+254
-278
nixos/modules/services/web-apps/discourse.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-discourse">-<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";-<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";-<link linkend="opt-security.acme.defaults.email">security.acme.email</link> = "me@example.com";-<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";-<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";-<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";-<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";-<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";-<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";-<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";-<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";-<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;-<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";-<link xlink:href="https://github.com/discourse/discourse/blob/master/config/site_settings.yml">config/site_settings.yml</link>.-<link xlink:href="https://github.com/discourse/discourse/blob/stable/config/discourse_defaults.conf">config/discourse.conf</link>.+<link xlink:href="https://github.com/discourse/discourse/blob/master/config/site_settings.yml">config/site_settings.yml</link>.+<link xlink:href="https://github.com/discourse/discourse/blob/stable/config/discourse_defaults.conf">config/discourse.conf</link>.-<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";-<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";-<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";-<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";-<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;-<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";-xlink:href="https://github.com/discourse/discourse-spoiler-alert">discourse-spoiler-alert</link>+<link xlink:href="https://github.com/discourse/discourse-spoiler-alert">discourse-spoiler-alert</link>-<link linkend="opt-services.discourse.sslCertificate">sslCertificate</link> = "/path/to/ssl_certificate";-<link linkend="opt-services.discourse.sslCertificateKey">sslCertificateKey</link> = "/path/to/ssl_certificate_key";-<link linkend="opt-services.discourse.admin.passwordFile">passwordFile</link> = "/path/to/password_file";-<link linkend="opt-services.discourse.mail.outgoing.serverAddress">serverAddress</link> = "smtp.emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.username">username</link> = "user@emailprovider.com";-<link linkend="opt-services.discourse.mail.outgoing.passwordFile">passwordFile</link> = "/path/to/smtp_password_file";-<link linkend="opt-services.discourse.mail.incoming.enable">mail.incoming.enable</link> = true;-<link linkend="opt-services.discourse.mail.incoming.enable">plugins</link> = with config.services.discourse.package.plugins; [-<link linkend="opt-services.discourse.secretKeyBaseFile">secretKeyBaseFile</link> = "/path/to/secret_key_base_file";
+66
nixos/modules/services/web-apps/grocy.md
+66
nixos/modules/services/web-apps/grocy.md
···
+54
-47
nixos/modules/services/web-apps/grocy.xml
+54
-47
nixos/modules/services/web-apps/grocy.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-grocy">-disabled by setting <link linkend="opt-services.grocy.nginx.enableSSL">services.grocy.nginx.enableSSL</link>-to <literal>false</literal>). After the initial setup the credentials <literal>admin:admin</literal>-<package>sqlite3</package> database. The migration is applied when requesting the <literal>/</literal>-route-The configuration for <literal>grocy</literal> is located at <literal>/etc/grocy/config.php</literal>.-<link linkend="opt-services.grocy.settings.calendar.showWeekNumber">showWeekNumber</link> = true;
+45
nixos/modules/services/web-apps/jitsi-meet.md
+45
nixos/modules/services/web-apps/jitsi-meet.md
···
+44
-44
nixos/modules/services/web-apps/jitsi-meet.xml
+44
-44
nixos/modules/services/web-apps/jitsi-meet.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-jitsi-meet">-<link linkend="opt-services.jitsi-videobridge.openFirewall">services.jitsi-videobridge.openFirewall</link> = true;-<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];-<link linkend="opt-security.acme.defaults.email">security.acme.email</link> = "me@example.com";-<link linkend="opt-services.jitsi-videobridge.openFirewall">services.jitsi-videobridge.openFirewall</link> = true;-<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];-<link linkend="opt-security.acme.defaults.email">security.acme.email</link> = "me@example.com";
+141
nixos/modules/services/web-apps/keycloak.md
+141
nixos/modules/services/web-apps/keycloak.md
···
+172
-197
nixos/modules/services/web-apps/keycloak.xml
+172
-197
nixos/modules/services/web-apps/keycloak.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-keycloak">-<link linkend="opt-services.keycloak.settings.hostname">hostname</link> = "keycloak.example.com";-<link linkend="opt-services.keycloak.settings.hostname-strict-backchannel">hostname-strict-backchannel</link> = true;-<link linkend="opt-services.keycloak.initialAdminPassword">initialAdminPassword</link> = "e6Wcm0RrtegMEHl"; # change on first login-<link linkend="opt-services.keycloak.sslCertificate">sslCertificate</link> = "/run/keys/ssl_cert";-<link linkend="opt-services.keycloak.sslCertificateKey">sslCertificateKey</link> = "/run/keys/ssl_key";-<link linkend="opt-services.keycloak.database.passwordFile">database.passwordFile</link> = "/run/keys/db_password";
-2
nixos/modules/services/web-apps/lemmy.nix
-2
nixos/modules/services/web-apps/lemmy.nix
···-# `pandoc lemmy.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > lemmy.xml`
+2
nixos/modules/services/web-apps/lemmy.xml
+2
nixos/modules/services/web-apps/lemmy.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-lemmy">
-107
nixos/modules/services/web-apps/matomo-doc.xml
-107
nixos/modules/services/web-apps/matomo-doc.xml
···-<link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour">-<literal><link linkend="opt-services.phpfpm.pools._name_.socket">services.phpfpm.pools.<name>.socket</link></literal> fastcgi unix socket. You can use
+77
nixos/modules/services/web-apps/matomo.md
+77
nixos/modules/services/web-apps/matomo.md
···+https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour
+1
-1
nixos/modules/services/web-apps/matomo.nix
+1
-1
nixos/modules/services/web-apps/matomo.nix
+107
nixos/modules/services/web-apps/matomo.xml
+107
nixos/modules/services/web-apps/matomo.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-matomo">+<link xlink:href="https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/">https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/</link>.+<link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour">disable+<link xlink:href="https://matomo.org/faq/how-to-install/faq_138/">https://matomo.org/faq/how-to-install/faq_138/</link>.+<link linkend="opt-services.phpfpm.pools._name_.socket"><literal>services.phpfpm.pools.<name>.socket</literal></link>
+237
nixos/modules/services/web-apps/nextcloud.md
+237
nixos/modules/services/web-apps/nextcloud.md
···+[`services.nextcloud.config.extraTrustedDomains`](#opt-services.nextcloud.config.extraTrustedDomains).+Nextcloud supports [server-side encryption (SSE)](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html).+## Using an alternative webserver as reverse-proxy (e.g. `httpd`) {#module-services-nextcloud-httpd}+Alternatively, extra apps can also be declared with the [](#opt-services.nextcloud.extraApps) setting.+When using this setting, apps can no longer be managed statefully because this can lead to Nextcloud updating apps+that are managed by Nix. If you want automatic updates it is recommended that you use web interface to install apps.
+282
-254
nixos/modules/services/web-apps/nextcloud.xml
+282
-254
nixos/modules/services/web-apps/nextcloud.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-nextcloud">-<link linkend="opt-services.nextcloud.config.dbhost">dbhost</link> = "/run/postgresql"; # nextcloud will add /.s.PGSQL.5432 by itself-<link linkend="opt-services.nextcloud.config.adminpassFile">adminpassFile</link> = "/path/to/admin-pass-file";-<link linkend="opt-services.postgresql.ensureDatabases">ensureDatabases</link> = [ "nextcloud" ];-<link linkend="opt-networking.firewall.allowedTCPPorts">networking.firewall.allowedTCPPorts</link> = [ 80 443 ];-<literal><link xlink:href="http://php.net/manual/en/reserved.variables.server.php">$_SERVER['HTTP_HOST']</link></literal>)-<literal><link linkend="opt-services.nextcloud.config.extraTrustedDomains">services.nextcloud.config.extraTrustedDomains</link></literal>.-<literal><link linkend="opt-services.nextcloud.autoUpdateApps.enable">services.nextcloud.autoUpdateApps</link></literal>.-<link linkend="opt-system.stateVersion">stateVersion</link> is declared properly. In that case-(<command>nextcloud-occ maintenance:install</command>) has failed. After that, the application-be found in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/111175">NixOS/nixpkgs#111175</link>.+<link xlink:href="http://php.net/manual/en/reserved.variables.server.php"><literal>$_SERVER['HTTP_HOST']</literal></link>)+<link linkend="opt-services.nextcloud.config.extraTrustedDomains"><literal>services.nextcloud.config.extraTrustedDomains</literal></link>.+<link linkend="opt-services.nextcloud.autoUpdateApps.enable"><literal>services.nextcloud.autoUpdateApps</literal></link>.+<emphasis role="strong"><literal>Error: Command "upgrade" is not defined.</literal></emphasis>+<link xlink:href="https://github.com/NixOS/nixpkgs/issues/111175">NixOS/nixpkgs#111175</link>.+<link xlink:href="https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html">server-side-Nextcloud supports <link xlink:href="https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html">server-side encryption (SSE)</link>.-If <xref linkend="opt-system.stateVersion" /> is <emphasis>above</emphasis> <literal>22.05</literal>,-<title>Using an alternative webserver as reverse-proxy (e.g. <literal>httpd</literal>)</title>-By default, <package>nginx</package> is used as reverse-proxy for <package>nextcloud</package>.-<link linkend="opt-services.phpfpm.pools">corresponding <literal>phpfpm</literal> pool</link>.-<link linkend="opt-services.phpfpm.pools._name_.settings">services.phpfpm.pools.nextcloud.settings</link> = {-<link linkend="opt-services.httpd.virtualHosts._name_.documentRoot">documentRoot</link> = config.services.nextcloud.package;+SetHandler "proxy:unix:${config.services.phpfpm.pools.nextcloud.socket}|fcgi://localhost/"···-This can be configured with the <xref linkend="opt-services.nextcloud.phpExtraExtensions" /> setting.-Alternatively, extra apps can also be declared with the <xref linkend="opt-services.nextcloud.extraApps" /> setting.-When using this setting, apps can no longer be managed statefully because this can lead to Nextcloud updating apps-that are managed by Nix. If you want automatic updates it is recommended that you use web interface to install apps.-<link linkend="opt-services.nextcloud.package">package</link>-option selects the latest version
+1
nixos/modules/services/web-apps/pict-rs.md
+1
nixos/modules/services/web-apps/pict-rs.md
-2
nixos/modules/services/web-apps/pict-rs.nix
-2
nixos/modules/services/web-apps/pict-rs.nix
···-# `pandoc pict-rs.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > pict-rs.xml`
+35
-12
nixos/modules/services/web-apps/pict-rs.xml
+35
-12
nixos/modules/services/web-apps/pict-rs.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-pict-rs">············-<literal>json { "width": 800, "height": 537, "content_type": "image/webp", "created_at": [ 2020, 345, 67376, 394363487 ] }</literal>···
+35
nixos/modules/services/web-apps/plausible.md
+35
nixos/modules/services/web-apps/plausible.md
···
+36
-42
nixos/modules/services/web-apps/plausible.xml
+36
-42
nixos/modules/services/web-apps/plausible.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-plausible">-<link linkend="opt-services.plausible.adminUser.activate">activate</link> = true; <co xml:id='ex-plausible-cfg-activate' />-<link linkend="opt-services.plausible.adminUser.passwordFile">passwordFile</link> = "/run/secrets/plausible-admin-pwd";-<link linkend="opt-services.plausible.server.baseUrl">baseUrl</link> = "http://analytics.example.org";-<link linkend="opt-services.plausible.server.secretKeybaseFile">secretKeybaseFile</link> = "/run/secrets/plausible-secret-key-base"; <co xml:id='ex-plausible-cfg-secretbase' />
-139
nixos/modules/services/web-servers/garage-doc.xml
-139
nixos/modules/services/web-servers/garage-doc.xml
···-<link xlink:href="https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/">https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/</link>-<para>Garage has two types of upgrades: patch-level upgrades and minor/major version upgrades.</para>-<para>In all cases, you should read the changelog and ideally test the upgrade on a staging cluster.</para>-<para>Checking the health of your cluster can be achieved using <literal>garage-manage repair</literal>.</para>-Upgrades must be performed one by one, i.e. for each node, stop it, upgrade it : change <link linkend="opt-system.stateVersion">stateVersion</link> or <link linkend="opt-services.garage.package">services.garage.package</link>, restart it if it was not already by switching.-this is enforced automatically. The module will issue a warning to remind the user to upgrade to latest-<para>Here are some baseline instructions to handle advanced upgrades in Garage, when in doubt, please refer to upstream instructions.</para>-<listitem><para>Perform <literal>garage-manage repair --all-nodes --yes tables</literal> and <literal>garage-manage repair --all-nodes --yes blocks</literal>.</para></listitem>-<listitem><para>Verify the resulting logs and check that data is synced properly between all nodes.-If you have time, do additional checks (<literal>scrub</literal>, <literal>block_refs</literal>, etc.).</para></listitem>-<listitem><para>Check if queues are empty by <literal>garage-manage stats</literal> or through monitoring tools.</para></listitem>-<listitem><para>Run <literal>systemctl stop garage</literal> to stop the actual Garage version.</para></listitem>-<listitem><para>Backup the metadata folder of ALL your nodes, e.g. for a metadata directory (the default one) in <literal>/var/lib/garage/meta</literal>,-you can run <literal>pushd /var/lib/garage; tar -acf meta-v0.7.tar.zst meta/; popd</literal>.</para></listitem>-<listitem><para>Run the offline migration: <literal>nix-shell -p garage_0_8 --run "garage offline-repair --yes"</literal>, this can take some time depending on how many objects are stored in your cluster.</para></listitem>-<listitem><para>Bump Garage version in your NixOS configuration, either by changing <link linkend="opt-system.stateVersion">stateVersion</link> or bumping <link linkend="opt-services.garage.package">services.garage.package</link>, this should restart Garage automatically.</para></listitem>-<listitem><para>Perform <literal>garage-manage repair --all-nodes --yes tables</literal> and <literal>garage-manage repair --all-nodes --yes blocks</literal>.</para></listitem>
+96
nixos/modules/services/web-servers/garage.md
+96
nixos/modules/services/web-servers/garage.md
···+Upgrades must be performed one by one, i.e. for each node, stop it, upgrade it : change [stateVersion](#opt-system.stateVersion) or [services.garage.package](#opt-services.garage.package), restart it if it was not already by switching.+this is enforced automatically. The module will issue a warning to remind the user to upgrade to latest+## Advanced upgrades (minor/major version upgrades) {#module-services-garage-advanced-upgrades}+Here are some baseline instructions to handle advanced upgrades in Garage, when in doubt, please refer to upstream instructions.+- Perform `garage-manage repair --all-nodes --yes tables` and `garage-manage repair --all-nodes --yes blocks`.+- Backup the metadata folder of ALL your nodes, e.g. for a metadata directory (the default one) in `/var/lib/garage/meta`,+- Run the offline migration: `nix-shell -p garage_0_8 --run "garage offline-repair --yes"`, this can take some time depending on how many objects are stored in your cluster.+- Bump Garage version in your NixOS configuration, either by changing [stateVersion](#opt-system.stateVersion) or bumping [services.garage.package](#opt-services.garage.package), this should restart Garage automatically.+- Perform `garage-manage repair --all-nodes --yes tables` and `garage-manage repair --all-nodes --yes blocks`.
+1
-1
nixos/modules/services/web-servers/garage.nix
+1
-1
nixos/modules/services/web-servers/garage.nix
+206
nixos/modules/services/web-servers/garage.xml
+206
nixos/modules/services/web-servers/garage.xml
···+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-garage">+<link xlink:href="https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/">https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/</link>
+167
nixos/modules/services/x11/desktop-managers/gnome.md
+167
nixos/modules/services/x11/desktop-managers/gnome.md
···+GNOME provides a simple, yet full-featured desktop environment with a focus on productivity. Its Mutter compositor supports both Wayland and X server, and the GNOME Shell user interface is fully customizable by extensions.+While it is not strictly necessary to use GDM as the display manager with GNOME, it is recommended, as some features such as screen lock [might not work](#sec-gnome-faq-can-i-use-lightdm-with-gnome) without it.+The default applications used in NixOS are very minimal, inspired by the defaults used in [gnome-build-meta](https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/40.0/elements/core/meta-gnome-core-utilities.bst).+It is also possible to disable many of the [core services](https://github.com/NixOS/nixpkgs/blob/b8ec4fd2a4edc4e30d02ba7b1a2cc1358f3db1d5/nixos/modules/services/x11/desktop-managers/gnome.nix#L329-L348). For example, if you do not need indexing files, you can disable Tracker with:+Note, however, that doing so is not supported and might break some applications. Notably, GNOME Music cannot work without Tracker.+GNOME Flashback provides a desktop environment based on the classic GNOME 2 architecture. You can enable the default GNOME Flashback session, which uses the Metacity window manager, with:+It is also possible to create custom sessions that replace Metacity with a different window manager using [](#opt-services.xserver.desktopManager.gnome.flashback.customSessions).+Some packages that include Shell extensions, like `gnome.gpaste`, don’t have their extension decoupled under this attribute.+It is possible to use a [GSettings override](#sec-gnome-gsettings-overrides) for this on `org.gnome.shell.enabled-extensions`, but that will only influence the default value.+Majority of software building on the GNOME platform use GLib’s [GSettings](https://developer.gnome.org/gio/unstable/GSettings.html) system to manage runtime configuration. For our purposes, the system consists of XML schemas describing the individual configuration options, stored in the package, and a settings backend, where the values of the settings are stored. On NixOS, like on most Linux distributions, dconf database is used as the backend.+[GSettings vendor overrides](https://developer.gnome.org/gio/unstable/GSettings.html#id-1.4.19.2.9.25) can be used to adjust the default values for settings of the GNOME desktop and apps by replacing the default values specified in the XML schemas. Using overrides will allow you to pre-seed user settings before you even start the session.+Overrides really only change the default values for GSettings keys so if you or an application changes the setting value, the value set by the override will be ignored. Until [NixOS’s dconf module implements changing values](https://github.com/NixOS/nixpkgs/issues/54150), you will either need to keep that in mind and clear the setting from the backend using `dconf reset` command when that happens, or use the [module from home-manager](https://nix-community.github.io/home-manager/options.html#opt-dconf.settings).
+221
-213
nixos/modules/services/x11/desktop-managers/gnome.xml
+221
-213
nixos/modules/services/x11/desktop-managers/gnome.xml
···-GNOME provides a simple, yet full-featured desktop environment with a focus on productivity. Its Mutter compositor supports both Wayland and X server, and the GNOME Shell user interface is fully customizable by extensions.+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-gnome">-While it is not strictly necessary to use GDM as the display manager with GNOME, it is recommended, as some features such as screen lock <link xlink:href="#sec-gnome-faq-can-i-use-lightdm-with-gnome">might not work</link> without it.-The default applications used in NixOS are very minimal, inspired by the defaults used in <link xlink:href="https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/40.0/elements/core/meta-gnome-core-utilities.bst">gnome-build-meta</link>.+<link xlink:href="https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/40.0/elements/core/meta-gnome-core-utilities.bst">gnome-build-meta</link>.-If you’d only like to omit a subset of the core utilities, you can use <xref linkend="opt-environment.gnome.excludePackages"/>.-It is also possible to disable many of the <link xlink:href="https://github.com/NixOS/nixpkgs/blob/b8ec4fd2a4edc4e30d02ba7b1a2cc1358f3db1d5/nixos/modules/services/x11/desktop-managers/gnome.nix#L329-L348">core services</link>. For example, if you do not need indexing files, you can disable Tracker with:+<link xlink:href="https://github.com/NixOS/nixpkgs/blob/b8ec4fd2a4edc4e30d02ba7b1a2cc1358f3db1d5/nixos/modules/services/x11/desktop-managers/gnome.nix#L329-L348">core-Note, however, that doing so is not supported and might break some applications. Notably, GNOME Music cannot work without Tracker.-GNOME Flashback provides a desktop environment based on the classic GNOME 2 architecture. You can enable the default GNOME Flashback session, which uses the Metacity window manager, with:-It is also possible to create custom sessions that replace Metacity with a different window manager using <xref linkend="opt-services.xserver.desktopManager.gnome.flashback.customSessions"/>.-You can add them to <xref linkend="opt-environment.systemPackages"/> and switch to them with GNOME Tweaks.-Some packages that include Shell extensions, like <literal>gnome.gpaste</literal>, don’t have their extension decoupled under this attribute.-It is possible to use a <link xlink:href="#sec-gnome-gsettings-overrides">GSettings override</link> for this on <literal>org.gnome.shell.enabled-extensions</literal>, but that will only influence the default value.-Majority of software building on the GNOME platform use GLib’s <link xlink:href="https://developer.gnome.org/gio/unstable/GSettings.html">GSettings</link> system to manage runtime configuration. For our purposes, the system consists of XML schemas describing the individual configuration options, stored in the package, and a settings backend, where the values of the settings are stored. On NixOS, like on most Linux distributions, dconf database is used as the backend.-<link xlink:href="https://developer.gnome.org/gio/unstable/GSettings.html#id-1.4.19.2.9.25">GSettings vendor overrides</link> can be used to adjust the default values for settings of the GNOME desktop and apps by replacing the default values specified in the XML schemas. Using overrides will allow you to pre-seed user settings before you even start the session.-Overrides really only change the default values for GSettings keys so if you or an application changes the setting value, the value set by the override will be ignored. Until <link xlink:href="https://github.com/NixOS/nixpkgs/issues/54150">NixOS’s dconf module implements changing values</link>, you will either need to keep that in mind and clear the setting from the backend using <literal>dconf reset</literal> command when that happens, or use the <link xlink:href="https://nix-community.github.io/home-manager/options.html#opt-dconf.settings">module from home-manager</link>.-You can override the default GSettings values using the <xref linkend="opt-services.xserver.desktopManager.gnome.extraGSettingsOverrides"/> option.+<link xlink:href="https://developer.gnome.org/gio/unstable/GSettings.html#id-1.4.19.2.9.25">GSettings+<link xlink:href="https://nix-community.github.io/home-manager/options.html#opt-dconf.settings">module-<link xlink:href="#opt-services.xserver.desktopManager.gnome.extraGSettingsOverrides">extraGSettingsOverrides</link> = ''···-<link xlink:href="#opt-services.xserver.desktopManager.gnome.extraGSettingsOverridePackages">extraGSettingsOverridePackages</link> = [
+74
nixos/modules/services/x11/desktop-managers/pantheon.md
+74
nixos/modules/services/x11/desktop-managers/pantheon.md
···+Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK and Granite.+All of Pantheon is working in NixOS and the applications should be available, aside from a few [exceptions](https://github.com/NixOS/nixpkgs/issues/58161). To enable Pantheon, set+This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set+but please be aware using Pantheon without LightDM as a display manager will break screenlocking from the UI. The NixOS module for Pantheon installs all of Pantheon's default applications. If you'd like to not install Pantheon's apps, set+You can also use [](#opt-environment.pantheon.excludePackages) to remove any other app (like `elementary-mail`).+Wingpanel and Switchboard work differently than they do in other distributions, as far as using plugins. You cannot install a plugin globally (like with {option}`environment.systemPackages`) to start using it. You should instead be using the following options:+The difference in NixOS is both these programs are patched to load plugins from a directory that is the value of an environment variable. All of which is controlled in Nix. If you need to configure the particular packages manually you can override the packages like:+please note that, like how the NixOS options describe these as extra plugins, this would only add to the default plugins included with the programs. If for some reason you'd like to configure which plugins to use exactly, both packages have an argument for this:+[I have switched from a different desktop and Pantheon’s theming looks messed up.]{#sec-pantheon-faq-messed-up-theme}+: Open Switchboard and go to: Administration → About → Restore Default Settings → Restore Settings. This will reset any dconf settings to their Pantheon defaults. Note this could reset certain GNOME specific preferences if that desktop was used prior.+: This is a known [issue](https://github.com/NixOS/nixpkgs/issues/64611) and there is no known workaround.+: AppCenter has been available since 20.03. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. However, due to missing appstream metadata, the Packagekit backend does not function currently. See this [issue](https://github.com/NixOS/nixpkgs/issues/15932).+If you are using Pantheon, AppCenter should be installed by default if you have [Flatpak support](#module-services-flatpak) enabled. If you also wish to add the `appcenter` Flatpak remote:
+144
-93
nixos/modules/services/x11/desktop-managers/pantheon.xml
+144
-93
nixos/modules/services/x11/desktop-managers/pantheon.xml
···-Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK and Granite.+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-pantheon">-All of Pantheon is working in NixOS and the applications should be available, aside from a few <link xlink:href="https://github.com/NixOS/nixpkgs/issues/58161">exceptions</link>. To enable Pantheon, set-This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set-<xref linkend="opt-services.xserver.displayManager.lightdm.greeters.pantheon.enable"/> = false;-but please be aware using Pantheon without LightDM as a display manager will break screenlocking from the UI. The NixOS module for Pantheon installs all of Pantheon's default applications. If you'd like to not install Pantheon's apps, set-You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>elementary-mail</package>).-Wingpanel and Switchboard work differently than they do in other distributions, as far as using plugins. You cannot install a plugin globally (like with <option>environment.systemPackages</option>) to start using it. You should instead be using the following options:-The difference in NixOS is both these programs are patched to load plugins from a directory that is the value of an environment variable. All of which is controlled in Nix. If you need to configure the particular packages manually you can override the packages like:···-please note that, like how the NixOS options describe these as extra plugins, this would only add to the default plugins included with the programs. If for some reason you'd like to configure which plugins to use exactly, both packages have an argument for this:···-Open Switchboard and go to: <guilabel>Administration</guilabel> → <guilabel>About</guilabel> → <guilabel>Restore Default Settings</guilabel> → <guibutton>Restore Settings</guibutton>. This will reset any dconf settings to their Pantheon defaults. Note this could reset certain GNOME specific preferences if that desktop was used prior.-This is a known <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link> and there is no known workaround.-AppCenter has been available since 20.03. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. However, due to missing appstream metadata, the Packagekit backend does not function currently. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/15932">issue</link>.-If you are using Pantheon, AppCenter should be installed by default if you have <link linkend="module-services-flatpak">Flatpak support</link> enabled. If you also wish to add the <literal>appcenter</literal> Flatpak remote:-<prompt>$ </prompt>flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
+1
-1
nixos/modules/system/boot/loader/external/external.md
+1
-1
nixos/modules/system/boot/loader/external/external.md
···Bootloaders should use [RFC-0125](https://github.com/NixOS/rfcs/pull/125)'s Bootspec format and synthesis tools to identify the key properties for bootable system generations.
-2
nixos/modules/system/boot/loader/external/external.nix
-2
nixos/modules/system/boot/loader/external/external.nix
···-# `pandoc external.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > external.xml`
+3
-1
nixos/modules/system/boot/loader/external/external.xml
+3
-1
nixos/modules/system/boot/loader/external/external.xml
···<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-bootloader-external">···