nixos/manual: generate module chapters with md-to-db.sh

This commit is contained in:
pennae
2023-01-05 06:16:46 +01:00
parent dc7788efb8
commit bf92eaebe4
78 changed files with 271 additions and 271 deletions

View File

@@ -1080,8 +1080,7 @@ in
];
};
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc discourse.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > discourse.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./discourse.xml;
meta.maintainers = [ lib.maintainers.talyz ];
}

View File

@@ -36,8 +36,8 @@ security.acme.acceptTerms = true;
<title>Using a regular TLS certificate</title>
<para>
To set up TLS using a regular certificate and key on file, use the
<xref linkend="opt-services.discourse.sslCertificate"></xref> and
<xref linkend="opt-services.discourse.sslCertificateKey"></xref>
<xref linkend="opt-services.discourse.sslCertificate" /> and
<xref linkend="opt-services.discourse.sslCertificateKey" />
options:
</para>
<programlisting>
@@ -61,22 +61,20 @@ services.discourse = {
<para>
Discourse uses PostgreSQL to store most of its data. A database
will automatically be enabled and a database and role created
unless
<xref linkend="opt-services.discourse.database.host"></xref> is
unless <xref linkend="opt-services.discourse.database.host" /> is
changed from its default of <literal>null</literal> or
<xref linkend="opt-services.discourse.database.createLocally"></xref>
<xref linkend="opt-services.discourse.database.createLocally" />
is set to <literal>false</literal>.
</para>
<para>
External database access can also be configured by setting
<xref linkend="opt-services.discourse.database.host"></xref>,
<xref linkend="opt-services.discourse.database.username"></xref>
and
<xref linkend="opt-services.discourse.database.passwordFile"></xref>
as appropriate. Note that you need to manually create a database
<xref linkend="opt-services.discourse.database.host" />,
<xref linkend="opt-services.discourse.database.username" /> and
<xref linkend="opt-services.discourse.database.passwordFile" /> as
appropriate. Note that you need to manually create a database
called <literal>discourse</literal> (or the name you chose in
<xref linkend="opt-services.discourse.database.name"></xref>) and
allow the configured database user full access to it.
<xref linkend="opt-services.discourse.database.name" />) and allow
the configured database user full access to it.
</para>
</section>
<section xml:id="module-services-discourse-mail">
@@ -127,19 +125,18 @@ services.discourse = {
If you want to use a different domain for your outgoing email (for
example <literal>example.com</literal> instead of
<literal>discourse.example.com</literal>) you should set
<xref linkend="opt-services.discourse.mail.notificationEmailAddress"></xref>
<xref linkend="opt-services.discourse.mail.notificationEmailAddress" />
and
<xref linkend="opt-services.discourse.mail.contactEmailAddress"></xref>
<xref linkend="opt-services.discourse.mail.contactEmailAddress" />
manually.
</para>
<note>
<para>
Setup of TLS for incoming email is currently only configured
automatically when a regular TLS certificate is used, i.e. when
<xref linkend="opt-services.discourse.sslCertificate"></xref>
and
<xref linkend="opt-services.discourse.sslCertificateKey"></xref>
are set.
automatically when a regular TLS certificate is used, i.e. when
<xref linkend="opt-services.discourse.sslCertificate" /> and
<xref linkend="opt-services.discourse.sslCertificateKey" /> are
set.
</para>
</note>
</section>
@@ -148,8 +145,8 @@ services.discourse = {
<para>
Additional site settings and backend settings, for which no
explicit NixOS options are provided, can be set in
<xref linkend="opt-services.discourse.siteSettings"></xref> and
<xref linkend="opt-services.discourse.backendSettings"></xref>
<xref linkend="opt-services.discourse.siteSettings" /> and
<xref linkend="opt-services.discourse.backendSettings" />
respectively.
</para>
<section xml:id="module-services-discourse-site-settings">
@@ -158,15 +155,15 @@ services.discourse = {
<quote>Site settings</quote> are the settings that can be
changed through the Discourse UI. Their
<emphasis>default</emphasis> values can be set using
<xref linkend="opt-services.discourse.siteSettings"></xref>.
<xref linkend="opt-services.discourse.siteSettings" />.
</para>
<para>
Settings are expressed as a Nix attribute set which matches the
structure of the configuration in
<link xlink:href="https://github.com/discourse/discourse/blob/master/config/site_settings.yml">config/site_settings.yml</link>.
To find a settings path, you only need to care about the first
two levels; i.e. its category (e.g. <literal>login</literal>)
and name (e.g. <literal>invite_only</literal>).
two levels; i.e. its category (e.g. <literal>login</literal>)
and name (e.g. <literal>invite_only</literal>).
</para>
<para>
Settings containing secret data should be set to an attribute
@@ -245,12 +242,12 @@ services.discourse = {
<title>Plugins</title>
<para>
You can install Discourse plugins using the
<xref linkend="opt-services.discourse.plugins"></xref> option.
<xref linkend="opt-services.discourse.plugins" /> option.
Pre-packaged plugins are provided in
<literal>&lt;your_discourse_package_here&gt;.plugins</literal>. If
you want the full suite of plugins provided through
<literal>nixpkgs</literal>, you can also set the
<xref linkend="opt-services.discourse.package"></xref> option to
<xref linkend="opt-services.discourse.package" /> option to
<literal>pkgs.discourseAllPlugins</literal>.
</para>
<para>
@@ -284,10 +281,10 @@ services.discourse = {
Some plugins provide
<link linkend="module-services-discourse-site-settings">site
settings</link>. Their defaults can be configured using
<xref linkend="opt-services.discourse.siteSettings"></xref>, just
like regular site settings. To find the names of these settings,
look in the <literal>config/settings.yml</literal> file of the
plugin repo.
<xref linkend="opt-services.discourse.siteSettings" />, just like
regular site settings. To find the names of these settings, look
in the <literal>config/settings.yml</literal> file of the plugin
repo.
</para>
<para>
For example, to add the

View File

@@ -167,8 +167,7 @@ in {
meta = {
maintainers = with maintainers; [ ma27 ];
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc grocy.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > grocy.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
doc = ./grocy.xml;
};
}

View File

@@ -451,8 +451,7 @@ in
};
};
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc jitsi-meet.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > jitsi-meet.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./jitsi-meet.xml;
meta.maintainers = lib.teams.jitsi.members;
}

View File

@@ -674,8 +674,7 @@ in
mkIf createLocalMySQL (mkDefault dbPkg);
};
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc keycloak.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > keycloak.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./keycloak.xml;
meta.maintainers = [ maintainers.talyz ];
}

View File

@@ -15,8 +15,8 @@
An administrative user with the username <literal>admin</literal>
is automatically created in the <literal>master</literal> realm.
Its initial password can be configured by setting
<xref linkend="opt-services.keycloak.initialAdminPassword"></xref>
and defaults to <literal>changeme</literal>. The password is not
<xref linkend="opt-services.keycloak.initialAdminPassword" /> and
defaults to <literal>changeme</literal>. The password is not
stored safely and should be changed immediately in the admin
panel.
</para>
@@ -32,30 +32,30 @@
<para>
Keycloak can be used with either PostgreSQL, MariaDB or MySQL.
Which one is used can be configured in
<xref linkend="opt-services.keycloak.database.type"></xref>. The
<xref linkend="opt-services.keycloak.database.type" />. The
selected database will automatically be enabled and a database and
role created unless
<xref linkend="opt-services.keycloak.database.host"></xref> is
changed from its default of <literal>localhost</literal> or
<xref linkend="opt-services.keycloak.database.createLocally"></xref>
is set to <literal>false</literal>.
<xref linkend="opt-services.keycloak.database.host" /> is changed
from its default of <literal>localhost</literal> or
<xref linkend="opt-services.keycloak.database.createLocally" /> is
set to <literal>false</literal>.
</para>
<para>
External database access can also be configured by setting
<xref linkend="opt-services.keycloak.database.host"></xref>,
<xref linkend="opt-services.keycloak.database.name"></xref>,
<xref linkend="opt-services.keycloak.database.username"></xref>,
<xref linkend="opt-services.keycloak.database.useSSL"></xref> and
<xref linkend="opt-services.keycloak.database.caCert"></xref> as
<xref linkend="opt-services.keycloak.database.host" />,
<xref linkend="opt-services.keycloak.database.name" />,
<xref linkend="opt-services.keycloak.database.username" />,
<xref linkend="opt-services.keycloak.database.useSSL" /> and
<xref linkend="opt-services.keycloak.database.caCert" /> as
appropriate. Note that you need to manually create the database
and allow the configured database user full access to it.
</para>
<para>
<xref linkend="opt-services.keycloak.database.passwordFile"></xref>
<xref linkend="opt-services.keycloak.database.passwordFile" />
must be set to the path to a file containing the password used to
log in to the database. If
<xref linkend="opt-services.keycloak.database.host"></xref> and
<xref linkend="opt-services.keycloak.database.createLocally"></xref>
<xref linkend="opt-services.keycloak.database.host" /> and
<xref linkend="opt-services.keycloak.database.createLocally" />
are kept at their defaults, the database role
<literal>keycloak</literal> with that password is provisioned on
the local database instance.
@@ -72,20 +72,20 @@
<para>
The hostname is used to build the public URL used as base for all
frontend requests and must be configured through
<xref linkend="opt-services.keycloak.settings.hostname"></xref>.
<xref linkend="opt-services.keycloak.settings.hostname" />.
</para>
<note>
<para>
If youre migrating an old Wildfly based Keycloak instance and
want to keep compatibility with your current clients, youll
likely want to set
<xref linkend="opt-services.keycloak.settings.http-relative-path"></xref>
<xref linkend="opt-services.keycloak.settings.http-relative-path" />
to <literal>/auth</literal>. See the option description for more
details.
</para>
</note>
<para>
<xref linkend="opt-services.keycloak.settings.hostname-strict-backchannel"></xref>
<xref linkend="opt-services.keycloak.settings.hostname-strict-backchannel" />
determines whether Keycloak should force all requests to go
through the frontend URL. By default, Keycloak allows backend
requests to instead use its local hostname or IP address and may
@@ -110,8 +110,8 @@
both
<link xlink:href="https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail">PEM
formatted</link>. Their paths should be set through
<xref linkend="opt-services.keycloak.sslCertificate"></xref> and
<xref linkend="opt-services.keycloak.sslCertificateKey"></xref>.
<xref linkend="opt-services.keycloak.sslCertificate" /> and
<xref linkend="opt-services.keycloak.sslCertificateKey" />.
</para>
<warning>
<para>
@@ -124,8 +124,7 @@
<title>Themes</title>
<para>
You can package custom themes and make them visible to Keycloak
through <xref linkend="opt-services.keycloak.themes"></xref>. See
the
through <xref linkend="opt-services.keycloak.themes" />. See the
<link xlink:href="https://www.keycloak.org/docs/latest/server_development/#_themes">Themes
section of the Keycloak Server Development Guide</link> and the
description of the aforementioned NixOS option for more
@@ -136,7 +135,7 @@
<title>Configuration file settings</title>
<para>
Keycloak server configuration parameters can be set in
<xref linkend="opt-services.keycloak.settings"></xref>. These
<xref linkend="opt-services.keycloak.settings" />. These
correspond directly to options in
<filename>conf/keycloak.conf</filename>. Some of the most
important parameters are documented as suboptions, the rest can be
@@ -150,8 +149,7 @@
containing the attribute <literal>_secret</literal> - a string
pointing to a file containing the value the option should be set
to. See the description of
<xref linkend="opt-services.keycloak.settings"></xref> for an
example.
<xref linkend="opt-services.keycloak.settings" /> for an example.
</para>
</section>
<section xml:id="module-services-keycloak-example-config">

View File

@@ -6,8 +6,7 @@ let
in
{
meta.maintainers = with maintainers; [ happysalada ];
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc lemmy.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > lemmy.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./lemmy.xml;
imports = [

View File

@@ -325,9 +325,8 @@ in {
};
meta = {
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc matomo-doc.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > matomo-doc.xml`
doc = ./matomo-doc.xml;
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
doc = ./matomo.xml;
maintainers = with lib.maintainers; [ florianjacob ];
};
}

View File

@@ -38,11 +38,11 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
<literal>matomo</literal> database user (without needing a
password), but no other users. For more information on
passwordless login, see
<link xlink:href="https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/" role="uri">https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/</link>.
<link xlink:href="https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/">https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/</link>.
</para>
<para>
Of course, you can use password based authentication as well,
e.g. when the database is not on the same host.
Of course, you can use password based authentication as well, e.g.
when the database is not on the same host.
</para>
</section>
<section xml:id="module-services-matomo-archive-processing">
@@ -75,7 +75,7 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
<filename>/var/lib/matomo/config/config.ini.php</filename> file.
Use a user in the <literal>matomo</literal> group or root to
access the file. For more information, see
<link xlink:href="https://matomo.org/faq/how-to-install/faq_138/" role="uri">https://matomo.org/faq/how-to-install/faq_138/</link>.
<link xlink:href="https://matomo.org/faq/how-to-install/faq_138/">https://matomo.org/faq/how-to-install/faq_138/</link>.
</para>
</section>
<section xml:id="module-services-matomo-issues">

View File

@@ -1146,7 +1146,6 @@ in {
}
]);
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc nextcloud.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > nextcloud.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./nextcloud.xml;
}

View File

@@ -192,24 +192,24 @@
external storage such as S3. Please note that this wont work
anymore when using OpenSSL 3 for PHPs openssl extension
because this is implemented using the legacy cipher RC4. If
<xref linkend="opt-system.stateVersion"></xref> is
<xref linkend="opt-system.stateVersion" /> is
<emphasis>above</emphasis> <literal>22.05</literal>, this is
disabled by default. To turn it on again and for further
information please refer to
<xref linkend="opt-services.nextcloud.enableBrokenCiphersForSSE"></xref>.
<xref linkend="opt-services.nextcloud.enableBrokenCiphersForSSE" />.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="module-services-nextcloud-httpd">
<title>Using an alternative webserver as reverse-proxy
(e.g. <literal>httpd</literal>)</title>
<title>Using an alternative webserver as reverse-proxy (e.g.
<literal>httpd</literal>)</title>
<para>
By default, <literal>nginx</literal> is used as reverse-proxy for
<literal>nextcloud</literal>. However, its possible to use
e.g. <literal>httpd</literal> by explicitly disabling
<literal>nextcloud</literal>. However, its possible to use e.g.
<literal>httpd</literal> by explicitly disabling
<literal>nginx</literal> using
<xref linkend="opt-services.nginx.enable"></xref> and fixing the
<xref linkend="opt-services.nginx.enable" /> and fixing the
settings <literal>listen.owner</literal> &amp;
<literal>listen.group</literal> in the
<link linkend="opt-services.phpfpm.pools">corresponding
@@ -268,13 +268,13 @@
Nextcloud apps are installed statefully through the web interface.
Some apps may require extra PHP extensions to be installed. This
can be configured with the
<xref linkend="opt-services.nextcloud.phpExtraExtensions"></xref>
<xref linkend="opt-services.nextcloud.phpExtraExtensions" />
setting.
</para>
<para>
Alternatively, extra apps can also be declared with the
<xref linkend="opt-services.nextcloud.extraApps"></xref> setting.
When using this setting, apps can no longer be managed statefully
<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.
@@ -292,7 +292,7 @@
While minor and patch-level updates are no problem and can be done
directly in the package-expression (and should be backported to
supported stable branches after that), major-releases should be
added in a new attribute (e.g. Nextcloud
added in a new attribute (e.g. Nextcloud
<literal>v19.0.0</literal> should be available in
<literal>nixpkgs</literal> as
<literal>pkgs.nextcloud19</literal>). To provide simple upgrade
@@ -323,8 +323,8 @@
</programlisting>
<para>
Ideally we should make sure that its possible to jump two NixOS
versions forward: i.e. the warnings and the logic in the module
should guard a user to upgrade from a Nextcloud on e.g. 19.09 to a
versions forward: i.e. the warnings and the logic in the module
should guard a user to upgrade from a Nextcloud on e.g. 19.09 to a
Nextcloud on 20.09.
</para>
</section>

View File

@@ -5,8 +5,7 @@ let
in
{
meta.maintainers = with maintainers; [ happysalada ];
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc pict-rs.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart > pict-rs.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./pict-rs.xml;
options.services.pict-rs = {

View File

@@ -30,8 +30,26 @@ services.pict-rs.enable = true;
<para>
This endpoint returns the following JSON structure on success
with a 201 Created status
<literal>json { &quot;files&quot;: [ { &quot;delete_token&quot;: &quot;JFvFhqJA98&quot;, &quot;file&quot;: &quot;lkWZDRvugm.jpg&quot; }, { &quot;delete_token&quot;: &quot;kAYy9nk2WK&quot;, &quot;file&quot;: &quot;8qFS0QooAn.jpg&quot; }, { &quot;delete_token&quot;: &quot;OxRpM3sf0Y&quot;, &quot;file&quot;: &quot;1hJaYfGE01.jpg&quot; } ], &quot;msg&quot;: &quot;ok&quot; }</literal>
</para>
<programlisting language="json">
{
&quot;files&quot;: [
{
&quot;delete_token&quot;: &quot;JFvFhqJA98&quot;,
&quot;file&quot;: &quot;lkWZDRvugm.jpg&quot;
},
{
&quot;delete_token&quot;: &quot;kAYy9nk2WK&quot;,
&quot;file&quot;: &quot;8qFS0QooAn.jpg&quot;
},
{
&quot;delete_token&quot;: &quot;OxRpM3sf0Y&quot;,
&quot;file&quot;: &quot;1hJaYfGE01.jpg&quot;
}
],
&quot;msg&quot;: &quot;ok&quot;
}
</programlisting>
</listitem>
<listitem>
<para>
@@ -53,8 +71,20 @@ services.pict-rs.enable = true;
<literal>GET /image/details/original/{file}</literal> for
getting the details of a full-resolution image. The returned
JSON is structured like so:
<literal>json { &quot;width&quot;: 800, &quot;height&quot;: 537, &quot;content_type&quot;: &quot;image/webp&quot;, &quot;created_at&quot;: [ 2020, 345, 67376, 394363487 ] }</literal>
</para>
<programlisting language="json">
{
&quot;width&quot;: 800,
&quot;height&quot;: 537,
&quot;content_type&quot;: &quot;image/webp&quot;,
&quot;created_at&quot;: [
2020,
345,
67376,
394363487
]
}
</programlisting>
</listitem>
<listitem>
<para>
@@ -111,7 +141,11 @@ services.pict-rs.enable = true;
</para>
<para>
An example of usage could be
<literal>GET /image/process.jpg?src=asdf.png&amp;thumbnail=256&amp;blur=3.0</literal>
</para>
<programlisting>
GET /image/process.jpg?src=asdf.png&amp;thumbnail=256&amp;blur=3.0
</programlisting>
<para>
which would create a 256x256px JPEG thumbnail and blur it
</para>
</listitem>

View File

@@ -292,7 +292,6 @@ in {
};
meta.maintainers = with maintainers; [ ma27 ];
# Don't edit the docbook xml directly, edit the md and generate it:
# `pandoc plausible.md -t docbook --top-level-division=chapter --extract-media=media -f markdown+smart --lua-filter ../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > plausible.xml`
# Don't edit the docbook xml directly, edit the md and generate it using md-to-db.sh
meta.doc = ./plausible.xml;
}