Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2022-08-13 00:03:07 +00:00 committed by GitHub
commit e47407256a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
215 changed files with 1926 additions and 2003 deletions

View File

@ -372,6 +372,13 @@
instead of using the Redis default.
</para>
</listitem>
<listitem>
<para>
Neo4j was updated from version 3 to version 4. See this
<link xlink:href="https://neo4j.com/docs/upgrade-migration-guide/current/">migration
guide</link> on how to migrate your Neo4j instance.
</para>
</listitem>
<listitem>
<para>
Matrix Synapse now requires entries in the

View File

@ -139,6 +139,8 @@ Use `configure.packages` instead.
- The Redis module now disables RDB persistence when `services.redis.servers.<name>.save = []` instead of using the Redis default.
- Neo4j was updated from version 3 to version 4. See this [migration guide](https://neo4j.com/docs/upgrade-migration-guide/current/) on how to migrate your Neo4j instance.
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
- `dockerTools.buildImage` deprecates the misunderstood `contents` parameter, in favor of `copyToRoot`.

View File

@ -26,13 +26,12 @@ in
{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
'';
type = types.attrsOf sysctlOption;
description = ''
description = lib.mdDoc ''
Runtime parameters of the Linux kernel, as set by
<citerefentry><refentrytitle>sysctl</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>. Note that sysctl
{manpage}`sysctl(8)`. Note that sysctl
parameters names must be enclosed in quotes
(e.g. <literal>"vm.swappiness"</literal> instead of
<literal>vm.swappiness</literal>). The value of each
(e.g. `"vm.swappiness"` instead of
`vm.swappiness`). The value of each
parameter may be a string, integer, boolean, or null
(signifying the option will not appear at all).
'';

View File

@ -39,26 +39,23 @@ in
environment.profileRelativeSessionVariables = mkOption {
type = types.attrsOf (types.listOf types.str);
example = { PATH = [ "/bin" ]; MANPATH = [ "/man" "/share/man" ]; };
description = ''
description = lib.mdDoc ''
Attribute set of environment variable used in the global
environment. These variables will be set by PAM early in the
login process.
Variable substitution is available as described in
<citerefentry>
<refentrytitle>pam_env.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>.
{manpage}`pam_env.conf(5)`.
Each attribute maps to a list of relative paths. Each relative
path is appended to the each profile of
<option>environment.profiles</option> to form the content of
{option}`environment.profiles` to form the content of
the corresponding environment variable.
Also, these variables are merged into
<xref linkend="opt-environment.profileRelativeEnvVars"/> and it is
[](#opt-environment.profileRelativeEnvVars) and it is
therefore not possible to use PAM style variables such as
<literal>@{HOME}</literal>.
`@{HOME}`.
'';
};

View File

@ -454,23 +454,23 @@ in
isoImage.isoName = mkOption {
default = "${config.isoImage.isoBaseName}.iso";
description = ''
description = lib.mdDoc ''
Name of the generated ISO image file.
'';
};
isoImage.isoBaseName = mkOption {
default = "nixos";
description = ''
description = lib.mdDoc ''
Prefix of the name of the generated ISO image file.
'';
};
isoImage.compressImage = mkOption {
default = false;
description = ''
description = lib.mdDoc ''
Whether the ISO image should be compressed using
<command>zstd</command>.
{command}`zstd`.
'';
};
@ -481,7 +481,7 @@ in
+ lib.optionalString isAarch "-Xbcj arm"
+ lib.optionalString (isPower && is32bit && isBigEndian) "-Xbcj powerpc"
+ lib.optionalString (isSparc) "-Xbcj sparc";
description = ''
description = lib.mdDoc ''
Compression settings to use for the squashfs nix store.
'';
example = "zstd -Xcompression-level 6";
@ -489,7 +489,7 @@ in
isoImage.edition = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Specifies which edition string to use in the volume ID of the generated
ISO image.
'';
@ -498,7 +498,7 @@ in
isoImage.volumeID = mkOption {
# nixos-$EDITION-$RELEASE-$ARCH
default = "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}";
description = ''
description = lib.mdDoc ''
Specifies the label or volume ID of the generated ISO image.
Note that the label is used by stage 1 of the boot process to
mount the CD, so it should be reasonably distinctive.
@ -512,7 +512,7 @@ in
}
]
'';
description = ''
description = lib.mdDoc ''
This option lists files to be copied to fixed locations in the
generated ISO image.
'';
@ -520,7 +520,7 @@ in
isoImage.storeContents = mkOption {
example = literalExpression "[ pkgs.stdenv ]";
description = ''
description = lib.mdDoc ''
This option lists additional derivations to be included in the
Nix store in the generated ISO image.
'';
@ -528,7 +528,7 @@ in
isoImage.includeSystemBuildDependencies = mkOption {
default = false;
description = ''
description = lib.mdDoc ''
Set this option to include all the needed sources etc in the
image. It significantly increases image size. Use that when
you want to be able to keep all the sources needed to build your
@ -539,14 +539,14 @@ in
isoImage.makeEfiBootable = mkOption {
default = false;
description = ''
description = lib.mdDoc ''
Whether the ISO image should be an efi-bootable volume.
'';
};
isoImage.makeUsbBootable = mkOption {
default = false;
description = ''
description = lib.mdDoc ''
Whether the ISO image should be bootable from CD as well as USB.
'';
};
@ -556,7 +556,7 @@ in
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/efi-background.png";
sha256 = "18lfwmp8yq923322nlb9gxrh5qikj1wsk6g5qvdh31c4h5b1538x";
};
description = ''
description = lib.mdDoc ''
The splash image to use in the EFI bootloader.
'';
};
@ -566,7 +566,7 @@ in
url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png";
sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd";
};
description = ''
description = lib.mdDoc ''
The splash image to use in the legacy-boot bootloader.
'';
};
@ -574,7 +574,7 @@ in
isoImage.grubTheme = mkOption {
default = pkgs.nixos-grub2-theme;
type = types.nullOr (types.either types.path types.package);
description = ''
description = lib.mdDoc ''
The grub2 theme used for UEFI boot.
'';
};
@ -605,7 +605,7 @@ in
MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std
'';
type = types.str;
description = ''
description = lib.mdDoc ''
The syslinux theme used for BIOS boot.
'';
};
@ -613,12 +613,12 @@ in
isoImage.appendToMenuLabel = mkOption {
default = " Installer";
example = " Live System";
description = ''
description = lib.mdDoc ''
The string to append after the menu label for the NixOS system.
This will be directly appended (without whitespace) to the NixOS version
string, like for example if it is set to <literal>XXX</literal>:
string, like for example if it is set to `XXX`:
<literal>NixOS 99.99-pre666XXX</literal>
`NixOS 99.99-pre666XXX`
'';
};

View File

@ -10,7 +10,7 @@ with lib;
netboot.storeContents = mkOption {
example = literalExpression "[ pkgs.stdenv ]";
description = ''
description = lib.mdDoc ''
This option lists additional derivations to be included in the
Nix store in the generated netboot image.
'';

View File

@ -160,9 +160,9 @@ in
enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to install documentation of packages from
<option>environment.systemPackages</option> into the generated system path.
{option}`environment.systemPackages` into the generated system path.
See "Multiple-output packages" chapter in the nixpkgs manual for more info.
'';
@ -172,9 +172,9 @@ in
man.enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to install manual pages.
This also includes <literal>man</literal> outputs.
This also includes `man` outputs.
'';
};
@ -193,8 +193,8 @@ in
info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install info pages and the <command>info</command> command.
description = lib.mdDoc ''
Whether to install info pages and the {command}`info` command.
This also includes "info" outputs.
'';
};
@ -202,8 +202,8 @@ in
doc.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
description = lib.mdDoc ''
Whether to install documentation distributed in packages' `/share/doc`.
Usually plain text and/or HTML.
This also includes "doc" outputs.
'';
@ -230,8 +230,7 @@ in
Whether to install NixOS's own documentation.
<itemizedlist>
<listitem><para>This includes man pages like
<citerefentry><refentrytitle>configuration.nix</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is
<citerefentry><refentrytitle>configuration.nix</refentrytitle><manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is
set.</para></listitem>
<listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if
<option>documentation.doc.enable</option> is set.</para></listitem>
@ -250,7 +249,7 @@ in
nixos.options.splitBuild = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to split the option docs build into a cacheable and an uncacheable part.
Splitting the build can substantially decrease the amount of time needed to build
the manual, but some user modules may be incompatible with this splitting.
@ -260,7 +259,7 @@ in
nixos.options.warningsAreErrors = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Treat warning emitted during the option documentation build (eg for missing option
descriptions) as errors.
'';
@ -269,18 +268,18 @@ in
nixos.includeAllModules = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether the generated NixOS's documentation should include documentation for all
the options from all the NixOS modules included in the current
<literal>configuration.nix</literal>. Disabling this will make the manual
generator to ignore options defined outside of <literal>baseModules</literal>.
`configuration.nix`. Disabling this will make the manual
generator to ignore options defined outside of `baseModules`.
'';
};
nixos.extraModuleSources = mkOption {
type = types.listOf (types.either types.path types.str);
default = [ ];
description = ''
description = lib.mdDoc ''
Which extra NixOS module paths the generated NixOS's documentation should strip
from options.
'';

View File

@ -39,16 +39,15 @@ in
type = str;
default = "02:15";
example = "hourly";
description = ''
description = lib.mdDoc ''
Update the locate database at this interval. Updates by
default at 2:15 AM every day.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
To disable automatic updates, set to <literal>"never"</literal>
and run <command>updatedb</command> manually.
To disable automatic updates, set to `"never"`
and run {command}`updatedb` manually.
'';
};

View File

@ -157,12 +157,12 @@ in
{ allowBroken = true; allowUnfree = true; }
'';
type = configType;
description = ''
description = lib.mdDoc ''
The configuration of the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to set
package configuration options.
Ignored when <literal>nixpkgs.pkgs</literal> is set.
Ignored when `nixpkgs.pkgs` is set.
'';
};
@ -180,17 +180,17 @@ in
]
'';
type = types.listOf overlayType;
description = ''
description = lib.mdDoc ''
List of overlays to use with the Nix Packages collection.
(For details, see the Nixpkgs documentation.) It allows
you to override packages globally. Each function in the list
takes as an argument the <emphasis>original</emphasis> Nixpkgs.
takes as an argument the *original* Nixpkgs.
The first argument should be used for finding dependencies, and
the second should be used for overriding recipes.
If <literal>nixpkgs.pkgs</literal> is set, overlays specified here
If `nixpkgs.pkgs` is set, overlays specified here
will be applied after the overlays that were already present
in <literal>nixpkgs.pkgs</literal>.
in `nixpkgs.pkgs`.
'';
};
@ -202,12 +202,12 @@ in
apply = lib.systems.elaborate;
defaultText = literalExpression
''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
description = ''
description = lib.mdDoc ''
Specifies the platform where the NixOS configuration will run.
To cross-compile, set also <literal>nixpkgs.buildPlatform</literal>.
To cross-compile, set also `nixpkgs.buildPlatform`.
Ignored when <literal>nixpkgs.pkgs</literal> is set.
Ignored when `nixpkgs.pkgs` is set.
'';
};
@ -220,7 +220,7 @@ in
apply = lib.systems.elaborate;
defaultText = literalExpression
''config.nixpkgs.hostPlatform'';
description = ''
description = lib.mdDoc ''
Specifies the platform on which NixOS should be built.
By default, NixOS is built on the system where it runs, but you can
change where it's built. Setting this option will cause NixOS to be
@ -230,7 +230,7 @@ in
or if you're building machines, you can set this to match your
development system and/or build farm.
Ignored when <literal>nixpkgs.pkgs</literal> is set.
Ignored when `nixpkgs.pkgs` is set.
'';
};
@ -243,25 +243,25 @@ in
apply = lib.systems.elaborate;
defaultText = literalExpression
''(import "''${nixos}/../lib").lib.systems.examples.aarch64-multiplatform'';
description = ''
Systems with a recently generated <literal>hardware-configuration.nix</literal>
description = lib.mdDoc ''
Systems with a recently generated `hardware-configuration.nix`
do not need to specify this option, unless cross-compiling, in which case
you should set <emphasis>only</emphasis> <option>nixpkgs.buildPlatform</option>.
you should set *only* {option}`nixpkgs.buildPlatform`.
If this is somehow not feasible, you may fall back to removing the
<option>nixpkgs.hostPlatform</option> line from the generated config and
{option}`nixpkgs.hostPlatform` line from the generated config and
use the old options.
Specifies the platform on which NixOS should be built. When
<literal>nixpkgs.crossSystem</literal> is unset, it also specifies
the platform <emphasis>for</emphasis> which NixOS should be
`nixpkgs.crossSystem` is unset, it also specifies
the platform *for* which NixOS should be
built. If this option is unset, it defaults to the platform
type of the machine where evaluation happens. Specifying this
option is useful when doing distributed multi-platform
deployment, or when building virtual machines. See its
description in the Nixpkgs manual for more details.
Ignored when <literal>nixpkgs.pkgs</literal> or <literal>hostPlatform</literal> is set.
Ignored when `nixpkgs.pkgs` or `hostPlatform` is set.
'';
};
@ -272,20 +272,20 @@ in
type = types.nullOr types.attrs; # TODO utilize lib.systems.parsedPlatform
default = null;
example = { system = "aarch64-linux"; config = "aarch64-unknown-linux-gnu"; };
description = ''
Systems with a recently generated <literal>hardware-configuration.nix</literal>
may instead specify <emphasis>only</emphasis> <option>nixpkgs.buildPlatform</option>,
or fall back to removing the <option>nixpkgs.hostPlatform</option> line from the generated config.
description = lib.mdDoc ''
Systems with a recently generated `hardware-configuration.nix`
may instead specify *only* {option}`nixpkgs.buildPlatform`,
or fall back to removing the {option}`nixpkgs.hostPlatform` line from the generated config.
Specifies the platform for which NixOS should be
built. Specify this only if it is different from
<literal>nixpkgs.localSystem</literal>, the platform
<emphasis>on</emphasis> which NixOS should be built. In other
`nixpkgs.localSystem`, the platform
*on* which NixOS should be built. In other
words, specify this to cross-compile NixOS. Otherwise it
should be set as null, the default. See its description in the
Nixpkgs manual for more details.
Ignored when <literal>nixpkgs.pkgs</literal> or <literal>hostPlatform</literal> is set.
Ignored when `nixpkgs.pkgs` or `hostPlatform` is set.
'';
};

View File

@ -61,7 +61,7 @@ in
installer.cloneConfig = mkOption {
default = true;
description = ''
description = lib.mdDoc ''
Try to clone the installation-device configuration by re-using it's
profile from the list of imported modules.
'';
@ -70,14 +70,14 @@ in
installer.cloneConfigIncludes = mkOption {
default = [];
example = [ "./nixos/modules/hardware/network/rt73.nix" ];
description = ''
description = lib.mdDoc ''
List of modules used to re-build this installation device profile.
'';
};
installer.cloneConfigExtra = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Extra text to include in the cloned configuration.nix included in this
installer.
'';

View File

@ -451,10 +451,9 @@ let
renewInterval = mkOption {
type = types.str;
inherit (defaultAndText "renewInterval" "daily") default defaultText;
description = ''
description = lib.mdDoc ''
Systemd calendar expression when to check for renewal. See
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -42,7 +42,7 @@ in
if you want this service to do such killing
by sending a <literal>SIGTERM</literal> to those running processes'';
policies = mkOption {
description = ''
description = lib.mdDoc ''
AppArmor policies.
'';
type = types.attrsOf (types.submodule ({ name, config, ... }: {
@ -50,7 +50,7 @@ in
enable = mkDisableOption "loading of the profile into the kernel";
enforce = mkDisableOption "enforcing of the policy or only complain in the logs";
profile = mkOption {
description = "The policy of the profile.";
description = lib.mdDoc "The policy of the profile.";
type = types.lines;
apply = pkgs.writeText name;
};
@ -61,16 +61,16 @@ in
includes = mkOption {
type = types.attrsOf types.lines;
default = {};
description = ''
description = lib.mdDoc ''
List of paths to be added to AppArmor's searched paths
when resolving <literal>include</literal> directives.
when resolving `include` directives.
'';
apply = mapAttrs pkgs.writeText;
};
packages = mkOption {
type = types.listOf types.package;
default = [];
description = "List of packages to be added to AppArmor's include path";
description = lib.mdDoc "List of packages to be added to AppArmor's include path";
};
enableCache = mkEnableOption ''
caching of AppArmor policies

View File

@ -314,8 +314,7 @@ let
Attribute set describing resource limits. Defaults to the
value of <option>security.pam.loginLimits</option>.
The meaning of the values is explained in <citerefentry>
<refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
<refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
'';
};
@ -756,8 +755,7 @@ in
<varname>domain</varname>, <varname>type</varname>,
<varname>item</varname>, and <varname>value</varname>
attribute. The syntax and semantics of these attributes
must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.
must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
Note that these limits do not apply to systemd services,
whose limits can be changed via <option>systemd.extraConfig</option>
@ -838,17 +836,14 @@ in
control = mkOption {
default = "sufficient";
type = types.enum [ "required" "requisite" "sufficient" "optional" ];
description = ''
description = lib.mdDoc ''
This option sets pam "control".
If you want to have multi factor authentication, use "required".
If you want to use the PKCS#11 device instead of the regular password,
use "sufficient".
Read
<citerefentry>
<refentrytitle>pam.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
{manpage}`pam.conf(5)`
for better understanding of this option.
'';
};
@ -929,16 +924,13 @@ in
control = mkOption {
default = "sufficient";
type = types.enum [ "required" "requisite" "sufficient" "optional" ];
description = ''
description = lib.mdDoc ''
This option sets pam "control".
If you want to have multi factor authentication, use "required".
If you want to use U2F device instead of regular password, use "sufficient".
Read
<citerefentry>
<refentrytitle>pam.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
{manpage}`pam.conf(5)`
for better understanding of this option.
'';
};
@ -1047,17 +1039,14 @@ in
control = mkOption {
default = "sufficient";
type = types.enum [ "required" "requisite" "sufficient" "optional" ];
description = ''
description = lib.mdDoc ''
This option sets pam "control".
If you want to have multi factor authentication, use "required".
If you want to use the SSH certificate instead of the regular password,
use "sufficient".
Read
<citerefentry>
<refentrytitle>pam.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
{manpage}`pam.conf(5)`
for better understanding of this option.
'';
};
@ -1082,16 +1071,13 @@ in
control = mkOption {
default = "sufficient";
type = types.enum [ "required" "requisite" "sufficient" "optional" ];
description = ''
description = lib.mdDoc ''
This option sets pam "control".
If you want to have multi factor authentication, use "required".
If you want to use Yubikey instead of regular password, use "sufficient".
Read
<citerefentry>
<refentrytitle>pam.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>
{manpage}`pam.conf(5)`
for better understanding of this option.
'';
};

View File

@ -10,12 +10,10 @@ in {
options.confinement.enable = lib.mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If set, all the required runtime store paths for this service are
bind-mounted into a <literal>tmpfs</literal>-based <citerefentry>
<refentrytitle>chroot</refentrytitle>
<manvolnum>2</manvolnum>
</citerefentry>.
bind-mounted into a `tmpfs`-based
{manpage}`chroot(2)`.
'';
};
@ -63,16 +61,13 @@ in {
default = toplevelConfig.environment.binsh;
defaultText = lib.literalExpression "config.environment.binsh";
example = lib.literalExpression ''"''${pkgs.dash}/bin/dash"'';
description = ''
The program to make available as <filename>/bin/sh</filename> inside
the chroot. If this is set to <literal>null</literal>, no
<filename>/bin/sh</filename> is provided at all.
description = lib.mdDoc ''
The program to make available as {file}`/bin/sh` inside
the chroot. If this is set to `null`, no
{file}`/bin/sh` is provided at all.
This is useful for some applications, which for example use the
<citerefentry>
<refentrytitle>system</refentrytitle>
<manvolnum>3</manvolnum>
</citerefentry> library function to execute commands.
{manpage}`system(3)` library function to execute commands.
'';
};
@ -88,10 +83,8 @@ in {
name space.
If this is set to <literal>chroot-only</literal>, only the file
system name space is set up along with the call to <citerefentry>
<refentrytitle>chroot</refentrytitle>
<manvolnum>2</manvolnum>
</citerefentry>.
system name space is set up along with the call to
<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry>.
<note><para>This doesn't cover network namespaces and is solely for
file system level isolation.</para></note>

View File

@ -54,10 +54,7 @@ let
description = ''
A comma-separated list of capabilities to be given to the wrapper
program. For capabilities supported by the system check the
<citerefentry>
<refentrytitle>capabilities</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry>
<citerefentry><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry>
manual page.
<note><para>

View File

@ -320,13 +320,12 @@ in {
startAt = mkOption {
type = with types; either str (listOf str);
default = "daily";
description = ''
description = lib.mdDoc ''
When or how often the backup should run.
Must be in the format described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
If you do not want the backup to start
automatically, use <literal>[ ]</literal>.
automatically, use `[ ]`.
It will generate a systemd service borgbackup-job-NAME.
You may trigger it manually via systemctl restart borgbackup-job-NAME.
'';
@ -336,10 +335,9 @@ in {
default = false;
type = types.bool;
example = true;
description = ''
Set the <literal>persistentTimer</literal> option for the
<citerefentry><refentrytitle>systemd.timer</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>
description = lib.mdDoc ''
Set the `persistentTimer` option for the
{manpage}`systemd.timer(5)`
which triggers the backup immediately if the last trigger
was missed (e.g. if the system was powered down).
'';

View File

@ -27,30 +27,27 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "/home" ];
description = ''
description = lib.mdDoc ''
List of paths to include into the backups. See the FILE SELECTION
section in <citerefentry><refentrytitle>duplicity</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> for details on the syntax.
section in {manpage}`duplicity(1)` for details on the syntax.
'';
};
exclude = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
description = lib.mdDoc ''
List of paths to exclude from backups. See the FILE SELECTION section in
<citerefentry><refentrytitle>duplicity</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> for details on the syntax.
{manpage}`duplicity(1)` for details on the syntax.
'';
};
targetUrl = mkOption {
type = types.str;
example = "s3://host:port/prefix";
description = ''
description = lib.mdDoc ''
Target url to backup to. See the URL FORMAT section in
<citerefentry><refentrytitle>duplicity</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> for supported urls.
{manpage}`duplicity(1)` for supported urls.
'';
};
@ -60,8 +57,7 @@ in
description = ''
Path of a file containing secrets (gpg passphrase, access key...) in
the format of EnvironmentFile as described by
<citerefentry><refentrytitle>systemd.exec</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>. For example:
<citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For example:
<programlisting>
PASSPHRASE=«...»
AWS_ACCESS_KEY_ID=«...»
@ -73,10 +69,9 @@ in
frequency = mkOption {
type = types.nullOr types.str;
default = "daily";
description = ''
description = lib.mdDoc ''
Run duplicity with the given frequency (see
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry> for the format).
{manpage}`systemd.time(7)` for the format).
If null, do not run automatically.
'';
};
@ -85,10 +80,9 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "--backend-retry-delay" "100" ];
description = ''
description = lib.mdDoc ''
Extra command-line flags passed to duplicity. See
<citerefentry><refentrytitle>duplicity</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>.
{manpage}`duplicity(1)`.
'';
};

View File

@ -118,12 +118,11 @@ in
type = types.str;
default = "hourly";
example = "daily";
description = ''
description = lib.mdDoc ''
Run sanoid at this interval. The default is to run hourly.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -89,12 +89,11 @@ in
type = types.str;
default = "hourly";
example = "*-*-* *:15:00";
description = ''
description = lib.mdDoc ''
Run syncoid at this interval. The default is to run hourly.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -140,12 +140,11 @@ in
type = types.str;
default = "01:15";
example = "hourly";
description = ''
description = lib.mdDoc ''
Create archive at this interval.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -16,9 +16,9 @@ with lib;
"fs.defaultFS" = "hdfs://localhost";
}
'';
description = ''
description = lib.mdDoc ''
Hadoop core-site.xml definition
<link xlink:href="https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml"/>
<https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml>
'';
};
coreSiteInternal = mkOption {
@ -38,7 +38,7 @@ with lib;
"dfs.namenode.http-bind-host" = "0.0.0.0";
};
type = types.attrsOf types.anything;
description = ''
description = lib.mdDoc ''
Default options for hdfs-site.xml
'';
};
@ -50,9 +50,9 @@ with lib;
"dfs.nameservices" = "namenode1";
}
'';
description = ''
description = lib.mdDoc ''
Additional options and overrides for hdfs-site.xml
<link xlink:href="https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml"/>
<https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml>
'';
};
hdfsSiteInternal = mkOption {
@ -80,7 +80,7 @@ with lib;
}
'';
type = types.attrsOf types.anything;
description = ''
description = lib.mdDoc ''
Default options for mapred-site.xml
'';
};
@ -92,9 +92,9 @@ with lib;
"mapreduce.map.java.opts" = "-Xmx900m -XX:+UseParallelGC";
}
'';
description = ''
description = lib.mdDoc ''
Additional options and overrides for mapred-site.xml
<link xlink:href="https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml"/>
<https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml>
'';
};
@ -113,7 +113,7 @@ with lib;
"yarn.resourcemanager.scheduler.class" = "org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler";
};
type = types.attrsOf types.anything;
description = ''
description = lib.mdDoc ''
Default options for yarn-site.xml
'';
};
@ -125,9 +125,9 @@ with lib;
"yarn.resourcemanager.hostname" = "''${config.networking.hostName}";
}
'';
description = ''
description = lib.mdDoc ''
Additional options and overrides for yarn-site.xml
<link xlink:href="https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml"/>
<https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml>
'';
};
yarnSiteInternal = mkOption {
@ -147,9 +147,9 @@ with lib;
"hadoop.http.max.threads" = 500;
}
'';
description = ''
description = lib.mdDoc ''
Hadoop httpfs-site.xml definition
<link xlink:href="https://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/httpfs-default.html"/>
<https://hadoop.apache.org/docs/current/hadoop-hdfs-httpfs/httpfs-default.html>
'';
};
@ -162,7 +162,7 @@ with lib;
example = literalExpression ''
"''${pkgs.hadoop}/lib/''${pkgs.hadoop.untarDir}/etc/hadoop/log4j.properties";
'';
description = "log4j.properties file added to HADOOP_CONF_DIR";
description = lib.mdDoc "log4j.properties file added to HADOOP_CONF_DIR";
};
containerExecutorCfg = mkOption {
@ -179,9 +179,9 @@ with lib;
"feature.terminal.enabled" = 0;
}
'';
description = ''
description = lib.mdDoc ''
Yarn container-executor.cfg definition
<link xlink:href="https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/SecureContainer.html"/>
<https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/SecureContainer.html>
'';
};
@ -194,7 +194,7 @@ with lib;
./extraYARNConfs
]
'';
description = "Directories containing additional config files to be added to HADOOP_CONF_DIR";
description = lib.mdDoc "Directories containing additional config files to be added to HADOOP_CONF_DIR";
};
gatewayRole.enable = mkEnableOption "gateway role for deploying hadoop configs";

View File

@ -109,10 +109,9 @@ in
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Extra configuration for <literal>slurmdbd.conf</literal> See also:
<citerefentry><refentrytitle>slurmdbd.conf</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>.
description = lib.mdDoc ''
Extra configuration for `slurmdbd.conf` See also:
{manpage}`slurmdbd.conf(8)`.
'';
};
};

View File

@ -36,48 +36,43 @@ let
serverConfig = pkgs.writeText "neo4j.conf" ''
# General
dbms.allow_upgrade=${boolToString cfg.allowUpgrade}
dbms.connectors.default_listen_address=${cfg.defaultListenAddress}
dbms.read_only=${boolToString cfg.readOnly}
dbms.default_listen_address=${cfg.defaultListenAddress}
dbms.databases.default_to_read_only=${boolToString cfg.readOnly}
${optionalString (cfg.workerCount > 0) ''
dbms.threads.worker_count=${toString cfg.workerCount}
''}
# Directories
# Directories (readonly)
dbms.directories.certificates=${cfg.directories.certificates}
dbms.directories.data=${cfg.directories.data}
dbms.directories.logs=${cfg.directories.home}/logs
dbms.directories.plugins=${cfg.directories.plugins}
dbms.directories.lib=${cfg.package}/share/neo4j/lib
${optionalString (cfg.constrainLoadCsv) ''
dbms.directories.import=${cfg.directories.imports}
''}
''}
# Directories (read and write)
dbms.directories.data=${cfg.directories.data}
dbms.directories.logs=${cfg.directories.home}/logs
dbms.directories.run=${cfg.directories.home}/run
# HTTP Connector
${optionalString (cfg.http.enable) ''
dbms.connector.http.enabled=${boolToString cfg.http.enable}
dbms.connector.http.listen_address=${cfg.http.listenAddress}
''}
${optionalString (!cfg.http.enable) ''
# It is not possible to disable the HTTP connector. To fully prevent
# clients from connecting to HTTP, block the HTTP port (7474 by default)
# via firewall. listen_address is set to the loopback interface to
# prevent remote clients from connecting.
dbms.connector.http.listen_address=127.0.0.1
dbms.connector.http.advertised_address=${cfg.http.listenAddress}
''}
# HTTPS Connector
dbms.connector.https.enabled=${boolToString cfg.https.enable}
dbms.connector.https.listen_address=${cfg.https.listenAddress}
https.ssl_policy=${cfg.https.sslPolicy}
dbms.connector.https.advertised_address=${cfg.https.listenAddress}
# BOLT Connector
dbms.connector.bolt.enabled=${boolToString cfg.bolt.enable}
dbms.connector.bolt.listen_address=${cfg.bolt.listenAddress}
bolt.ssl_policy=${cfg.bolt.sslPolicy}
dbms.connector.bolt.advertised_address=${cfg.bolt.listenAddress}
dbms.connector.bolt.tls_level=${cfg.bolt.tlsLevel}
# neo4j-shell
dbms.shell.enabled=${boolToString cfg.shell.enable}
# SSL Policies
${concatStringsSep "\n" sslPolicies}
@ -95,8 +90,10 @@ let
dbms.jvm.additional=-Djdk.tls.rejectClientInitiatedRenegotiation=true
dbms.jvm.additional=-Dunsupported.dbms.udc.source=tarball
# Usage Data Collector
dbms.udc.enabled=${boolToString cfg.udc.enable}
#dbms.memory.heap.initial_size=12000m
#dbms.memory.heap.max_size=12000m
#dbms.memory.pagecache.size=4g
#dbms.tx_state.max_off_heap_memory=8000m
# Extra Configuration
${cfg.extraServerConfig}
@ -114,6 +111,8 @@ in {
(mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
(mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
(mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
(mkRemovedOptionModule [ "services" "neo4j" "shell" "enabled" ] "shell.enabled was removed upstream")
(mkRemovedOptionModule [ "services" "neo4j" "udc" "enabled" ] "udc.enabled was removed upstream")
];
###### interface
@ -334,13 +333,10 @@ in {
enable = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc ''
The HTTP connector is required for Neo4j, and cannot be disabled.
Setting this option to `false` will force the HTTP
connector's {option}`listenAddress` to the loopback
interface to prevent connection of remote clients. To prevent all
clients from connecting, block the HTTP port (7474 by default) by
firewall.
description = ''
Enable the HTTP connector for Neo4j. Setting this option to
<literal>false</literal> will stop Neo4j from listening for incoming
connections on the HTTPS port (7474 by default).
'';
};
@ -568,19 +564,6 @@ in {
'';
};
udc = {
enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable the Usage Data Collector which Neo4j uses to collect usage
data. Refer to the operations manual section on the
[Usage Data Collector](https://neo4j.com/docs/operations-manual/current/configuration/usage-data-collector/)
for more information.
'';
};
};
};
###### implementation
@ -612,7 +595,7 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
NEO4J_HOME = "${cfg.package}/share/neo4j";
NEO4J_HOME = "${cfg.directories.home}";
NEO4J_CONF = "${cfg.directories.home}/conf";
};
serviceConfig = {
@ -653,6 +636,6 @@ in {
};
meta = {
maintainers = with lib.maintainers; [ patternspandemic ];
maintainers = with lib.maintainers; [ patternspandemic jonringer erictapen ];
};
}

View File

@ -24,22 +24,22 @@ in
user = mkOption {
default = "rethinkdb";
description = "User account under which RethinkDB runs.";
description = lib.mdDoc "User account under which RethinkDB runs.";
};
group = mkOption {
default = "rethinkdb";
description = "Group which rethinkdb user belongs to.";
description = lib.mdDoc "Group which rethinkdb user belongs to.";
};
dbpath = mkOption {
default = "/var/db/rethinkdb";
description = "Location where RethinkDB stores its data, 1 data directory per instance.";
description = lib.mdDoc "Location where RethinkDB stores its data, 1 data directory per instance.";
};
pidpath = mkOption {
default = "/run/rethinkdb";
description = "Location where each instance's pid file is located.";
description = lib.mdDoc "Location where each instance's pid file is located.";
};
#cfgpath = mkOption {

View File

@ -39,14 +39,14 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the deprecated example Pipewire session manager";
description = lib.mdDoc "Whether to enable the deprecated example Pipewire session manager";
};
package = mkOption {
type = types.package;
default = pkgs.pipewire-media-session;
defaultText = literalExpression "pkgs.pipewire-media-session";
description = ''
description = lib.mdDoc ''
The pipewire-media-session derivation to use.
'';
};
@ -54,7 +54,7 @@ in {
config = {
media-session = mkOption {
type = json.type;
description = ''
description = lib.mdDoc ''
Configuration for the media session core. For details see
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/media-session.conf
'';
@ -63,7 +63,7 @@ in {
alsa-monitor = mkOption {
type = json.type;
description = ''
description = lib.mdDoc ''
Configuration for the alsa monitor. For details see
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/alsa-monitor.conf
'';
@ -72,7 +72,7 @@ in {
bluez-monitor = mkOption {
type = json.type;
description = ''
description = lib.mdDoc ''
Configuration for the bluez5 monitor. For details see
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/bluez-monitor.conf
'';
@ -81,7 +81,7 @@ in {
v4l2-monitor = mkOption {
type = json.type;
description = ''
description = lib.mdDoc ''
Configuration for the V4L2 monitor. For details see
https://gitlab.freedesktop.org/pipewire/media-session/-/blob/${cfg.package.version}/src/daemon/media-session.d/v4l2-monitor.conf
'';

View File

@ -29,7 +29,7 @@ in {
ip = mkOption {
type = types.str;
default = "localhost";
description = ''
description = lib.mdDoc ''
IP address Jupyter will be listening on.
'';
};
@ -41,7 +41,7 @@ in {
# saving a rebuild.
default = pkgs.python3.pkgs.notebook;
defaultText = literalExpression "pkgs.python3.pkgs.notebook";
description = ''
description = lib.mdDoc ''
Jupyter package to use.
'';
};
@ -50,7 +50,7 @@ in {
type = types.str;
default = "jupyter-notebook";
example = "jupyter-lab";
description = ''
description = lib.mdDoc ''
Which command the service runs. Note that not all jupyter packages
have all commands, e.g. jupyter-lab isn't present in the default package.
'';
@ -59,7 +59,7 @@ in {
port = mkOption {
type = types.int;
default = 8888;
description = ''
description = lib.mdDoc ''
Port number Jupyter will be listening on.
'';
};
@ -67,7 +67,7 @@ in {
notebookDir = mkOption {
type = types.str;
default = "~/";
description = ''
description = lib.mdDoc ''
Root directory for notebooks.
'';
};
@ -75,7 +75,7 @@ in {
user = mkOption {
type = types.str;
default = "jupyter";
description = ''
description = lib.mdDoc ''
Name of the user used to run the jupyter service.
For security reason, jupyter should really not be run as root.
If not set (jupyter), the service will create a jupyter user with appropriate settings.
@ -86,7 +86,7 @@ in {
group = mkOption {
type = types.str;
default = "jupyter";
description = ''
description = lib.mdDoc ''
Name of the group used to run the jupyter service.
Use this if you want to create a group of users that are able to view the notebook directory's content.
'';
@ -95,7 +95,7 @@ in {
password = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Password to use with notebook.
Can be generated using:
In [1]: from notebook.auth import passwd
@ -112,7 +112,7 @@ in {
notebookConfig = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
Raw jupyter config.
'';
};

View File

@ -13,7 +13,7 @@ with lib;
"Python 3"
"Python 3 for Data Science"
'';
description = ''
description = lib.mdDoc ''
Name that will be shown to the user.
'';
};
@ -27,7 +27,7 @@ with lib;
"-f"
"{connection_file}"
];
description = ''
description = lib.mdDoc ''
Command and arguments to start the kernel.
'';
};
@ -35,7 +35,7 @@ with lib;
language = mkOption {
type = types.str;
example = "python";
description = ''
description = lib.mdDoc ''
Language of the environment. Typically the name of the binary.
'';
};
@ -44,7 +44,7 @@ with lib;
type = types.nullOr types.path;
default = null;
example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-32x32.png"'';
description = ''
description = lib.mdDoc ''
Path to 32x32 logo png.
'';
};
@ -52,7 +52,7 @@ with lib;
type = types.nullOr types.path;
default = null;
example = literalExpression ''"''${env.sitePackages}/ipykernel/resources/logo-64x64.png"'';
description = ''
description = lib.mdDoc ''
Path to 64x64 logo png.
'';
};
@ -61,7 +61,7 @@ with lib;
type = types.attrsOf types.path;
default = { };
example = literalExpression ''"{ examples = ''${env.sitePack}/IRkernel/kernelspec/kernel.js"; }'';
description = ''
description = lib.mdDoc ''
Extra paths to link in kernel directory
'';
};

View File

@ -35,7 +35,7 @@ in {
authentication = mkOption {
type = types.str;
default = "jupyterhub.auth.PAMAuthenticator";
description = ''
description = lib.mdDoc ''
Jupyterhub authentication to use
There are many authenticators available including: oauth, pam,
@ -46,7 +46,7 @@ in {
spawner = mkOption {
type = types.str;
default = "systemdspawner.SystemdSpawner";
description = ''
description = lib.mdDoc ''
Jupyterhub spawner to use
There are many spawners available including: local process,
@ -57,7 +57,7 @@ in {
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
Extra contents appended to the jupyterhub configuration
Jupyterhub configuration is a normal python file using
@ -84,7 +84,7 @@ in {
jupyterhub-systemdspawner
])
'';
description = ''
description = lib.mdDoc ''
Python environment to run jupyterhub
Customizing will affect the packages available in the hub and
@ -106,7 +106,7 @@ in {
jupyterlab
])
'';
description = ''
description = lib.mdDoc ''
Python environment to run jupyterlab
Customizing will affect the packages available in the
@ -146,7 +146,7 @@ in {
};
}
'';
description = ''
description = lib.mdDoc ''
Declarative kernel config
Kernels can be declared in any language that supports and has
@ -159,7 +159,7 @@ in {
port = mkOption {
type = types.port;
default = 8000;
description = ''
description = lib.mdDoc ''
Port number Jupyterhub will be listening on
'';
};
@ -167,7 +167,7 @@ in {
host = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
description = lib.mdDoc ''
Bind IP JupyterHub will be listening on
'';
};
@ -175,7 +175,7 @@ in {
stateDirectory = mkOption {
type = types.str;
default = "jupyterhub";
description = ''
description = lib.mdDoc ''
Directory for jupyterhub state (token + database)
'';
};

View File

@ -35,11 +35,10 @@ in
LIBPATH /path/to/serial_reader.so
CHANNELID 1
'';
description = ''
description = lib.mdDoc ''
Configuration for devices that aren't hotpluggable.
See <citerefentry><refentrytitle>reader.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for valid options.
See {manpage}`reader.conf(5)` for valid options.
'';
};
};

View File

@ -121,11 +121,9 @@ in
type = types.nullOr types.str;
default = null;
example = "hourly";
description = ''
description = lib.mdDoc ''
Specification of the time at which awstats will get updated.
(in the format described by <citerefentry>
<refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>)
(in the format described by {manpage}`systemd.time(7)`)
'';
};
};

View File

@ -86,10 +86,9 @@ in
maintInterval = mkOption {
type = types.str;
default = "20min";
description = ''
description = lib.mdDoc ''
Time interval between mlmmj-maintd runs, see
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry> for format information.
{manpage}`systemd.time(7)` for format information.
'';
};

View File

@ -535,9 +535,8 @@ in
canonical = mkOption {
type = types.lines;
default = "";
description = ''
Entries for the <citerefentry><refentrytitle>canonical</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> table.
description = lib.mdDoc ''
Entries for the {manpage}`canonical(5)` table.
'';
};

View File

@ -52,8 +52,7 @@ in
default = null;
description = ''
Environment file as defined in <citerefentry>
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
Secrets may be passed to the service without adding them to the world-readable
Nix store, by specifying placeholder variables as the option value in Nix and
setting these variables accordingly in the environment file. Currently only used

View File

@ -70,27 +70,27 @@ in
homeserverUrl = mkOption {
type = types.str;
default = "https://matrix.org";
description = ''
description = lib.mdDoc ''
Where the homeserver is located (client-server URL).
If <literal>pantalaimon.enable</literal> is <literal>true</literal>, this option will become the homeserver to which <literal>pantalaimon</literal> connects.
The listen address of <literal>pantalaimon</literal> will then become the <literal>homeserverUrl</literal> of <literal>mjolnir</literal>.
If `pantalaimon.enable` is `true`, this option will become the homeserver to which `pantalaimon` connects.
The listen address of `pantalaimon` will then become the `homeserverUrl` of `mjolnir`.
'';
};
accessTokenFile = mkOption {
type = with types; nullOr path;
default = null;
description = ''
File containing the matrix access token for the <literal>mjolnir</literal> user.
description = lib.mdDoc ''
File containing the matrix access token for the `mjolnir` user.
'';
};
pantalaimon = mkOption {
description = ''
<literal>pantalaimon</literal> options (enables E2E Encryption support).
description = lib.mdDoc ''
`pantalaimon` options (enables E2E Encryption support).
This will create a <literal>pantalaimon</literal> instance with the name "mjolnir".
This will create a `pantalaimon` instance with the name "mjolnir".
'';
default = { };
type = types.submodule {
@ -102,22 +102,22 @@ in
username = mkOption {
type = types.str;
description = "The username to login with.";
description = lib.mdDoc "The username to login with.";
};
passwordFile = mkOption {
type = with types; nullOr path;
default = null;
description = ''
File containing the matrix password for the <literal>mjolnir</literal> user.
description = lib.mdDoc ''
File containing the matrix password for the `mjolnir` user.
'';
};
options = mkOption {
type = types.submodule (import ./pantalaimon-options.nix);
default = { };
description = ''
passthrough additional options to the <literal>pantalaimon</literal> service.
description = lib.mdDoc ''
passthrough additional options to the `pantalaimon` service.
'';
};
};
@ -127,7 +127,7 @@ in
dataPath = mkOption {
type = types.path;
default = "/var/lib/mjolnir";
description = ''
description = lib.mdDoc ''
The directory the bot should store various bits of information in.
'';
};
@ -135,11 +135,11 @@ in
managementRoom = mkOption {
type = types.str;
default = "#moderators:example.org";
description = ''
description = lib.mdDoc ''
The room ID where people can use the bot. The bot has no access controls, so
anyone in this room can use the bot - secure your room!
This should be a room alias or room ID - not a matrix.to URL.
Note: <literal>mjolnir</literal> is fairly verbose - expect a lot of messages from it.
Note: `mjolnir` is fairly verbose - expect a lot of messages from it.
'';
};
@ -152,7 +152,7 @@ in
"https://matrix.to/#/#anotherroom:example.org"
]
'';
description = ''
description = lib.mdDoc ''
A list of rooms to protect (matrix.to URLs).
'';
};
@ -166,8 +166,8 @@ in
automaticallyRedactForReasons = [ "spam" "advertising" ];
}
'';
description = ''
Additional settings (see <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml">mjolnir default config</link> for available settings). These settings will override settings made by the module config.
description = lib.mdDoc ''
Additional settings (see [mjolnir default config](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml) for available settings). These settings will override settings made by the module config.
'';
};
};

View File

@ -6,15 +6,15 @@ with lib;
dataPath = mkOption {
type = types.path;
default = "/var/lib/pantalaimon-${name}";
description = ''
The directory where <literal>pantalaimon</literal> should store its state such as the database file.
description = lib.mdDoc ''
The directory where `pantalaimon` should store its state such as the database file.
'';
};
logLevel = mkOption {
type = types.enum [ "info" "warning" "error" "debug" ];
default = "warning";
description = ''
description = lib.mdDoc ''
Set the log level of the daemon.
'';
};
@ -22,8 +22,8 @@ with lib;
homeserver = mkOption {
type = types.str;
example = "https://matrix.org";
description = ''
The URI of the homeserver that the <literal>pantalaimon</literal> proxy should
description = lib.mdDoc ''
The URI of the homeserver that the `pantalaimon` proxy should
forward requests to, without the matrix API path but including
the http(s) schema.
'';
@ -32,7 +32,7 @@ with lib;
ssl = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether or not SSL verification should be enabled for outgoing
connections to the homeserver.
'';
@ -41,7 +41,7 @@ with lib;
listenAddress = mkOption {
type = types.str;
default = "localhost";
description = ''
description = lib.mdDoc ''
The address where the daemon will listen to client connections
for this homeserver.
'';
@ -50,7 +50,7 @@ with lib;
listenPort = mkOption {
type = types.port;
default = 8009;
description = ''
description = lib.mdDoc ''
The port where the daemon will listen to client connections for
this homeserver. Note that the listen address/port combination
needs to be unique between different homeservers.
@ -60,9 +60,9 @@ with lib;
extraSettings = mkOption {
type = types.attrs;
default = { };
description = ''
description = lib.mdDoc ''
Extra configuration options. See
<link xlink:href="https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md">pantalaimon(5)</link>
[pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
for available options.
'';
};

View File

@ -51,11 +51,11 @@ in
options.services.pantalaimon-headless.instances = mkOption {
default = { };
type = types.attrsOf (types.submodule (import ./pantalaimon-options.nix));
description = ''
description = lib.mdDoc ''
Declarative instance config.
Note: to use pantalaimon interactively, e.g. for a Matrix client which does not
support End-to-end encryption (like <literal>fractal</literal>), refer to the home-manager module.
support End-to-end encryption (like `fractal`), refer to the home-manager module.
'';
};

View File

@ -143,7 +143,7 @@ in {
configFile = mkOption {
type = types.path;
readOnly = true;
description = ''
description = lib.mdDoc ''
Path to the configuration file on the target system. Useful to configure e.g. workers
that also need this.
'';
@ -153,7 +153,7 @@ in {
type = types.package;
default = pkgs.matrix-synapse;
defaultText = literalExpression "pkgs.matrix-synapse";
description = ''
description = lib.mdDoc ''
Overridable attribute of the matrix synapse server package to use.
'';
};
@ -167,7 +167,7 @@ in {
matrix-synapse-pam
];
'';
description = ''
description = lib.mdDoc ''
List of additional Matrix plugins to make available.
'';
};
@ -175,7 +175,7 @@ in {
withJemalloc = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to preload jemalloc to reduce memory fragmentation and overall usage.
'';
};
@ -183,7 +183,7 @@ in {
dataDir = mkOption {
type = types.str;
default = "/var/lib/matrix-synapse";
description = ''
description = lib.mdDoc ''
The directory where matrix-synapse stores its stateful data such as
certificates, media and uploads.
'';
@ -210,7 +210,7 @@ in {
example = "example.com";
default = config.networking.hostName;
defaultText = literalExpression "config.networking.hostName";
description = ''
description = lib.mdDoc ''
The domain name of the server, with optional explicit port.
This is used by remote servers to look up the server address.
This is also the last part of your UserID.
@ -222,7 +222,7 @@ in {
enable_registration = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable registration for new users.
'';
};
@ -253,7 +253,7 @@ in {
enable_metrics = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable collection and rendering of performance metrics
'';
};
@ -261,7 +261,7 @@ in {
report_stats = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether or not to report anonymized homeserver usage statistics.
'';
};
@ -269,7 +269,7 @@ in {
signing_key_path = mkOption {
type = types.path;
default = "${cfg.dataDir}/homeserver.signing.key";
description = ''
description = lib.mdDoc ''
Path to the signing key to sign messages with.
'';
};
@ -278,7 +278,7 @@ in {
type = types.path;
default = "/run/matrix-synapse.pid";
readOnly = true;
description = ''
description = lib.mdDoc ''
The file to store the PID in.
'';
};
@ -286,7 +286,7 @@ in {
log_config = mkOption {
type = types.path;
default = ./synapse-log_config.yaml;
description = ''
description = lib.mdDoc ''
The file that holds the logging configuration.
'';
};
@ -297,7 +297,7 @@ in {
then "${cfg.dataDir}/media_store"
else "${cfg.dataDir}/media";
defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
description = ''
description = lib.mdDoc ''
Directory where uploaded images and attachments are stored.
'';
};
@ -306,7 +306,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "https://example.com:8448/";
description = ''
description = lib.mdDoc ''
The public-facing base URL for the client API (not including _matrix/...)
'';
};
@ -315,7 +315,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "/var/lib/acme/example.com/fullchain.pem";
description = ''
description = lib.mdDoc ''
PEM encoded X509 certificate for TLS.
You can replace the self-signed certificate that synapse
autogenerates on launch with your own SSL certificate + key pair
@ -328,7 +328,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "/var/lib/acme/example.com/key.pem";
description = ''
description = lib.mdDoc ''
PEM encoded private key for TLS. Specify null if synapse is not
speaking TLS directly.
'';
@ -338,7 +338,7 @@ in {
type = types.bool;
default = true;
example = false;
description = ''
description = lib.mdDoc ''
Whether to enable presence tracking.
Presence tracking allows users to see the state (e.g online/offline)
@ -352,7 +352,7 @@ in {
port = mkOption {
type = types.port;
example = 8448;
description = ''
description = lib.mdDoc ''
The port to listen for HTTP(S) requests on.
'';
};
@ -369,7 +369,7 @@ in {
"0.0.0.0"
]
'';
description = ''
description = lib.mdDoc ''
IP addresses to bind the listener to.
'';
};
@ -383,7 +383,7 @@ in {
];
default = "http";
example = "metrics";
description = ''
description = lib.mdDoc ''
The type of the listener, usually http.
'';
};
@ -392,7 +392,7 @@ in {
type = types.bool;
default = true;
example = false;
description = ''
description = lib.mdDoc ''
Whether to enable TLS on the listener socket.
'';
};
@ -401,7 +401,7 @@ in {
type = types.bool;
default = false;
example = true;
description = ''
description = lib.mdDoc ''
Use the X-Forwarded-For (XFF) header as the client IP and not the
actual client IP.
'';
@ -422,7 +422,7 @@ in {
"replication"
"static"
]);
description = ''
description = lib.mdDoc ''
List of resources to host on this listener.
'';
example = [
@ -431,7 +431,7 @@ in {
};
compress = mkOption {
type = types.bool;
description = ''
description = lib.mdDoc ''
Should synapse compress HTTP responses to clients that support it?
This should be disabled if running synapse behind a load balancer
that can do automatic compression.
@ -439,7 +439,7 @@ in {
};
};
});
description = ''
description = lib.mdDoc ''
List of HTTP resources to serve on this listener.
'';
};
@ -459,7 +459,7 @@ in {
compress = false;
} ];
} ];
description = ''
description = lib.mdDoc ''
List of ports that Synapse should listen on, their purpose and their configuration.
'';
};
@ -477,7 +477,7 @@ in {
then "psycopg2"
else "sqlite3"
'';
description = ''
description = lib.mdDoc ''
The database engine name. Can be sqlite3 or psycopg2.
'';
};
@ -494,7 +494,7 @@ in {
psycopg2 = "matrix-synapse";
}.''${${options.services.matrix-synapse.settings}.database.name};
'';
description = ''
description = lib.mdDoc ''
Name of the database when using the psycopg2 backend,
path to the database location when using sqlite3.
'';
@ -506,7 +506,7 @@ in {
sqlite3 = null;
psycopg2 = "matrix-synapse";
}.${cfg.settings.database.name};
description = ''
description = lib.mdDoc ''
Username to connect with psycopg2, set to null
when using sqlite3.
'';
@ -546,7 +546,7 @@ in {
"fec0::/10"
"ff00::/8"
];
description = ''
description = lib.mdDoc ''
List of IP address CIDR ranges that the URL preview spider is denied
from accessing.
'';
@ -555,7 +555,7 @@ in {
url_preview_ip_range_whitelist = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
List of IP address CIDR ranges that the URL preview spider is allowed
to access even if they are specified in url_preview_ip_range_blacklist.
'';
@ -564,7 +564,7 @@ in {
url_preview_url_blacklist = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
Optional list of URL matches that the URL preview spider is
denied from accessing.
'';
@ -574,7 +574,7 @@ in {
type = types.str;
default = "50M";
example = "100M";
description = ''
description = lib.mdDoc ''
The largest allowed upload size in bytes
'';
};
@ -583,7 +583,7 @@ in {
type = types.str;
default = "32M";
example = "64M";
description = ''
description = lib.mdDoc ''
Maximum number of pixels that will be thumbnailed
'';
};
@ -592,7 +592,7 @@ in {
type = types.bool;
default = false;
example = true;
description = ''
description = lib.mdDoc ''
Whether to generate new thumbnails on the fly to precisely match
the resolution requested by the client. If true then whenever
a new resolution is requested by the client the server will
@ -610,7 +610,7 @@ in {
"turns:turn.example.com:5349?transport=udp"
"turns:turn.example.com:5349?transport=tcp"
];
description = ''
description = lib.mdDoc ''
The public URIs of the TURN server to give to clients
'';
};
@ -633,7 +633,7 @@ in {
server_name = mkOption {
type = types.str;
example = "matrix.org";
description = ''
description = lib.mdDoc ''
Hostname of the trusted server.
'';
};
@ -646,7 +646,7 @@ in {
"ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
}
'';
description = ''
description = lib.mdDoc ''
Attribute set from key id to base64 encoded public key.
If specified synapse will check that the response is signed
@ -661,7 +661,7 @@ in {
"ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
};
} ];
description = ''
description = lib.mdDoc ''
The trusted servers to download signing keys from.
'';
};
@ -669,7 +669,7 @@ in {
app_service_config_files = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
description = lib.mdDoc ''
A list of application service config file to use
'';
};
@ -681,7 +681,7 @@ in {
extraConfigFiles = mkOption {
type = types.listOf types.path;
default = [];
description = ''
description = lib.mdDoc ''
Extra config files to include.
The configuration files will be included based on the command line

View File

@ -114,12 +114,9 @@ let
[ 0.0 0.0 1.0 ]
]
'';
description = ''
description = lib.mdDoc ''
Refer to
<citerefentry>
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
{manpage}`xrandr(1)`
for the documentation of the transform matrix.
'';
};
@ -156,10 +153,7 @@ let
Output scale configuration.
Either configure by pixels or a scaling factor. When using pixel method the
<citerefentry>
<refentrytitle>xrandr</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
<citerefentry><refentrytitle>xrandr</refentrytitle><manvolnum>1</manvolnum></citerefentry>
option
<parameter class="command">--scale-from</parameter>
will be used; when using factor method the option

View File

@ -103,10 +103,9 @@ in {
garbageCollectDates = mkOption {
default = "daily";
type = types.str;
description = ''
description = lib.mdDoc ''
Specification (in the format described by
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>) of the time at
{manpage}`systemd.time(7)`) of the time at
which the garbage collect will occur.
'';
};

View File

@ -16,13 +16,12 @@ in {
interval = mkOption {
type = types.str;
default = "weekly";
description = ''
description = lib.mdDoc ''
How often we run fstrim. For most desktop and server systems
a sufficient trimming frequency is once a week.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};
};

View File

@ -19,11 +19,10 @@ in
interval = lib.mkOption {
type = lib.types.str;
default = "weekly";
description = ''
description = lib.mdDoc ''
Update the GeoIP databases at this time / interval.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -159,12 +159,11 @@ in
type = types.str;
default = "04:31";
example = "hourly";
description = ''
description = lib.mdDoc ''
Run a gitea dump at this interval. Runs by default at 04:31 every day.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -31,14 +31,14 @@ let
enable = mkOption {
type = types.bool;
default = false;
description = "Enable the gitit service.";
description = lib.mdDoc "Enable the gitit service.";
};
haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = literalExpression "pkgs.haskellPackages";
example = literalExpression "pkgs.haskell.packages.ghc784";
description = "haskellPackages used to build gitit and plugins.";
description = lib.mdDoc "haskellPackages used to build gitit and plugins.";
};
extraPackages = mkOption {
@ -59,31 +59,31 @@ let
address = mkOption {
type = types.str;
default = "0.0.0.0";
description = "IP address on which the web server will listen.";
description = lib.mdDoc "IP address on which the web server will listen.";
};
port = mkOption {
type = types.int;
default = 5001;
description = "Port on which the web server will run.";
description = lib.mdDoc "Port on which the web server will run.";
};
wikiTitle = mkOption {
type = types.str;
default = "Gitit!";
description = "The wiki title.";
description = lib.mdDoc "The wiki title.";
};
repositoryType = mkOption {
type = types.enum ["git" "darcs" "mercurial"];
default = "git";
description = "Specifies the type of repository used for wiki content.";
description = lib.mdDoc "Specifies the type of repository used for wiki content.";
};
repositoryPath = mkOption {
type = types.path;
default = homeDir + "/wiki";
description = ''
description = lib.mdDoc ''
Specifies the path of the repository directory. If it does not
exist, gitit will create it on startup.
'';
@ -92,7 +92,7 @@ let
requireAuthentication = mkOption {
type = types.enum [ "none" "modify" "read" ];
default = "modify";
description = ''
description = lib.mdDoc ''
If 'none', login is never required, and pages can be edited
anonymously. If 'modify', login is required to modify the wiki
(edit, add, delete pages, upload files). If 'read', login is
@ -103,7 +103,7 @@ let
authenticationMethod = mkOption {
type = types.enum [ "form" "http" "generic" "github" ];
default = "form";
description = ''
description = lib.mdDoc ''
'form' means that users will be logged in and registered using forms
in the gitit web interface. 'http' means that gitit will assume that
HTTP authentication is in place and take the logged in username from
@ -121,7 +121,7 @@ let
userFile = mkOption {
type = types.path;
default = homeDir + "/gitit-users";
description = ''
description = lib.mdDoc ''
Specifies the path of the file containing user login information. If
it does not exist, gitit will create it (with an empty user list).
This file is not used if 'http' is selected for
@ -132,7 +132,7 @@ let
sessionTimeout = mkOption {
type = types.int;
default = 60;
description = ''
description = lib.mdDoc ''
Number of minutes of inactivity before a session expires.
'';
};
@ -140,7 +140,7 @@ let
staticDir = mkOption {
type = types.path;
default = gititShared + "/data/static";
description = ''
description = lib.mdDoc ''
Specifies the path of the static directory (containing javascript,
css, and images). If it does not exist, gitit will create it and
populate it with required scripts, stylesheets, and images.
@ -150,7 +150,7 @@ let
defaultPageType = mkOption {
type = types.enum [ "markdown" "rst" "latex" "html" "markdown+lhs" "rst+lhs" "latex+lhs" ];
default = "markdown";
description = ''
description = lib.mdDoc ''
Specifies the type of markup used to interpret pages in the wiki.
Possible values are markdown, rst, latex, html, markdown+lhs,
rst+lhs, and latex+lhs. (the +lhs variants treat the input as
@ -166,7 +166,7 @@ let
math = mkOption {
type = types.enum [ "mathml" "raw" "mathjax" "jsmath" "google" ];
default = "mathml";
description = ''
description = lib.mdDoc ''
Specifies how LaTeX math is to be displayed. Possible values are
mathml, raw, mathjax, jsmath, and google. If mathml is selected,
gitit will convert LaTeX math to MathML and link in a script,
@ -186,7 +186,7 @@ let
mathJaxScript = mkOption {
type = types.str;
default = "https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
description = ''
description = lib.mdDoc ''
Specifies the path to MathJax rendering script. You might want to
use your own MathJax script to render formulas without Internet
connection or if you want to use some special LaTeX packages. Note:
@ -202,7 +202,7 @@ let
showLhsBirdTracks = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Specifies whether to show Haskell code blocks in "bird style", with
"> " at the beginning of each line.
'';
@ -224,7 +224,7 @@ let
logFile = mkOption {
type = types.path;
default = homeDir + "/gitit.log";
description = ''
description = lib.mdDoc ''
Specifies the path of gitit's log file. If it does not exist, gitit
will create it. The log is in Apache combined log format.
'';
@ -233,7 +233,7 @@ let
logLevel = mkOption {
type = types.enum [ "DEBUG" "INFO" "NOTICE" "WARNING" "ERROR" "CRITICAL" "ALERT" "EMERGENCY" ];
default = "ERROR";
description = ''
description = lib.mdDoc ''
Determines how much information is logged. Possible values (from
most to least verbose) are DEBUG, INFO, NOTICE, WARNING, ERROR,
CRITICAL, ALERT, EMERGENCY.
@ -243,7 +243,7 @@ let
frontPage = mkOption {
type = types.str;
default = "Front Page";
description = ''
description = lib.mdDoc ''
Specifies which wiki page is to be used as the wiki's front page.
Gitit creates a default front page on startup, if one does not exist
already.
@ -253,7 +253,7 @@ let
noDelete = mkOption {
type = types.str;
default = "Front Page, Help";
description = ''
description = lib.mdDoc ''
Specifies pages that cannot be deleted through the web interface.
(They can still be deleted directly using git or darcs.) A
comma-separated list of page names. Leave blank to allow every page
@ -264,7 +264,7 @@ let
noEdit = mkOption {
type = types.str;
default = "Help";
description = ''
description = lib.mdDoc ''
Specifies pages that cannot be edited through the web interface.
Leave blank to allow every page to be edited.
'';
@ -273,7 +273,7 @@ let
defaultSummary = mkOption {
type = types.str;
default = "";
description = ''
description = lib.mdDoc ''
Specifies text to be used in the change description if the author
leaves the "description" field blank. If default-summary is blank
(the default), the author will be required to fill in the description
@ -284,7 +284,7 @@ let
tableOfContents = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Specifies whether to print a tables of contents (with links to
sections) on each wiki page.
'';
@ -293,7 +293,7 @@ let
plugins = mkOption {
type = with types; listOf str;
default = [ (gititShared + "/plugins/Dot.hs") ];
description = ''
description = lib.mdDoc ''
Specifies a list of plugins to load. Plugins may be specified either
by their path or by their module name. If the plugin name starts
with Gitit.Plugin., gitit will assume that the plugin is an installed
@ -304,7 +304,7 @@ let
useCache = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Specifies whether to cache rendered pages. Note that if use-feed is
selected, feeds will be cached regardless of the value of use-cache.
'';
@ -313,13 +313,13 @@ let
cacheDir = mkOption {
type = types.path;
default = homeDir + "/cache";
description = "Path where rendered pages will be cached.";
description = lib.mdDoc "Path where rendered pages will be cached.";
};
maxUploadSize = mkOption {
type = types.str;
default = "1000K";
description = ''
description = lib.mdDoc ''
Specifies an upper limit on the size (in bytes) of files uploaded
through the wiki's web interface. To disable uploads, set this to
0K. This will result in the uploads link disappearing and the
@ -330,19 +330,19 @@ let
maxPageSize = mkOption {
type = types.str;
default = "1000K";
description = "Specifies an upper limit on the size (in bytes) of pages.";
description = lib.mdDoc "Specifies an upper limit on the size (in bytes) of pages.";
};
debugMode = mkOption {
type = types.bool;
default = false;
description = "Causes debug information to be logged while gitit is running.";
description = lib.mdDoc "Causes debug information to be logged while gitit is running.";
};
compressResponses = mkOption {
type = types.bool;
default = true;
description = "Specifies whether HTTP responses should be compressed.";
description = lib.mdDoc "Specifies whether HTTP responses should be compressed.";
};
mimeTypesFile = mkOption {
@ -363,7 +363,7 @@ video/x-ms-wmx wmx
useReCaptcha = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If true, causes gitit to use the reCAPTCHA service
(http://recaptcha.net) to prevent bots from creating accounts.
'';
@ -372,7 +372,7 @@ video/x-ms-wmx wmx
reCaptchaPrivateKey = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
Specifies the private key for the reCAPTCHA service. To get
these, you need to create an account at http://recaptcha.net.
'';
@ -381,7 +381,7 @@ video/x-ms-wmx wmx
reCaptchaPublicKey = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
Specifies the public key for the reCAPTCHA service. To get
these, you need to create an account at http://recaptcha.net.
'';
@ -390,7 +390,7 @@ video/x-ms-wmx wmx
accessQuestion = mkOption {
type = types.str;
default = "What is the code given to you by Ms. X?";
description = ''
description = lib.mdDoc ''
Specifies a question that users must answer when they attempt to
create an account
'';
@ -399,7 +399,7 @@ video/x-ms-wmx wmx
accessQuestionAnswers = mkOption {
type = types.str;
default = "RED DOG, red dog";
description = ''
description = lib.mdDoc ''
Specifies a question that users must answer when they attempt to
create an account, along with a comma-separated list of acceptable
answers. This can be used to institute a rudimentary password for
@ -413,7 +413,7 @@ video/x-ms-wmx wmx
rpxDomain = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
Specifies the domain and key of your RPX account. The domain is just
the prefix of the complete RPX domain, so if your full domain is
'https://foo.rpxnow.com/', use 'foo' as the value of rpx-domain.
@ -423,13 +423,13 @@ video/x-ms-wmx wmx
rpxKey = mkOption {
type = with types; nullOr str;
default = null;
description = "RPX account access key.";
description = lib.mdDoc "RPX account access key.";
};
mailCommand = mkOption {
type = types.str;
default = "sendmail %s";
description = ''
description = lib.mdDoc ''
Specifies the command to use to send notification emails. '%s' will
be replaced by the destination email address. The body of the
message will be read from stdin. If this field is left blank,
@ -451,7 +451,7 @@ video/x-ms-wmx wmx
>
> Regards
'';
description = ''
description = lib.mdDoc ''
Gives the text of the message that will be sent to the user should
she want to reset her password, or change other registration info.
The lines must be indented, and must begin with '>'. The initial
@ -471,7 +471,7 @@ video/x-ms-wmx wmx
useFeed = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Specifies whether an ATOM feed should be enabled (for the site and
for individual pages).
'';
@ -480,7 +480,7 @@ video/x-ms-wmx wmx
baseUrl = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
The base URL of the wiki, to be used in constructing feed IDs and RPX
token_urls. Set this if useFeed is false or authentication-method
is 'rpx'.
@ -502,19 +502,19 @@ video/x-ms-wmx wmx
feedDays = mkOption {
type = types.int;
default = 14;
description = "Number of days to be included in feeds.";
description = lib.mdDoc "Number of days to be included in feeds.";
};
feedRefreshTime = mkOption {
type = types.int;
default = 60;
description = "Number of minutes to cache feeds before refreshing.";
description = lib.mdDoc "Number of minutes to cache feeds before refreshing.";
};
pdfExport = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If true, PDF will appear in export options. PDF will be created using
pdflatex, which must be installed and in the path. Note that PDF
exports create significant additional server load.
@ -524,7 +524,7 @@ video/x-ms-wmx wmx
pandocUserData = mkOption {
type = with types; nullOr path;
default = null;
description = ''
description = lib.mdDoc ''
If a directory is specified, this will be searched for pandoc
customizations. These can include a templates/ directory for custom
templates for various export formats, an S5 directory for custom S5
@ -537,7 +537,7 @@ video/x-ms-wmx wmx
xssSanitize = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
If true, all HTML (including that produced by pandoc) is filtered
through xss-sanitize. Set to no only if you trust all of your users.
'';
@ -546,37 +546,37 @@ video/x-ms-wmx wmx
oauthClientId = mkOption {
type = with types; nullOr str;
default = null;
description = "OAuth client ID";
description = lib.mdDoc "OAuth client ID";
};
oauthClientSecret = mkOption {
type = with types; nullOr str;
default = null;
description = "OAuth client secret";
description = lib.mdDoc "OAuth client secret";
};
oauthCallback = mkOption {
type = with types; nullOr str;
default = null;
description = "OAuth callback URL";
description = lib.mdDoc "OAuth callback URL";
};
oauthAuthorizeEndpoint = mkOption {
type = with types; nullOr str;
default = null;
description = "OAuth authorize endpoint";
description = lib.mdDoc "OAuth authorize endpoint";
};
oauthAccessTokenEndpoint = mkOption {
type = with types; nullOr str;
default = null;
description = "OAuth access token endpoint";
description = lib.mdDoc "OAuth access token endpoint";
};
githubOrg = mkOption {
type = with types; nullOr str;
default = null;
description = "Github organization";
description = lib.mdDoc "Github organization";
};
};

View File

@ -319,11 +319,10 @@ in {
type = with types; either str (listOf str);
default = [];
example = "03:00";
description = ''
description = lib.mdDoc ''
The time(s) to run automatic backup of GitLab
state. Specified in systemd's time format; see
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -155,30 +155,29 @@ in
type = types.enum [ "other" "batch" "idle" ];
default = "other";
example = "batch";
description = ''
description = lib.mdDoc ''
Nix daemon process CPU scheduling policy. This policy propagates to
build processes. <literal>other</literal> is the default scheduling
policy for regular tasks. The <literal>batch</literal> policy is
similar to <literal>other</literal>, but optimised for
non-interactive tasks. <literal>idle</literal> is for extremely
build processes. `other` is the default scheduling
policy for regular tasks. The `batch` policy is
similar to `other`, but optimised for
non-interactive tasks. `idle` is for extremely
low-priority tasks that should only be run when no other task
requires CPU time.
Please note that while using the <literal>idle</literal> policy may
Please note that while using the `idle` policy may
greatly improve responsiveness of a system performing expensive
builds, it may also slow down and potentially starve crucial
configuration updates during load.
<literal>idle</literal> may therefore be a sensible policy for
`idle` may therefore be a sensible policy for
systems that experience only intermittent phases of high CPU load,
such as desktop or portable computers used interactively. Other
systems should use the <literal>other</literal> or
<literal>batch</literal> policy instead.
systems should use the `other` or
`batch` policy instead.
For more fine-grained resource control, please refer to
<citerefentry><refentrytitle>systemd.resource-control
</refentrytitle><manvolnum>5</manvolnum></citerefentry> and adjust
<option>systemd.services.nix-daemon</option> directly.
{manpage}`systemd.resource-control(5)` and adjust
{option}`systemd.services.nix-daemon` directly.
'';
};
@ -631,10 +630,7 @@ in
description = ''
Configuration for Nix, see
<link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> or
<citerefentry>
<refentrytitle>nix.conf</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry> for avalaible options.
<citerefentry><refentrytitle>nix.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> for avalaible options.
The value declared here will be translated directly to the key-value pairs Nix expects.
You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.nix.settings</command>

View File

@ -24,13 +24,12 @@ in
type = types.str;
default = "03:15";
example = "weekly";
description = ''
description = lib.mdDoc ''
How often or when garbage collection is performed. For most desktop and server systems
a sufficient garbage collection is once a week.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};
@ -38,12 +37,11 @@ in
default = "0";
type = types.str;
example = "45min";
description = ''
description = lib.mdDoc ''
Add a randomized delay before each garbage collection.
The delay will be chosen between zero and this value.
This value must be a time span in the format specified by
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>
{manpage}`systemd.time(7)`
'';
};

View File

@ -23,10 +23,9 @@ in
dates = mkOption {
default = ["03:45"];
type = types.listOf types.str;
description = ''
description = lib.mdDoc ''
Specification (in the format described by
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>) of the time at
{manpage}`systemd.time(7)`) of the time at
which the optimiser will run.
'';
};

View File

@ -20,24 +20,22 @@ in
snapshotInterval = mkOption {
type = types.str;
default = "hourly";
description = ''
description = lib.mdDoc ''
Snapshot interval.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};
cleanupInterval = mkOption {
type = types.str;
default = "1d";
description = ''
description = lib.mdDoc ''
Cleanup interval.
The format is described in
<citerefentry><refentrytitle>systemd.time</refentrytitle>
<manvolnum>7</manvolnum></citerefentry>.
{manpage}`systemd.time(7)`.
'';
};

View File

@ -47,33 +47,33 @@ let
})));
commonServiceSettings = srv: {
origin = mkOption {
description = "URL ${srv}.sr.ht is being served at (protocol://domain)";
description = lib.mdDoc "URL ${srv}.sr.ht is being served at (protocol://domain)";
type = types.str;
default = "https://${srv}.${domain}";
defaultText = "https://${srv}.example.com";
};
debug-host = mkOption {
description = "Address to bind the debug server to.";
description = lib.mdDoc "Address to bind the debug server to.";
type = with types; nullOr str;
default = null;
};
debug-port = mkOption {
description = "Port to bind the debug server to.";
description = lib.mdDoc "Port to bind the debug server to.";
type = with types; nullOr str;
default = null;
};
connection-string = mkOption {
description = "SQLAlchemy connection string for the database.";
description = lib.mdDoc "SQLAlchemy connection string for the database.";
type = types.str;
default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
};
migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; };
oauth-client-id = mkOption {
description = "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
type = types.str;
};
oauth-client-secret = mkOption {
description = "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
description = lib.mdDoc "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
type = types.path;
apply = s: "<" + toString s;
};
@ -117,7 +117,7 @@ in
type = with types; listOf (enum
[ "builds" "dispatch" "git" "hg" "hub" "lists" "man" "meta" "pages" "paste" "todo" ]);
defaultText = "locally enabled services";
description = ''
description = lib.mdDoc ''
Services that may be displayed as links in the title bar of the Web interface.
'';
};
@ -125,7 +125,7 @@ in
listenAddress = mkOption {
type = types.str;
default = "localhost";
description = "Address to bind to.";
description = lib.mdDoc "Address to bind to.";
};
python = mkOption {
@ -147,7 +147,7 @@ in
virtualHost = mkOption {
type = types.attrs;
default = {};
description = "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
description = lib.mdDoc "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
};
};
@ -168,48 +168,48 @@ in
freeformType = settingsFormat.type;
options."sr.ht" = {
global-domain = mkOption {
description = "Global domain name.";
description = lib.mdDoc "Global domain name.";
type = types.str;
example = "example.com";
};
environment = mkOption {
description = "Values other than \"production\" adds a banner to each page.";
description = lib.mdDoc "Values other than \"production\" adds a banner to each page.";
type = types.enum [ "development" "production" ];
default = "development";
};
network-key = mkOption {
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to a secret key to encrypt internal messages with. Use <literal>srht-keygen network</literal> to
to a secret key to encrypt internal messages with. Use `srht-keygen network` to
generate this key. It must be consistent between all services and nodes.
'';
type = types.path;
apply = s: "<" + toString s;
};
owner-email = mkOption {
description = "Owner's email.";
description = lib.mdDoc "Owner's email.";
type = types.str;
default = "contact@example.com";
};
owner-name = mkOption {
description = "Owner's name.";
description = lib.mdDoc "Owner's name.";
type = types.str;
default = "John Doe";
};
site-blurb = mkOption {
description = "Blurb for your site.";
description = lib.mdDoc "Blurb for your site.";
type = types.str;
default = "the hacker's forge";
};
site-info = mkOption {
description = "The top-level info page for your site.";
description = lib.mdDoc "The top-level info page for your site.";
type = types.str;
default = "https://sourcehut.org";
};
service-key = mkOption {
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to a key used for encrypting session cookies. Use <literal>srht-keygen service</literal> to
to a key used for encrypting session cookies. Use `srht-keygen service` to
generate the service key. This must be shared between each node of the same
service (e.g. git1.sr.ht and git2.sr.ht), but different services may use
different keys. If you configure all of your services with the same
@ -219,12 +219,12 @@ in
apply = s: "<" + toString s;
};
site-name = mkOption {
description = "The name of your network of sr.ht-based sites.";
description = lib.mdDoc "The name of your network of sr.ht-based sites.";
type = types.str;
default = "sourcehut";
};
source-url = mkOption {
description = "The source code for your fork of sr.ht.";
description = lib.mdDoc "The source code for your fork of sr.ht.";
type = types.str;
default = "https://git.sr.ht/~sircmpwn/srht";
};
@ -232,7 +232,7 @@ in
options.mail = {
smtp-host = mkOptionNullOrStr "Outgoing SMTP host.";
smtp-port = mkOption {
description = "Outgoing SMTP port.";
description = lib.mdDoc "Outgoing SMTP port.";
type = with types; nullOr port;
default = null;
};
@ -240,44 +240,44 @@ in
smtp-password = mkOptionNullOrStr "Outgoing SMTP password.";
smtp-from = mkOption {
type = types.str;
description = "Outgoing SMTP FROM.";
description = lib.mdDoc "Outgoing SMTP FROM.";
};
error-to = mkOptionNullOrStr "Address receiving application exceptions";
error-from = mkOptionNullOrStr "Address sending application exceptions";
pgp-privkey = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to an OpenPGP private key.
Your PGP key information (DO NOT mix up pub and priv here)
You must remove the password from your secret key, if present.
You can do this with <literal>gpg --edit-key [key-id]</literal>,
then use the <literal>passwd</literal> command and do not enter a new password.
You can do this with `gpg --edit-key [key-id]`,
then use the `passwd` command and do not enter a new password.
'';
};
pgp-pubkey = mkOption {
type = with types; either path str;
description = "OpenPGP public key.";
description = lib.mdDoc "OpenPGP public key.";
};
pgp-key-id = mkOption {
type = types.str;
description = "OpenPGP key identifier.";
description = lib.mdDoc "OpenPGP key identifier.";
};
};
options.objects = {
s3-upstream = mkOption {
description = "Configure the S3-compatible object storage service.";
description = lib.mdDoc "Configure the S3-compatible object storage service.";
type = with types; nullOr str;
default = null;
};
s3-access-key = mkOption {
description = "Access key to the S3-compatible object storage service";
description = lib.mdDoc "Access key to the S3-compatible object storage service";
type = with types; nullOr str;
default = null;
};
s3-secret-key = mkOption {
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to the secret key of the S3-compatible object storage service.
'';
@ -288,13 +288,13 @@ in
};
options.webhooks = {
private-key = mkOption {
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to a base64-encoded Ed25519 key for signing webhook payloads.
This should be consistent for all *.sr.ht sites,
as this key will be used to verify signatures
from other sites in your network.
Use the <literal>srht-keygen webhook</literal> command to generate a key.
Use the `srht-keygen webhook` command to generate a key.
'';
type = types.path;
apply = s: "<" + toString s;
@ -311,17 +311,17 @@ in
enabled = mkEnableOption "GitLab integration";
canonical-upstream = mkOption {
type = types.str;
description = "Canonical upstream.";
description = lib.mdDoc "Canonical upstream.";
default = "gitlab.com";
};
repo-cache = mkOption {
type = types.str;
description = "Repository cache directory.";
description = lib.mdDoc "Repository cache directory.";
default = "./repo-cache";
};
"gitlab.com" = mkOption {
type = with types; nullOr str;
description = "GitLab id and secret.";
description = lib.mdDoc "GitLab id and secret.";
default = null;
example = "GitLab:application id:secret";
};
@ -330,17 +330,17 @@ in
options."builds.sr.ht" = commonServiceSettings "builds" // {
allow-free = mkEnableOption "nonpaying users to submit builds";
redis = mkOption {
description = "The Redis connection used for the Celery worker.";
description = lib.mdDoc "The Redis connection used for the Celery worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-buildsrht/redis.sock?virtual_host=2";
};
shell = mkOption {
description = ''
description = lib.mdDoc ''
Scripts used to launch on SSH connection.
<literal>/usr/bin/master-shell</literal> on master,
<literal>/usr/bin/runner-shell</literal> on runner.
`/usr/bin/master-shell` on master,
`/usr/bin/runner-shell` on runner.
If master and worker are on the same system
set to <literal>/usr/bin/runner-shell</literal>.
set to `/usr/bin/runner-shell`.
'';
type = types.enum ["/usr/bin/master-shell" "/usr/bin/runner-shell"];
default = "/usr/bin/master-shell";
@ -348,19 +348,19 @@ in
};
options."builds.sr.ht::worker" = {
bind-address = mkOption {
description = ''
description = lib.mdDoc ''
HTTP bind address for serving local build information/monitoring.
'';
type = types.str;
default = "localhost:8080";
};
buildlogs = mkOption {
description = "Path to write build logs.";
description = lib.mdDoc "Path to write build logs.";
type = types.str;
default = "/var/log/sourcehut/buildsrht-worker";
};
name = mkOption {
description = ''
description = lib.mdDoc ''
Listening address and listening port
of the build runner (with HTTP port if not 80).
'';
@ -368,9 +368,9 @@ in
default = "localhost:5020";
};
timeout = mkOption {
description = ''
description = lib.mdDoc ''
Max build duration.
See <link xlink:href="https://golang.org/pkg/time/#ParseDuration"/>.
See <https://golang.org/pkg/time/#ParseDuration>.
'';
type = types.str;
default = "3m";
@ -379,12 +379,12 @@ in
options."git.sr.ht" = commonServiceSettings "git" // {
outgoing-domain = mkOption {
description = "Outgoing domain.";
description = lib.mdDoc "Outgoing domain.";
type = types.str;
default = "https://git.localhost.localdomain";
};
post-update-script = mkOption {
description = ''
description = lib.mdDoc ''
A post-update script which is installed in every git repo.
This setting is propagated to newer and existing repositories.
'';
@ -393,7 +393,7 @@ in
defaultText = "\${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook";
};
repos = mkOption {
description = ''
description = lib.mdDoc ''
Path to git repositories on disk.
If changing the default, you must ensure that
the gitsrht's user as read and write access to it.
@ -402,18 +402,18 @@ in
default = "/var/lib/sourcehut/gitsrht/repos";
};
webhooks = mkOption {
description = "The Redis connection used for the webhooks worker.";
description = lib.mdDoc "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-gitsrht/redis.sock?virtual_host=1";
};
};
options."git.sr.ht::api" = {
internal-ipnet = mkOption {
description = ''
description = lib.mdDoc ''
Set of IP subnets which are permitted to utilize internal API
authentication. This should be limited to the subnets
from which your *.sr.ht services are running.
See <xref linkend="opt-services.sourcehut.listenAddress"/>.
See [](#opt-services.sourcehut.listenAddress).
'';
type = with types; listOf str;
default = [ "127.0.0.0/8" "::1/128" ];
@ -422,7 +422,7 @@ in
options."hg.sr.ht" = commonServiceSettings "hg" // {
changegroup-script = mkOption {
description = ''
description = lib.mdDoc ''
A changegroup script which is installed in every mercurial repo.
This setting is propagated to newer and existing repositories.
'';
@ -431,7 +431,7 @@ in
defaultText = "\${cfg.python}/bin/hgsrht-hook-changegroup";
};
repos = mkOption {
description = ''
description = lib.mdDoc ''
Path to mercurial repositories on disk.
If changing the default, you must ensure that
the hgsrht's user as read and write access to it.
@ -444,18 +444,18 @@ in
(defaults to where the hgsrht code is)
'';
clone_bundle_threshold = mkOption {
description = ".hg/store size (in MB) past which the nightly job generates clone bundles.";
description = lib.mdDoc ".hg/store size (in MB) past which the nightly job generates clone bundles.";
type = types.ints.unsigned;
default = 50;
};
hg_ssh = mkOption {
description = "Path to hg-ssh (if not in $PATH).";
description = lib.mdDoc "Path to hg-ssh (if not in $PATH).";
type = types.str;
default = "${pkgs.mercurial}/bin/hg-ssh";
defaultText = "\${pkgs.mercurial}/bin/hg-ssh";
};
webhooks = mkOption {
description = "The Redis connection used for the webhooks worker.";
description = lib.mdDoc "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-hgsrht/redis.sock?virtual_host=1";
};
@ -467,29 +467,29 @@ in
options."lists.sr.ht" = commonServiceSettings "lists" // {
allow-new-lists = mkEnableOption "Allow creation of new lists.";
notify-from = mkOption {
description = "Outgoing email for notifications generated by users.";
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
default = "lists-notify@localhost.localdomain";
};
posting-domain = mkOption {
description = "Posting domain.";
description = lib.mdDoc "Posting domain.";
type = types.str;
default = "lists.localhost.localdomain";
};
redis = mkOption {
description = "The Redis connection used for the Celery worker.";
description = lib.mdDoc "The Redis connection used for the Celery worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=2";
};
webhooks = mkOption {
description = "The Redis connection used for the webhooks worker.";
description = lib.mdDoc "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-listssrht/redis.sock?virtual_host=1";
};
};
options."lists.sr.ht::worker" = {
reject-mimetypes = mkOption {
description = ''
description = lib.mdDoc ''
Comma-delimited list of Content-Types to reject. Messages with Content-Types
included in this list are rejected. Multipart messages are always supported,
and each part is checked against this list.
@ -500,12 +500,12 @@ in
default = ["text/html"];
};
reject-url = mkOption {
description = "Reject URL.";
description = lib.mdDoc "Reject URL.";
type = types.str;
default = "https://man.sr.ht/lists.sr.ht/etiquette.md";
};
sock = mkOption {
description = ''
description = lib.mdDoc ''
Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
Alternatively, specify IP:PORT and an SMTP server will be run instead.
'';
@ -513,7 +513,7 @@ in
default = "/tmp/lists.sr.ht-lmtp.sock";
};
sock-group = mkOption {
description = ''
description = lib.mdDoc ''
The lmtp daemon will make the unix socket group-read/write
for users in this group.
'';
@ -529,13 +529,13 @@ in
removeAttrs (commonServiceSettings "meta")
["oauth-client-id" "oauth-client-secret"] // {
api-origin = mkOption {
description = "Origin URL for API, 100 more than web.";
description = lib.mdDoc "Origin URL for API, 100 more than web.";
type = types.str;
default = "http://${cfg.listenAddress}:${toString (cfg.meta.port + 100)}";
defaultText = ''http://<xref linkend="opt-services.sourcehut.listenAddress"/>:''${toString (<xref linkend="opt-services.sourcehut.meta.port"/> + 100)}'';
};
webhooks = mkOption {
description = "The Redis connection used for the webhooks worker.";
description = lib.mdDoc "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
};
@ -543,18 +543,18 @@ in
};
options."meta.sr.ht::api" = {
internal-ipnet = mkOption {
description = ''
description = lib.mdDoc ''
Set of IP subnets which are permitted to utilize internal API
authentication. This should be limited to the subnets
from which your *.sr.ht services are running.
See <xref linkend="opt-services.sourcehut.listenAddress"/>.
See [](#opt-services.sourcehut.listenAddress).
'';
type = with types; listOf str;
default = [ "127.0.0.0/8" "::1/128" ];
};
};
options."meta.sr.ht::aliases" = mkOption {
description = "Aliases for the client IDs of commonly used OAuth clients.";
description = lib.mdDoc "Aliases for the client IDs of commonly used OAuth clients.";
type = with types; attrsOf int;
default = {};
example = { "git.sr.ht" = 12345; };
@ -572,12 +572,12 @@ in
options."meta.sr.ht::settings" = {
registration = mkEnableOption "public registration";
onboarding-redirect = mkOption {
description = "Where to redirect new users upon registration.";
description = lib.mdDoc "Where to redirect new users upon registration.";
type = types.str;
default = "https://meta.localhost.localdomain";
};
user-invites = mkOption {
description = ''
description = lib.mdDoc ''
How many invites each user is issued upon registration
(only applicable if open registration is disabled).
'';
@ -588,7 +588,7 @@ in
options."pages.sr.ht" = commonServiceSettings "pages" // {
gemini-certs = mkOption {
description = ''
description = lib.mdDoc ''
An absolute file path (which should be outside the Nix-store)
to Gemini certificates.
'';
@ -596,7 +596,7 @@ in
default = null;
};
max-site-size = mkOption {
description = "Maximum size of any given site (post-gunzip), in MiB.";
description = lib.mdDoc "Maximum size of any given site (post-gunzip), in MiB.";
type = types.int;
default = 1024;
};
@ -611,11 +611,11 @@ in
};
options."pages.sr.ht::api" = {
internal-ipnet = mkOption {
description = ''
description = lib.mdDoc ''
Set of IP subnets which are permitted to utilize internal API
authentication. This should be limited to the subnets
from which your *.sr.ht services are running.
See <xref linkend="opt-services.sourcehut.listenAddress"/>.
See [](#opt-services.sourcehut.listenAddress).
'';
type = with types; listOf str;
default = [ "127.0.0.0/8" "::1/128" ];
@ -627,24 +627,24 @@ in
options."todo.sr.ht" = commonServiceSettings "todo" // {
notify-from = mkOption {
description = "Outgoing email for notifications generated by users.";
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
default = "todo-notify@localhost.localdomain";
};
webhooks = mkOption {
description = "The Redis connection used for the webhooks worker.";
description = lib.mdDoc "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-todosrht/redis.sock?virtual_host=1";
};
};
options."todo.sr.ht::mail" = {
posting-domain = mkOption {
description = "Posting domain.";
description = lib.mdDoc "Posting domain.";
type = types.str;
default = "todo.localhost.localdomain";
};
sock = mkOption {
description = ''
description = lib.mdDoc ''
Path for the lmtp daemon's unix socket. Direct incoming mail to this socket.
Alternatively, specify IP:PORT and an SMTP server will be run instead.
'';
@ -652,7 +652,7 @@ in
default = "/tmp/todo.sr.ht-lmtp.sock";
};
sock-group = mkOption {
description = ''
description = lib.mdDoc ''
The lmtp daemon will make the unix socket group-read/write
for users in this group.
'';
@ -662,7 +662,7 @@ in
};
};
default = { };
description = ''
description = lib.mdDoc ''
The configuration for the sourcehut network.
'';
};
@ -698,7 +698,7 @@ in
nixos.unstable.x86_64 = image_from_nixpkgs;
}
)'';
description = ''
description = lib.mdDoc ''
Images for builds.sr.ht. Each package should be distro.release.arch and point to a /nix/store/package/root.img.qcow2.
'';
};
@ -710,12 +710,12 @@ in
default = pkgs.git;
defaultText = literalExpression "pkgs.git";
example = literalExpression "pkgs.gitFull";
description = ''
description = lib.mdDoc ''
Git package for git.sr.ht. This can help silence collisions.
'';
};
fcgiwrap.preforkProcess = mkOption {
description = "Number of fcgiwrap processes to prefork.";
description = lib.mdDoc "Number of fcgiwrap processes to prefork.";
type = types.int;
default = 4;
};
@ -726,14 +726,14 @@ in
type = types.package;
default = pkgs.mercurial;
defaultText = literalExpression "pkgs.mercurial";
description = ''
description = lib.mdDoc ''
Mercurial package for hg.sr.ht. This can help silence collisions.
'';
};
cloneBundles = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Generate clonebundles (which require more disk space but dramatically speed up cloning large repositories).
'';
};
@ -744,12 +744,12 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ];
description = "Extra arguments passed to the Celery responsible for processing mails.";
description = lib.mdDoc "Extra arguments passed to the Celery responsible for processing mails.";
};
celeryConfig = mkOption {
type = types.lines;
default = "";
description = "Content of the <literal>celeryconfig.py</literal> used by the Celery of <literal>listssrht-process</literal>.";
description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery of `listssrht-process`.";
};
};
};

View File

@ -122,7 +122,7 @@ in
user = mkOption {
type = types.str;
default = srvsrht;
description = ''
description = lib.mdDoc ''
User for ${srv}.sr.ht.
'';
};
@ -130,7 +130,7 @@ in
group = mkOption {
type = types.str;
default = srvsrht;
description = ''
description = lib.mdDoc ''
Group for ${srv}.sr.ht.
Membership grants access to the Git/Mercurial repositories by default,
but not to the config.ini file (where secrets are).
@ -140,7 +140,7 @@ in
port = mkOption {
type = types.port;
default = port;
description = ''
description = lib.mdDoc ''
Port on which the "${srv}" backend should listen.
'';
};
@ -150,7 +150,7 @@ in
type = types.str;
default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0";
example = "redis://shared.wireguard:6379/0";
description = ''
description = lib.mdDoc ''
The redis host URL. This is used for caching and temporary storage, and must
be shared between nodes (e.g. git1.sr.ht and git2.sr.ht), but need not be
shared between services. It may be shared between services, however, with no
@ -163,9 +163,9 @@ in
database = mkOption {
type = types.str;
default = "${srv}.sr.ht";
description = ''
description = lib.mdDoc ''
PostgreSQL database name for the ${srv}.sr.ht service,
used if <xref linkend="opt-services.sourcehut.postgresql.enable"/> is <literal>true</literal>.
used if [](#opt-services.sourcehut.postgresql.enable) is `true`.
'';
};
};
@ -174,7 +174,7 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = ["--timeout 120" "--workers 1" "--log-level=info"];
description = "Extra arguments passed to Gunicorn.";
description = lib.mdDoc "Extra arguments passed to Gunicorn.";
};
};
} // optionalAttrs webhooks {
@ -182,12 +182,12 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = ["--loglevel DEBUG" "--pool eventlet" "--without-heartbeat"];
description = "Extra arguments passed to the Celery responsible for webhooks.";
description = lib.mdDoc "Extra arguments passed to the Celery responsible for webhooks.";
};
celeryConfig = mkOption {
type = types.lines;
default = "";
description = "Content of the <literal>celeryconfig.py</literal> used by the Celery responsible for webhooks.";
description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery responsible for webhooks.";
};
};
};

View File

@ -227,11 +227,8 @@ in {
queueSize = mkOption {
type = types.int;
default = 10;
description = ''
Size of the connection backlog, see <citerefentry>
<refentrytitle>listen</refentrytitle>
<manvolnum>2</manvolnum>
</citerefentry>.
description = lib.mdDoc ''
Size of the connection backlog, see {manpage}`listen(2)`.
'';
};
@ -324,18 +321,16 @@ in {
config = mkOption {
type = types.attrs;
example.client.cert = "/tmp/debugging.cert";
description = ''
description = lib.mdDoc ''
Configuration options to pass to Taskserver.
The options here are the same as described in <citerefentry>
<refentrytitle>taskdrc</refentrytitle>
<manvolnum>5</manvolnum>
</citerefentry>, but with one difference:
The options here are the same as described in
{manpage}`taskdrc(5)`, but with one difference:
The <literal>server</literal> option is
<literal>server.listen</literal> here, because the
<literal>server</literal> option would collide with other options
like <literal>server.cert</literal> and we would run in a type error
The `server` option is
`server.listen` here, because the
`server` option would collide with other options
like `server.cert` and we would run in a type error
(attribute set versus string).
Nix types like integers or booleans are automatically converted to

View File

@ -125,14 +125,14 @@ in
debug_file = "/var/log/nagios/debug.log";
};
default = {};
description = "Configuration to add to /etc/nagios.cfg";
description = lib.mdDoc "Configuration to add to /etc/nagios.cfg";
};
validateConfig = mkOption {
type = types.bool;
default = pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform;
defaultText = literalExpression "pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform";
description = "if true, the syntax of the nagios configuration file is checked at build time";
description = lib.mdDoc "if true, the syntax of the nagios configuration file is checked at build time";
};
cgiConfigFile = mkOption {
@ -164,9 +164,9 @@ in
sslServerKey = "/var/lib/acme/example.org/key.pem";
}
'';
description = ''
Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
description = lib.mdDoc ''
Apache configuration can be done by adapting {option}`services.httpd.virtualHosts`.
See [](#opt-services.httpd.virtualHosts) for further information.
'';
};
};

View File

@ -84,28 +84,28 @@ let
port = mkOption {
type = types.port;
default = port;
description = ''
description = lib.mdDoc ''
Port to listen on.
'';
};
listenAddress = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
description = lib.mdDoc ''
Address to listen on.
'';
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
Extra commandline options to pass to the ${name} exporter.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Open port in firewall for incoming connections.
'';
};
@ -124,14 +124,14 @@ let
user = mkOption {
type = types.str;
default = "${name}-exporter";
description = ''
description = lib.mdDoc ''
User name under which the ${name} exporter shall be run.
'';
};
group = mkOption {
type = types.str;
default = "${name}-exporter";
description = ''
description = lib.mdDoc ''
Group under which the ${name} exporter shall be run.
'';
};
@ -227,7 +227,7 @@ in
type = types.submodule {
options = (mkSubModules);
};
description = "Prometheus exporter configuration";
description = lib.mdDoc "Prometheus exporter configuration";
default = {};
example = literalExpression ''
{

View File

@ -11,7 +11,7 @@ in
apcupsdAddress = mkOption {
type = types.str;
default = ":3551";
description = ''
description = lib.mdDoc ''
Address of the apcupsd Network Information Server (NIS).
'';
};
@ -19,7 +19,7 @@ in
apcupsdNetwork = mkOption {
type = types.enum ["tcp" "tcp4" "tcp6"];
default = "tcp";
description = ''
description = lib.mdDoc ''
Network of the apcupsd Network Information Server (NIS): one of "tcp", "tcp4", or "tcp6".
'';
};

View File

@ -11,14 +11,14 @@ in
scrapeUri = mkOption {
type = types.str;
default = "http://localhost:8081/artifactory";
description = ''
description = lib.mdDoc ''
URI on which to scrape JFrog Artifactory.
'';
};
artiUsername = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Username for authentication against JFrog Artifactory API.
'';
};
@ -26,7 +26,7 @@ in
artiPassword = mkOption {
type = types.str;
default = "";
description = ''
description = lib.mdDoc ''
Password for authentication against JFrog Artifactory API.
One of the password or access token needs to be set.
'';
@ -35,7 +35,7 @@ in
artiAccessToken = mkOption {
type = types.str;
default = "";
description = ''
description = lib.mdDoc ''
Access token for authentication against JFrog Artifactory API.
One of the password or access token needs to be set.
'';

View File

@ -11,28 +11,28 @@ in
bindURI = mkOption {
type = types.str;
default = "http://localhost:8053/";
description = ''
description = lib.mdDoc ''
HTTP XML API address of an Bind server.
'';
};
bindTimeout = mkOption {
type = types.str;
default = "10s";
description = ''
description = lib.mdDoc ''
Timeout for trying to get stats from Bind.
'';
};
bindVersion = mkOption {
type = types.enum [ "xml.v2" "xml.v3" "auto" ];
default = "auto";
description = ''
description = lib.mdDoc ''
BIND statistics version. Can be detected automatically.
'';
};
bindGroups = mkOption {
type = types.listOf (types.enum [ "server" "view" "tasks" ]);
default = [ "server" "view" ];
description = ''
description = lib.mdDoc ''
List of statistics to collect. Available: [server, view, tasks]
'';
};

View File

@ -11,21 +11,21 @@ in
birdVersion = mkOption {
type = types.enum [ 1 2 ];
default = 2;
description = ''
description = lib.mdDoc ''
Specifies whether BIRD1 or BIRD2 is in use.
'';
};
birdSocket = mkOption {
type = types.path;
default = "/run/bird/bird.ctl";
description = ''
description = lib.mdDoc ''
Path to BIRD2 (or BIRD1 v4) socket.
'';
};
newMetricFormat = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Enable the new more-generic metric format.
'';
};

View File

@ -11,14 +11,14 @@ in
rpcUser = mkOption {
type = types.str;
default = "bitcoinrpc";
description = ''
description = lib.mdDoc ''
RPC user name.
'';
};
rpcPasswordFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
File containing RPC password.
'';
};
@ -26,7 +26,7 @@ in
rpcScheme = mkOption {
type = types.enum [ "http" "https" ];
default = "http";
description = ''
description = lib.mdDoc ''
Whether to connect to bitcoind over http or https.
'';
};
@ -34,7 +34,7 @@ in
rpcHost = mkOption {
type = types.str;
default = "localhost";
description = ''
description = lib.mdDoc ''
RPC host.
'';
};
@ -42,7 +42,7 @@ in
rpcPort = mkOption {
type = types.port;
default = 8332;
description = ''
description = lib.mdDoc ''
RPC port number.
'';
};
@ -50,7 +50,7 @@ in
refreshSeconds = mkOption {
type = types.ints.unsigned;
default = 300;
description = ''
description = lib.mdDoc ''
How often to ask bitcoind for metrics.
'';
};
@ -58,7 +58,7 @@ in
extraEnv = mkOption {
type = types.attrsOf types.str;
default = {};
description = ''
description = lib.mdDoc ''
Extra environment variables for the exporter.
'';
};

View File

@ -35,14 +35,14 @@ in {
extraOpts = {
configFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Path to configuration file.
'';
};
enableConfigCheck = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to run a correctness check for the configuration file. This depends
on the configuration file residing in the nix-store. Paths passed as string will
be copied to the store.

View File

@ -11,7 +11,7 @@ in
tokenPath = mkOption {
type = types.nullOr types.path;
apply = final: if final == null then null else toString final;
description = ''
description = lib.mdDoc ''
The token from your Buildkite "Agents" page.
A run-time path to the token file, which is supposed to be provisioned
@ -22,14 +22,14 @@ in
type = types.str;
default = "30s";
example = "1min";
description = ''
description = lib.mdDoc ''
How often to update metrics.
'';
};
endpoint = mkOption {
type = types.str;
default = "https://agent.buildkite.com/v3";
description = ''
description = lib.mdDoc ''
The Buildkite Agent API endpoint.
'';
};
@ -37,7 +37,7 @@ in
type = with types; nullOr (listOf str);
default = null;
example = literalExpression ''[ "my-queue1" "my-queue2" ]'';
description = ''
description = lib.mdDoc ''
Which specific queues to process.
'';
};

View File

@ -14,19 +14,19 @@ in
authFile = mkOption {
default = null;
type = types.nullOr types.path;
description = "File mapping user names to pre-shared keys (passwords).";
description = lib.mdDoc "File mapping user names to pre-shared keys (passwords).";
};
port = mkOption {
type = types.int;
default = 25826;
description = "Network address on which to accept collectd binary network packets.";
description = lib.mdDoc "Network address on which to accept collectd binary network packets.";
};
listenAddress = mkOption {
type = types.str;
default = "0.0.0.0";
description = ''
description = lib.mdDoc ''
Address to listen on for binary network packets.
'';
};
@ -34,7 +34,7 @@ in
securityLevel = mkOption {
type = types.enum ["None" "Sign" "Encrypt"];
default = "None";
description = ''
description = lib.mdDoc ''
Minimum required security level for accepted packets.
'';
};
@ -44,7 +44,7 @@ in
type = types.enum [ "logfmt" "json" ];
default = "logfmt";
example = "json";
description = ''
description = lib.mdDoc ''
Set the log format.
'';
};
@ -52,7 +52,7 @@ in
logLevel = mkOption {
type = types.enum ["debug" "info" "warn" "error" "fatal"];
default = "info";
description = ''
description = lib.mdDoc ''
Only log messages with the given severity or above.
'';
};

View File

@ -24,28 +24,28 @@ in {
host = mkOption {
type = types.str;
default = "localhost";
description = ''
description = lib.mdDoc ''
Hostname of IMAP server to connect to.
'';
};
port = mkOption {
type = types.port;
default = 993;
description = ''
description = lib.mdDoc ''
Port of the IMAP server to connect to.
'';
};
username = mkOption {
type = types.str;
example = "postmaster@example.org";
description = ''
description = lib.mdDoc ''
Login username for the IMAP connection.
'';
};
passwordFile = mkOption {
type = types.str;
example = "/run/secrets/dovecot_pw";
description = ''
description = lib.mdDoc ''
File containing the login password for the IMAP connection.
'';
};
@ -54,21 +54,21 @@ in {
inbox = mkOption {
type = types.str;
default = "INBOX";
description = ''
description = lib.mdDoc ''
IMAP mailbox that is checked for incoming DMARC aggregate reports
'';
};
done = mkOption {
type = types.str;
default = "Archive";
description = ''
description = lib.mdDoc ''
IMAP mailbox that successfully processed reports are moved to.
'';
};
error = mkOption {
type = types.str;
default = "Invalid";
description = ''
description = lib.mdDoc ''
IMAP mailbox that emails are moved to that could not be processed.
'';
};
@ -76,7 +76,7 @@ in {
pollIntervalSeconds = mkOption {
type = types.ints.unsigned;
default = 60;
description = ''
description = lib.mdDoc ''
How often to poll the IMAP server in seconds.
'';
};
@ -84,7 +84,7 @@ in {
type = types.ints.unsigned;
default = 604800;
defaultText = "7 days (in seconds)";
description = ''
description = lib.mdDoc ''
How long individual report IDs will be remembered to avoid
counting double delivered reports twice.
'';
@ -92,8 +92,8 @@ in {
debug = mkOption {
type = types.bool;
default = false;
description = ''
Whether to declare enable <literal>--debug</literal>.
description = lib.mdDoc ''
Whether to declare enable `--debug`.
'';
};
};

View File

@ -11,7 +11,7 @@ in
dnsmasqListenAddress = mkOption {
type = types.str;
default = "localhost:53";
description = ''
description = lib.mdDoc ''
Address on which dnsmasq listens.
'';
};
@ -19,8 +19,8 @@ in
type = types.path;
default = "/var/lib/misc/dnsmasq.leases";
example = "/var/lib/dnsmasq/dnsmasq.leases";
description = ''
Path to the <literal>dnsmasq.leases</literal> file.
description = lib.mdDoc ''
Path to the `dnsmasq.leases` file.
'';
};
};

View File

@ -11,7 +11,7 @@ in
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
@ -67,7 +67,7 @@ in
type = types.listOf types.str;
default = [ "user" ];
example = [ "user" "global" ];
description = ''
description = lib.mdDoc ''
Stats scopes to query.
'';
};

View File

@ -12,9 +12,9 @@ in
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Path to a fastly-exporter configuration file.
Example one can be generated with <literal>fastly-exporter --config-file-example</literal>.
Example one can be generated with `fastly-exporter --config-file-example`.
'';
example = "./fastly-exporter-config.txt";
};
@ -22,7 +22,7 @@ in
tokenPath = mkOption {
type = types.nullOr types.path;
apply = final: if final == null then null else toString final;
description = ''
description = lib.mdDoc ''
A run-time path to the token file, which is supposed to be provisioned
outside of Nix store.
'';

View File

@ -10,19 +10,19 @@ in {
brokers = mkOption {
type = types.listOf types.str;
example = literalExpression ''[ "kafka.example.org:19092" ]'';
description = "List of Kafka brokers to connect to.";
description = lib.mdDoc "List of Kafka brokers to connect to.";
};
asn = mkOption {
type = types.ints.positive;
example = 65542;
description = "The ASN being monitored.";
description = lib.mdDoc "The ASN being monitored.";
};
partitions = mkOption {
type = types.listOf types.int;
default = [];
description = ''
description = lib.mdDoc ''
The number of the partitions to consume, none means all.
'';
};
@ -30,7 +30,7 @@ in {
topic = mkOption {
type = types.str;
example = "pmacct.acct";
description = "The Kafka topic to consume from.";
description = lib.mdDoc "The Kafka topic to consume from.";
};
};

View File

@ -11,7 +11,7 @@ in
gatewayAddress = mkOption {
type = types.str;
default = "fritz.box";
description = ''
description = lib.mdDoc ''
The hostname or IP of the FRITZ!Box.
'';
};
@ -19,7 +19,7 @@ in
gatewayPort = mkOption {
type = types.int;
default = 49000;
description = ''
description = lib.mdDoc ''
The port of the FRITZ!Box UPnP service.
'';
};

View File

@ -12,13 +12,13 @@ in
type = types.str;
default = "5m";
example = "10m";
description = "How long a sample is valid for";
description = lib.mdDoc "How long a sample is valid for";
};
udpBindAddress = mkOption {
type = types.str;
default = ":9122";
example = "192.0.2.1:9122";
description = "Address on which to listen for udp packets";
description = lib.mdDoc "Address on which to listen for udp packets";
};
};
serviceOpts = {

View File

@ -11,7 +11,7 @@ in
url = mkOption {
type = types.str;
default = "http://localhost:8080/colibri/stats";
description = ''
description = lib.mdDoc ''
Jitsi Videobridge metrics URL to monitor.
This is usually /colibri/stats on port 8080 of the jitsi videobridge host.
'';
@ -20,7 +20,7 @@ in
type = types.str;
default = "30s";
example = "1min";
description = ''
description = lib.mdDoc ''
How often to scrape new data
'';
};

View File

@ -10,7 +10,7 @@ in
extraOpts = {
configFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Path to configuration file.
'';
};

View File

@ -19,7 +19,7 @@ in {
"/run/kea/kea-dhcp6.socket"
]
'';
description = ''
description = lib.mdDoc ''
Paths to kea control sockets
'';
};

View File

@ -19,16 +19,15 @@ in {
knotSocketPath = mkOption {
type = types.str;
default = "/run/knot/knot.sock";
description = ''
Socket path of <citerefentry><refentrytitle>knotd</refentrytitle>
<manvolnum>8</manvolnum></citerefentry>.
description = lib.mdDoc ''
Socket path of {manpage}`knotd(8)`.
'';
};
knotSocketTimeout = mkOption {
type = types.int;
default = 2000;
description = ''
description = lib.mdDoc ''
Timeout in seconds.
'';
};

View File

@ -11,21 +11,21 @@ in
lndHost = mkOption {
type = types.str;
default = "localhost:10009";
description = ''
description = lib.mdDoc ''
lnd instance gRPC address:port.
'';
};
lndTlsPath = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Path to lnd TLS certificate.
'';
};
lndMacaroonDir = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Path to lnd macaroons.
'';
};

View File

@ -22,41 +22,41 @@ let
serverOptions.options = {
name = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Value for label 'configname' which will be added to all metrics.
'';
};
server = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Hostname of the server that should be probed.
'';
};
port = mkOption {
type = types.int;
example = 587;
description = ''
description = lib.mdDoc ''
Port to use for SMTP.
'';
};
from = mkOption {
type = types.str;
example = "exporteruser@domain.tld";
description = ''
description = lib.mdDoc ''
Content of 'From' Header for probing mails.
'';
};
to = mkOption {
type = types.str;
example = "exporteruser@domain.tld";
description = ''
description = lib.mdDoc ''
Content of 'To' Header for probing mails.
'';
};
detectionDir = mkOption {
type = types.path;
example = "/var/spool/mail/exporteruser/new";
description = ''
description = lib.mdDoc ''
Directory in which new mails for the exporter user are placed.
Note that this needs to exist when the exporter starts.
'';
@ -65,14 +65,14 @@ let
type = types.nullOr types.str;
default = null;
example = "exporteruser@domain.tld";
description = ''
description = lib.mdDoc ''
Username to use for SMTP authentication.
'';
};
passphrase = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
Password to use for SMTP authentication.
'';
};
@ -82,20 +82,20 @@ let
monitoringInterval = mkOption {
type = types.str;
example = "10s";
description = ''
description = lib.mdDoc ''
Time interval between two probe attempts.
'';
};
mailCheckTimeout = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Timeout until mails are considered "didn't make it".
'';
};
disableFileDeletion = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Disables the exporter's function to delete probing mails.
'';
};
@ -115,8 +115,7 @@ let
description = ''
List of servers that should be probed.
<emphasis>Note:</emphasis> if your mailserver has <citerefentry>
<refentrytitle>rspamd</refentrytitle><manvolnum>8</manvolnum></citerefentry> configured,
<emphasis>Note:</emphasis> if your mailserver has <citerefentry><refentrytitle>rspamd</refentrytitle><manvolnum>8</manvolnum></citerefentry> configured,
it can happen that emails from this exporter are marked as spam.
It's possible to work around the issue with a config like this:
@ -142,28 +141,28 @@ in
environmentFile = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
File containing env-vars to be substituted into the exporter's config.
'';
};
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Specify the mailexporter configuration file to use.
'';
};
configuration = mkOption {
type = types.nullOr (types.submodule exporterOptions);
default = null;
description = ''
description = lib.mdDoc ''
Specify the mailexporter configuration file to use.
'';
};
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};

View File

@ -11,9 +11,9 @@ in
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Path to a mikrotik exporter configuration file. Mutually exclusive with
<option>configuration</option> option.
{option}`configuration` option.
'';
example = literalExpression "./mikrotik.yml";
};
@ -21,11 +21,11 @@ in
configuration = mkOption {
type = types.nullOr types.attrs;
default = null;
description = ''
description = lib.mdDoc ''
Mikrotik exporter configuration as nix attribute set. Mutually exclusive with
<option>configFile</option> option.
{option}`configFile` option.
See <link xlink:href="https://github.com/nshttpd/mikrotik-exporter/blob/master/README.md"/>
See <https://github.com/nshttpd/mikrotik-exporter/blob/master/README.md>
for the description of the configuration file format.
'';
example = literalExpression ''

View File

@ -11,7 +11,7 @@ in
minioAddress = mkOption {
type = types.str;
example = "https://10.0.0.1:9000";
description = ''
description = lib.mdDoc ''
The URL of the minio server.
Use HTTPS if Minio accepts secure connections only.
By default this connects to the local minio server if enabled.
@ -21,28 +21,28 @@ in
minioAccessKey = mkOption {
type = types.str;
example = "yourMinioAccessKey";
description = ''
description = lib.mdDoc ''
The value of the Minio access key.
It is required in order to connect to the server.
By default this uses the one from the local minio server if enabled
and <literal>config.services.minio.accessKey</literal>.
and `config.services.minio.accessKey`.
'';
};
minioAccessSecret = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
The value of the Minio access secret.
It is required in order to connect to the server.
By default this uses the one from the local minio server if enabled
and <literal>config.services.minio.secretKey</literal>.
and `config.services.minio.secretKey`.
'';
};
minioBucketStats = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Collect statistics about the buckets and files in buckets.
It requires more computation, use it carefully in case of large buckets..
'';

View File

@ -11,7 +11,7 @@ in
refreshRate = mkOption {
type = types.str;
default = "5s";
description = ''
description = lib.mdDoc ''
How frequently ModemManager will refresh the extended signal quality
information for each modem. The duration should be specified in seconds
("5s"), minutes ("1m"), or hours ("1h").

View File

@ -11,16 +11,16 @@ in
url = mkOption {
type = types.str;
example = "https://domain.tld";
description = ''
description = lib.mdDoc ''
URL to the Nextcloud serverinfo page.
Adding the path to the serverinfo API is optional, it defaults
to <literal>/ocs/v2.php/apps/serverinfo/api/v1/info</literal>.
to `/ocs/v2.php/apps/serverinfo/api/v1/info`.
'';
};
username = mkOption {
type = types.str;
default = "nextcloud-exporter";
description = ''
description = lib.mdDoc ''
Username for connecting to Nextcloud.
Note that this account needs to have admin privileges in Nextcloud.
'';
@ -28,7 +28,7 @@ in
passwordFile = mkOption {
type = types.path;
example = "/path/to/password-file";
description = ''
description = lib.mdDoc ''
File containing the password for connecting to Nextcloud.
Make sure that this file is readable by the exporter user.
'';
@ -36,7 +36,7 @@ in
timeout = mkOption {
type = types.str;
default = "5s";
description = ''
description = lib.mdDoc ''
Timeout for getting server info document.
'';
};

View File

@ -11,7 +11,7 @@ in
scrapeUri = mkOption {
type = types.str;
default = "http://localhost/nginx_status";
description = ''
description = lib.mdDoc ''
Address to access the nginx status page.
Can be enabled with services.nginx.statusPage = true.
'';
@ -19,14 +19,14 @@ in
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
sslVerify = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to perform certificate verification for https.
'';
};
@ -37,7 +37,7 @@ in
"label1=value1"
"label2=value2"
];
description = ''
description = lib.mdDoc ''
A list of constant labels that will be used in every metric.
'';
};

View File

@ -24,7 +24,7 @@ in {
metricsEndpoint = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};

View File

@ -12,7 +12,7 @@ in
type = types.listOf types.str;
default = [];
example = [ "systemd" ];
description = ''
description = lib.mdDoc ''
Collectors to enable. The collectors listed here are enabled in addition to the default ones.
'';
};
@ -20,7 +20,7 @@ in
type = types.listOf types.str;
default = [];
example = [ "timex" ];
description = ''
description = lib.mdDoc ''
Collectors to disable which are enabled by default.
'';
};

View File

@ -40,7 +40,7 @@ in {
metricsPath = mkOption {
default = "/metrics";
type = types.str;
description = ''
description = lib.mdDoc ''
URL path where metrics should be exposed.
'';
};
@ -48,7 +48,7 @@ in {
default = "30s";
type = types.str;
example = "1m";
description = ''
description = lib.mdDoc ''
Scrape interval of the exporter.
'';
};

View File

@ -9,15 +9,15 @@ in {
extraOpts = {
statusPaths = mkOption {
type = types.listOf types.str;
description = ''
description = lib.mdDoc ''
Paths to OpenVPN status files. Please configure the OpenVPN option
<literal>status</literal> accordingly.
`status` accordingly.
'';
};
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};

View File

@ -12,7 +12,7 @@ in
type = types.str;
default = "";
example = "580a770cb40511eb85290242ac130003580a770cb40511eb85290242ac130003";
description = ''
description = lib.mdDoc ''
pi-hole API token which can be used instead of a password
'';
};
@ -20,7 +20,7 @@ in
type = types.str;
default = "10s";
example = "30s";
description = ''
description = lib.mdDoc ''
How often to scrape new data
'';
};
@ -28,7 +28,7 @@ in
type = types.str;
default = "";
example = "password";
description = ''
description = lib.mdDoc ''
The password to login into pihole. An api token can be used instead.
'';
};
@ -36,7 +36,7 @@ in
type = types.str;
default = "pihole";
example = "127.0.0.1";
description = ''
description = lib.mdDoc ''
Hostname or address where to find the pihole webinterface
'';
};
@ -44,7 +44,7 @@ in
type = types.port;
default = 80;
example = 443;
description = ''
description = lib.mdDoc ''
The port pihole webinterface is reachable on
'';
};
@ -52,7 +52,7 @@ in
type = types.enum [ "http" "https" ];
default = "http";
example = "https";
description = ''
description = lib.mdDoc ''
The protocol which is used to connect to pihole
'';
};

View File

@ -10,17 +10,17 @@ in
extraOpts = {
group = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Group under which the postfix exporter shall be run.
It should match the group that is allowed to access the
<literal>showq</literal> socket in the <literal>queue/public/</literal> directory.
Defaults to <literal>services.postfix.setgidGroup</literal> when postfix is enabled.
`showq` socket in the `queue/public/` directory.
Defaults to `services.postfix.setgidGroup` when postfix is enabled.
'';
};
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
@ -28,7 +28,7 @@ in
type = types.path;
default = "/var/log/postfix_exporter_input.log";
example = "/var/log/mail.log";
description = ''
description = lib.mdDoc ''
Path where Postfix writes log entries.
This file will be truncated by this exporter!
'';
@ -37,7 +37,7 @@ in
type = types.path;
default = "/var/lib/postfix/queue/public/showq";
example = "/var/spool/postfix/public/showq";
description = ''
description = lib.mdDoc ''
Path where Postfix places its showq socket.
'';
};
@ -45,29 +45,29 @@ in
enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to enable reading metrics from the systemd journal instead of from a logfile
'';
};
unit = mkOption {
type = types.str;
default = "postfix.service";
description = ''
description = lib.mdDoc ''
Name of the postfix systemd unit.
'';
};
slice = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
Name of the postfix systemd slice.
This overrides the <option>systemd.unit</option>.
This overrides the {option}`systemd.unit`.
'';
};
journalPath = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Path to the systemd journal.
'';
};

View File

@ -11,7 +11,7 @@ in
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
@ -19,14 +19,14 @@ in
type = types.str;
default = "user=postgres database=postgres host=/run/postgresql sslmode=disable";
example = "postgresql://username:password@localhost:5432/postgres?sslmode=disable";
description = ''
description = lib.mdDoc ''
Accepts PostgreSQL URI form and key=value form arguments.
'';
};
runAsLocalSuperUser = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to run the exporter as the local 'postgres' super user.
'';
};
@ -37,9 +37,7 @@ in
default = null;
example = "/root/prometheus-postgres-exporter.env";
description = ''
Environment file as defined in <citerefentry>
<refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.
Environment file as defined in <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
Secrets may be passed to the service without adding them to the
world-readable Nix store, by specifying placeholder variables as

View File

@ -18,11 +18,11 @@ in
{ name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; }
]
'';
description = ''
description = lib.mdDoc ''
All settings expressed as an Nix attrset.
Check the official documentation for the corresponding YAML
settings that can all be used here: <link xlink:href="https://github.com/ncabatoff/process-exporter"/>
settings that can all be used here: <https://github.com/ncabatoff/process-exporter>
'';
};
};

View File

@ -20,7 +20,7 @@ in
default = pkgs.prometheus-pve-exporter;
defaultText = literalExpression "pkgs.prometheus-pve-exporter";
example = literalExpression "pkgs.prometheus-pve-exporter";
description = ''
description = lib.mdDoc ''
The package to use for prometheus-pve-exporter
'';
};
@ -29,7 +29,7 @@ in
type = with types; nullOr path;
default = null;
example = "/etc/prometheus-pve-exporter/pve.env";
description = ''
description = lib.mdDoc ''
Path to the service's environment file. This path can either be a computed path in /nix/store or a path in the local filesystem.
The environment file should NOT be stored in /nix/store as it contains passwords and/or keys in plain text.
@ -42,7 +42,7 @@ in
type = with types; nullOr path;
default = null;
example = "/etc/prometheus-pve-exporter/pve.yml";
description = ''
description = lib.mdDoc ''
Path to the service's config file. This path can either be a computed path in /nix/store or a path in the local filesystem.
The config file should NOT be stored in /nix/store as it will contain passwords and/or keys in plain text.
@ -57,42 +57,42 @@ in
status = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect Node/VM/CT status
'';
};
version = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect PVE version info
'';
};
node = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect PVE node info
'';
};
cluster = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect PVE cluster info
'';
};
resources = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect PVE resources info
'';
};
config = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Collect PVE onboot status
'';
};

View File

@ -14,14 +14,14 @@ in
deviceHostname = mkOption {
type = types.str;
example = "192.168.1.123";
description = ''
description = lib.mdDoc ''
The hostname of the air purification device from which to scrape the metrics.
'';
};
protocol = mkOption {
type = types.str;
default = "http";
description = ''
description = lib.mdDoc ''
The protocol to use when communicating with the air purification device.
Available: [http, coap, plain_coap]
'';
@ -29,8 +29,8 @@ in
stateDir = mkOption {
type = types.str;
default = "prometheus-py-air-control-exporter";
description = ''
Directory below <literal>/var/lib</literal> to store runtime data.
description = lib.mdDoc ''
Directory below `/var/lib` to store runtime data.
This directory will be created automatically using systemd's StateDirectory mechanism.
'';
};

View File

@ -69,7 +69,7 @@ in
custom_label = "some_value";
}
'';
description = "Set of labels added to each metric.";
description = lib.mdDoc "Set of labels added to each metric.";
};
};
serviceOpts.serviceConfig.ExecStart = ''

View File

@ -12,7 +12,7 @@ in
options = {
name = lib.mkOption {
type = str;
description = "Name to match.";
description = lib.mdDoc "Name to match.";
};
"${field}" = lib.mkOption {
type = int;
@ -20,7 +20,7 @@ in
};
location = lib.mkOption {
type = str;
description = "Location to match.";
description = lib.mdDoc "Location to match.";
};
};
});
@ -30,9 +30,9 @@ in
type = lib.types.str;
default = "-C si";
example = "-C si -R 19";
description = ''
description = lib.mdDoc ''
Flags passed verbatim to rtl_433 binary.
Having <literal>-C si</literal> (the default) is recommended since only Celsius temperatures are parsed.
Having `-C si` (the default) is recommended since only Celsius temperatures are parsed.
'';
};
channels = lib.mkOption {
@ -41,7 +41,7 @@ in
example = [
{ name = "Acurite"; channel = 6543; location = "Kitchen"; }
];
description = ''
description = lib.mdDoc ''
List of channel matchers to export.
'';
};
@ -51,7 +51,7 @@ in
example = [
{ name = "Nexus"; id = 1; location = "Bedroom"; }
];
description = ''
description = lib.mdDoc ''
List of ID matchers to export.
'';
};

View File

@ -15,18 +15,18 @@ in
name = mkOption {
type = str;
example = "sleep";
description = "Name of the script.";
description = lib.mdDoc "Name of the script.";
};
script = mkOption {
type = str;
example = "sleep 5";
description = "Shell script to execute when metrics are requested.";
description = lib.mdDoc "Shell script to execute when metrics are requested.";
};
timeout = mkOption {
type = nullOr int;
default = null;
example = 60;
description = "Optional timeout for the script in seconds.";
description = lib.mdDoc "Optional timeout for the script in seconds.";
};
};
});
@ -37,11 +37,11 @@ in
];
}
'';
description = ''
description = lib.mdDoc ''
All settings expressed as an Nix attrset.
Check the official documentation for the corresponding YAML
settings that can all be used here: <link xlink:href="https://github.com/adhocteam/script_exporter#sample-configuration"/>
settings that can all be used here: <https://github.com/adhocteam/script_exporter#sample-configuration>
'';
};
};

View File

@ -24,7 +24,7 @@ in {
example = literalExpression ''
[ "/dev/sda", "/dev/nvme0n1" ];
'';
description = ''
description = lib.mdDoc ''
Paths to the disks that will be monitored. Will autodiscover
all disks if none given.
'';
@ -33,7 +33,7 @@ in {
type = types.str;
default = "60s";
example = "2m";
description = ''
description = lib.mdDoc ''
Interval that limits how often a disk can be queried.
'';
};

View File

@ -17,27 +17,27 @@ in
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
pingInterval = mkOption {
type = goDuration;
default = "1s";
description = ''
description = lib.mdDoc ''
Interval between pings.
'';
};
buckets = mkOption {
type = types.commas;
default = "5e-05,0.0001,0.0002,0.0004,0.0008,0.0016,0.0032,0.0064,0.0128,0.0256,0.0512,0.1024,0.2048,0.4096,0.8192,1.6384,3.2768,6.5536,13.1072,26.2144";
description = ''
description = lib.mdDoc ''
List of buckets to use for the response duration histogram.
'';
};
hosts = mkOption {
type = with types; listOf str;
description = ''
description = lib.mdDoc ''
List of endpoints to probe.
'';
};

View File

@ -11,7 +11,7 @@ in
configurationPath = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Path to a snmp exporter configuration file. Mutually exclusive with 'configuration' option.
'';
example = literalExpression "./snmp.yml";
@ -20,7 +20,7 @@ in
configuration = mkOption {
type = types.nullOr types.attrs;
default = null;
description = ''
description = lib.mdDoc ''
Snmp exporter configuration as nix attribute set. Mutually exclusive with 'configurationPath' option.
'';
example = {
@ -36,7 +36,7 @@ in
logFormat = mkOption {
type = types.enum ["logfmt" "json"];
default = "logfmt";
description = ''
description = lib.mdDoc ''
Output format of log messages.
'';
};
@ -44,7 +44,7 @@ in
logLevel = mkOption {
type = types.enum ["debug" "info" "warn" "error"];
default = "info";
description = ''
description = lib.mdDoc ''
Only log messages with the given severity or above.
'';
};

View File

@ -7,7 +7,7 @@ let
jobs = mkOption {
type = attrsOf (submodule jobOptions);
default = { };
description = "An attrset of metrics scraping jobs to run.";
description = lib.mdDoc "An attrset of metrics scraping jobs to run.";
};
};
};
@ -15,23 +15,23 @@ let
options = with types; {
interval = mkOption {
type = str;
description = ''
description = lib.mdDoc ''
How often to run this job, specified in
<link xlink:href="https://golang.org/pkg/time/#ParseDuration">Go duration</link> format.
[Go duration](https://golang.org/pkg/time/#ParseDuration) format.
'';
};
connections = mkOption {
type = listOf str;
description = "A list of connection strings of the SQL servers to scrape metrics from";
description = lib.mdDoc "A list of connection strings of the SQL servers to scrape metrics from";
};
startupSql = mkOption {
type = listOf str;
default = [];
description = "A list of SQL statements to execute once after making a connection.";
description = lib.mdDoc "A list of SQL statements to execute once after making a connection.";
};
queries = mkOption {
type = attrsOf (submodule queryOptions);
description = "SQL queries to run.";
description = lib.mdDoc "SQL queries to run.";
};
};
};
@ -40,20 +40,20 @@ let
help = mkOption {
type = nullOr str;
default = null;
description = "A human-readable description of this metric.";
description = lib.mdDoc "A human-readable description of this metric.";
};
labels = mkOption {
type = listOf str;
default = [ ];
description = "A set of columns that will be used as Prometheus labels.";
description = lib.mdDoc "A set of columns that will be used as Prometheus labels.";
};
query = mkOption {
type = str;
description = "The SQL query to run.";
description = lib.mdDoc "The SQL query to run.";
};
values = mkOption {
type = listOf str;
description = "A set of columns that will be used as values of this metric.";
description = lib.mdDoc "A set of columns that will be used as values of this metric.";
};
};
};
@ -77,14 +77,14 @@ in
configFile = mkOption {
type = with types; nullOr path;
default = null;
description = ''
description = lib.mdDoc ''
Path to configuration file.
'';
};
configuration = mkOption {
type = with types; nullOr (submodule cfgOptions);
default = null;
description = ''
description = lib.mdDoc ''
Exporter configuration as nix attribute set. Mutually exclusive with 'configFile' option.
'';
};

View File

@ -11,7 +11,7 @@ in
modemAddress = mkOption {
type = types.str;
default = "192.168.100.1";
description = ''
description = lib.mdDoc ''
The hostname or IP of the cable modem.
'';
};

View File

@ -11,7 +11,7 @@ in
torControlAddress = mkOption {
type = types.str;
default = "127.0.0.1";
description = ''
description = lib.mdDoc ''
Tor control IP address or hostname.
'';
};
@ -19,7 +19,7 @@ in
torControlPort = mkOption {
type = types.int;
default = 9051;
description = ''
description = lib.mdDoc ''
Tor control port.
'';
};

View File

@ -12,7 +12,7 @@ in
# TODO: add shm when upstream implemented it
type = types.enum [ "tcp" "uds" ];
default = "uds";
description = ''
description = lib.mdDoc ''
Which methods the exporter uses to get the information from unbound.
'';
};
@ -20,7 +20,7 @@ in
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
description = ''
description = lib.mdDoc ''
Path under which to expose metrics.
'';
};
@ -29,7 +29,7 @@ in
type = types.nullOr types.str;
default = null;
example = "/run/unbound/unbound.socket";
description = ''
description = lib.mdDoc ''
Path to the unbound socket for uds mode or the control interface port for tcp mode.
Example:

View File

@ -11,7 +11,7 @@ in
unifiAddress = mkOption {
type = types.str;
example = "https://10.0.0.1:8443";
description = ''
description = lib.mdDoc ''
URL of the UniFi Controller API.
'';
};
@ -19,7 +19,7 @@ in
unifiInsecure = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If enabled skip the verification of the TLS certificate of the UniFi Controller API.
Use with caution.
'';
@ -28,14 +28,14 @@ in
unifiUsername = mkOption {
type = types.str;
example = "ReadOnlyUser";
description = ''
description = lib.mdDoc ''
username for authentication against UniFi Controller API.
'';
};
unifiPassword = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Password for authentication against UniFi Controller API.
'';
};
@ -44,7 +44,7 @@ in
type = types.str;
default = "5s";
example = "2m";
description = ''
description = lib.mdDoc ''
Timeout including unit for UniFi Controller API requests.
'';
};

Some files were not shown because too many files have changed in this diff Show More