on how to set up a reverse proxy
- '');
+ '';
dataDir = mkOption {
type = types.str;
default = "/var/lib/ombi";
- description = lib.mdDoc "The directory where Ombi stores its data files.";
+ description = "The directory where Ombi stores its data files.";
};
port = mkOption {
type = types.port;
default = 5000;
- description = lib.mdDoc "The port for the Ombi web interface.";
+ description = "The port for the Ombi web interface.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Open ports in the firewall for the Ombi web interface.";
+ description = "Open ports in the firewall for the Ombi web interface.";
};
user = mkOption {
type = types.str;
default = "ombi";
- description = lib.mdDoc "User account under which Ombi runs.";
+ description = "User account under which Ombi runs.";
};
group = mkOption {
type = types.str;
default = "ombi";
- description = lib.mdDoc "Group under which Ombi runs.";
+ description = "Group under which Ombi runs.";
};
};
};
diff --git a/nixos/modules/services/misc/osrm.nix b/nixos/modules/services/misc/osrm.nix
index 12c908a761e3..a93337dc75e3 100644
--- a/nixos/modules/services/misc/osrm.nix
+++ b/nixos/modules/services/misc/osrm.nix
@@ -11,44 +11,44 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Enable the OSRM service.";
+ description = "Enable the OSRM service.";
};
address = mkOption {
type = types.str;
default = "0.0.0.0";
- description = lib.mdDoc "IP address on which the web server will listen.";
+ description = "IP address on which the web server will listen.";
};
port = mkOption {
type = types.port;
default = 5000;
- description = lib.mdDoc "Port on which the web server will run.";
+ description = "Port on which the web server will run.";
};
threads = mkOption {
type = types.int;
default = 4;
- description = lib.mdDoc "Number of threads to use.";
+ description = "Number of threads to use.";
};
algorithm = mkOption {
type = types.enum [ "CH" "CoreCH" "MLD" ];
default = "MLD";
- description = lib.mdDoc "Algorithm to use for the data. Must be one of CH, CoreCH, MLD";
+ description = "Algorithm to use for the data. Must be one of CH, CoreCH, MLD";
};
extraFlags = mkOption {
type = types.listOf types.str;
default = [];
example = [ "--max-table-size 1000" "--max-matching-size 1000" ];
- description = lib.mdDoc "Extra command line arguments passed to osrm-routed";
+ description = "Extra command line arguments passed to osrm-routed";
};
dataFile = mkOption {
type = types.path;
example = "/var/lib/osrm/berlin-latest.osrm";
- description = lib.mdDoc "Data file location";
+ description = "Data file location";
};
};
diff --git a/nixos/modules/services/misc/owncast.nix b/nixos/modules/services/misc/owncast.nix
index cbb6ba29e322..94f0f4e998c4 100644
--- a/nixos/modules/services/misc/owncast.nix
+++ b/nixos/modules/services/misc/owncast.nix
@@ -5,12 +5,12 @@ in {
options.services.owncast = {
- enable = mkEnableOption (lib.mdDoc "owncast, a video live streaming solution");
+ enable = mkEnableOption "owncast, a video live streaming solution";
dataDir = mkOption {
type = types.str;
default = "/var/lib/owncast";
- description = lib.mdDoc ''
+ description = ''
The directory where owncast stores its data files. If left as the default value this directory will automatically be created before the owncast server starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.
'';
};
@@ -18,7 +18,7 @@ in {
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open the appropriate ports in the firewall for owncast.
'';
};
@@ -26,26 +26,26 @@ in {
user = mkOption {
type = types.str;
default = "owncast";
- description = lib.mdDoc "User account under which owncast runs.";
+ description = "User account under which owncast runs.";
};
group = mkOption {
type = types.str;
default = "owncast";
- description = lib.mdDoc "Group under which owncast runs.";
+ description = "Group under which owncast runs.";
};
listen = mkOption {
type = types.str;
default = "127.0.0.1";
example = "0.0.0.0";
- description = lib.mdDoc "The IP address to bind the owncast web server to.";
+ description = "The IP address to bind the owncast web server to.";
};
port = mkOption {
type = types.port;
default = 8080;
- description = lib.mdDoc ''
+ description = ''
TCP port where owncast web-gui listens.
'';
};
@@ -53,7 +53,7 @@ in {
rtmp-port = mkOption {
type = types.port;
default = 1935;
- description = lib.mdDoc ''
+ description = ''
TCP port where owncast rtmp service listens.
'';
};
diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix
index f4191a4453ca..1be689794d9f 100644
--- a/nixos/modules/services/misc/packagekit.nix
+++ b/nixos/modules/services/misc/packagekit.nix
@@ -39,22 +39,22 @@ in
];
options.services.packagekit = {
- enable = mkEnableOption (lib.mdDoc ''
+ enable = mkEnableOption ''
PackageKit, a cross-platform D-Bus abstraction layer for
installing software. Software utilizing PackageKit can install
software regardless of the package manager
- '');
+ '';
settings = mkOption {
type = iniFmt.type;
default = { };
- description = lib.mdDoc "Additional settings passed straight through to PackageKit.conf";
+ description = "Additional settings passed straight through to PackageKit.conf";
};
vendorSettings = mkOption {
type = iniFmt.type;
default = { };
- description = lib.mdDoc "Additional settings passed straight through to Vendor.conf";
+ description = "Additional settings passed straight through to Vendor.conf";
};
};
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index 9301d1f68725..3456098073b3 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -3,7 +3,6 @@
with lib;
let
cfg = config.services.paperless;
- pkg = cfg.package;
defaultUser = "paperless";
defaultFont = "${pkgs.liberation_ttf}/share/fonts/truetype/LiberationSerif-Regular.ttf";
@@ -25,7 +24,7 @@ let
} // optionalAttrs (cfg.settings.PAPERLESS_ENABLE_NLTK or true) {
PAPERLESS_NLTK_DIR = pkgs.symlinkJoin {
name = "paperless_ngx_nltk_data";
- paths = pkg.nltkData;
+ paths = cfg.package.nltkData;
};
} // optionalAttrs (cfg.openMPThreadingWorkaround) {
OMP_NUM_THREADS = "1";
@@ -38,7 +37,7 @@ let
manage = pkgs.writeShellScript "manage" ''
set -o allexport # Export the following env vars
${lib.toShellVars env}
- exec ${pkg}/bin/paperless-ngx "$@"
+ exec ${cfg.package}/bin/paperless-ngx "$@"
'';
# Secure the services
@@ -96,7 +95,7 @@ in
enable = mkOption {
type = lib.types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Enable Paperless.
When started, the Paperless database is automatically created if it doesn't
@@ -111,34 +110,34 @@ in
dataDir = mkOption {
type = types.str;
default = "/var/lib/paperless";
- description = lib.mdDoc "Directory to store the Paperless data.";
+ description = "Directory to store the Paperless data.";
};
mediaDir = mkOption {
type = types.str;
default = "${cfg.dataDir}/media";
defaultText = literalExpression ''"''${dataDir}/media"'';
- description = lib.mdDoc "Directory to store the Paperless documents.";
+ description = "Directory to store the Paperless documents.";
};
consumptionDir = mkOption {
type = types.str;
default = "${cfg.dataDir}/consume";
defaultText = literalExpression ''"''${dataDir}/consume"'';
- description = lib.mdDoc "Directory from which new documents are imported.";
+ description = "Directory from which new documents are imported.";
};
consumptionDirIsPublic = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether all users can write to the consumption dir.";
+ description = "Whether all users can write to the consumption dir.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/paperless-password";
- description = lib.mdDoc ''
+ description = ''
A file containing the superuser password.
A superuser is required to access the web interface.
@@ -159,13 +158,13 @@ in
address = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc "Web interface address.";
+ description = "Web interface address.";
};
port = mkOption {
type = types.port;
default = 28981;
- description = lib.mdDoc "Web interface port.";
+ description = "Web interface port.";
};
settings = mkOption {
@@ -175,7 +174,7 @@ in
in oneOf (typeList ++ [ (listOf (oneOf typeList)) (attrsOf (oneOf typeList)) ]));
};
default = { };
- description = lib.mdDoc ''
+ description = ''
Extra paperless config options.
See [the documentation](https://docs.paperless-ngx.com/configuration/) for available options.
@@ -197,10 +196,20 @@ in
user = mkOption {
type = types.str;
default = defaultUser;
- description = lib.mdDoc "User under which Paperless runs.";
+ description = "User under which Paperless runs.";
};
- package = mkPackageOption pkgs "paperless-ngx" { };
+ package = mkPackageOption pkgs "paperless-ngx" { } // {
+ apply = pkg: pkg.override {
+ tesseract5 = pkg.tesseract5.override {
+ # always enable detection modules
+ enableLanguages = if cfg.settings ? PAPERLESS_OCR_LANGUAGE then
+ [ "equ" "osd" ]
+ ++ lib.splitString "+" cfg.settings.PAPERLESS_OCR_LANGUAGE
+ else null;
+ };
+ };
+ };
openMPThreadingWorkaround = mkEnableOption ''
a workaround for document classifier timeouts.
@@ -220,15 +229,16 @@ in
config = mkIf cfg.enable {
services.redis.servers.paperless.enable = mkIf enableRedis true;
- systemd.tmpfiles.rules = [
- "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
- "d '${cfg.mediaDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
- (if cfg.consumptionDirIsPublic then
- "d '${cfg.consumptionDir}' 777 - - - -"
- else
- "d '${cfg.consumptionDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
- )
- ];
+ systemd.tmpfiles.settings."10-paperless" = let
+ defaultRule = {
+ inherit (cfg) user;
+ inherit (config.users.users.${cfg.user}) group;
+ };
+ in {
+ "${cfg.dataDir}".d = defaultRule;
+ "${cfg.mediaDir}".d = defaultRule;
+ "${cfg.consumptionDir}".d = if cfg.consumptionDirIsPublic then { mode = "777"; } else defaultRule;
+ };
systemd.services.paperless-scheduler = {
description = "Paperless Celery Beat";
@@ -236,8 +246,9 @@ in
wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ];
serviceConfig = defaultServiceConfig // {
User = cfg.user;
- ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
+ ExecStart = "${cfg.package}/bin/celery --app paperless beat --loglevel INFO";
Restart = "on-failure";
+ LoadCredential = lib.optionalString (cfg.passwordFile != null) "PAPERLESS_ADMIN_PASSWORD:${cfg.passwordFile}";
};
environment = env;
@@ -248,8 +259,8 @@ in
versionFile="${cfg.dataDir}/src-version"
version=$(cat "$versionFile" 2>/dev/null || echo 0)
- if [[ $version != ${pkg.version} ]]; then
- ${pkg}/bin/paperless-ngx migrate
+ if [[ $version != ${cfg.package.version} ]]; then
+ ${cfg.package}/bin/paperless-ngx migrate
# Parse old version string format for backwards compatibility
version=$(echo "$version" | grep -ohP '[^-]+$')
@@ -262,20 +273,20 @@ in
if versionLessThan 1.12.0; then
# Reindex documents as mentioned in https://github.com/paperless-ngx/paperless-ngx/releases/tag/v1.12.1
echo "Reindexing documents, to allow searching old comments. Required after the 1.12.x upgrade."
- ${pkg}/bin/paperless-ngx document_index reindex
+ ${cfg.package}/bin/paperless-ngx document_index reindex
fi
- echo ${pkg.version} > "$versionFile"
+ echo ${cfg.package.version} > "$versionFile"
fi
''
+ optionalString (cfg.passwordFile != null) ''
export PAPERLESS_ADMIN_USER="''${PAPERLESS_ADMIN_USER:-admin}"
- export PAPERLESS_ADMIN_PASSWORD=$(cat "${cfg.dataDir}/superuser-password")
+ export PAPERLESS_ADMIN_PASSWORD=$(cat $CREDENTIALS_DIRECTORY/PAPERLESS_ADMIN_PASSWORD)
superuserState="$PAPERLESS_ADMIN_USER:$PAPERLESS_ADMIN_PASSWORD"
superuserStateFile="${cfg.dataDir}/superuser-state"
if [[ $(cat "$superuserStateFile" 2>/dev/null) != $superuserState ]]; then
- ${pkg}/bin/paperless-ngx manage_superuser
+ ${cfg.package}/bin/paperless-ngx manage_superuser
echo "$superuserState" > "$superuserStateFile"
fi
'';
@@ -288,7 +299,7 @@ in
after = [ "paperless-scheduler.service" ];
serviceConfig = defaultServiceConfig // {
User = cfg.user;
- ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO";
+ ExecStart = "${cfg.package}/bin/celery --app paperless worker --loglevel INFO";
Restart = "on-failure";
# The `mbind` syscall is needed for running the classifier.
SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
@@ -298,19 +309,6 @@ in
environment = env;
};
- # Reading the user-provided password file requires root access
- systemd.services.paperless-copy-password = mkIf (cfg.passwordFile != null) {
- requiredBy = [ "paperless-scheduler.service" ];
- before = [ "paperless-scheduler.service" ];
- serviceConfig = {
- ExecStart = ''
- ${pkgs.coreutils}/bin/install --mode 600 --owner '${cfg.user}' --compare \
- '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password'
- '';
- Type = "oneshot";
- };
- };
-
systemd.services.paperless-consumer = {
description = "Paperless document consumer";
# Bind to `paperless-scheduler` so that the consumer never runs
@@ -319,7 +317,7 @@ in
after = [ "paperless-scheduler.service" ];
serviceConfig = defaultServiceConfig // {
User = cfg.user;
- ExecStart = "${pkg}/bin/paperless-ngx document_consumer";
+ ExecStart = "${cfg.package}/bin/paperless-ngx document_consumer";
Restart = "on-failure";
};
environment = env;
@@ -351,8 +349,8 @@ in
echo "PAPERLESS_SECRET_KEY is empty, refusing to start."
exit 1
fi
- exec ${pkg.python.pkgs.gunicorn}/bin/gunicorn \
- -c ${pkg}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
+ exec ${cfg.package.python.pkgs.gunicorn}/bin/gunicorn \
+ -c ${cfg.package}/lib/paperless-ngx/gunicorn.conf.py paperless.asgi:application
'';
serviceConfig = defaultServiceConfig // {
User = cfg.user;
@@ -368,7 +366,7 @@ in
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
};
environment = env // {
- PYTHONPATH = "${pkg.python.pkgs.makePythonPath pkg.propagatedBuildInputs}:${pkg}/lib/paperless-ngx/src";
+ PYTHONPATH = "${cfg.package.python.pkgs.makePythonPath cfg.package.propagatedBuildInputs}:${cfg.package}/lib/paperless-ngx/src";
};
# Allow the web interface to access the private /tmp directory of the server.
# This is required to support uploading files via the web interface.
diff --git a/nixos/modules/services/misc/parsoid.nix b/nixos/modules/services/misc/parsoid.nix
index 6f4a340c8a18..a1935d202172 100644
--- a/nixos/modules/services/misc/parsoid.nix
+++ b/nixos/modules/services/misc/parsoid.nix
@@ -39,7 +39,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable Parsoid -- bidirectional
wikitext parser.
'';
@@ -48,7 +48,7 @@ in
wikis = mkOption {
type = types.listOf (types.either types.str types.attrs);
example = [ "http://localhost/api.php" ];
- description = lib.mdDoc ''
+ description = ''
Used MediaWiki API endpoints.
'';
};
@@ -56,7 +56,7 @@ in
workers = mkOption {
type = types.int;
default = 2;
- description = lib.mdDoc ''
+ description = ''
Number of Parsoid workers.
'';
};
@@ -64,7 +64,7 @@ in
interface = mkOption {
type = types.str;
default = "127.0.0.1";
- description = lib.mdDoc ''
+ description = ''
Interface to listen on.
'';
};
@@ -72,7 +72,7 @@ in
port = mkOption {
type = types.port;
default = 8000;
- description = lib.mdDoc ''
+ description = ''
Port to listen on.
'';
};
@@ -80,7 +80,7 @@ in
extraConfig = mkOption {
type = types.attrs;
default = {};
- description = lib.mdDoc ''
+ description = ''
Extra configuration to add to parsoid configuration.
'';
};
diff --git a/nixos/modules/services/misc/persistent-evdev.nix b/nixos/modules/services/misc/persistent-evdev.nix
index b1f367fec7fb..650752abd215 100644
--- a/nixos/modules/services/misc/persistent-evdev.nix
+++ b/nixos/modules/services/misc/persistent-evdev.nix
@@ -11,12 +11,12 @@ let
in
{
options.services.persistent-evdev = {
- enable = lib.mkEnableOption (lib.mdDoc "virtual input devices that persist even if the backing device is hotplugged");
+ enable = lib.mkEnableOption "virtual input devices that persist even if the backing device is hotplugged";
devices = lib.mkOption {
default = {};
type = with lib.types; attrsOf str;
- description = lib.mdDoc ''
+ description = ''
A set of virtual proxy device labels with backing physical device ids.
Physical devices should already exist in {file}`/dev/input/by-id/`.
diff --git a/nixos/modules/services/misc/pinnwand.nix b/nixos/modules/services/misc/pinnwand.nix
index 466d045a7b16..9c26864dab56 100644
--- a/nixos/modules/services/misc/pinnwand.nix
+++ b/nixos/modules/services/misc/pinnwand.nix
@@ -10,17 +10,17 @@ let
in
{
options.services.pinnwand = {
- enable = mkEnableOption (lib.mdDoc "Pinnwand, a pastebin");
+ enable = mkEnableOption "Pinnwand, a pastebin";
port = mkOption {
type = types.port;
- description = lib.mdDoc "The port to listen on.";
+ description = "The port to listen on.";
default = 8000;
};
settings = mkOption {
default = {};
- description = lib.mdDoc ''
+ description = ''
Your {file}`pinnwand.toml` as a Nix attribute set. Look up
possible options in the [documentation](https://pinnwand.readthedocs.io/en/v${pkgs.pinnwand.version}/configuration.html).
'';
@@ -31,7 +31,7 @@ in
type = types.str;
default = "sqlite:////var/lib/pinnwand/pinnwand.db";
example = "sqlite:///:memory";
- description = lib.mdDoc ''
+ description = ''
Database URI compatible with [SQLAlchemyhttps://docs.sqlalchemy.org/en/14/core/engines.html#database-urls].
Additional packages may need to be introduced into the environment for certain databases.
@@ -42,7 +42,7 @@ in
type = types.ints.positive;
default = 262144;
example = 524288;
- description = lib.mdDoc ''
+ description = ''
Maximum size of a paste in bytes.
'';
};
@@ -51,7 +51,7 @@ in
default = ''
Welcome to pinnwand, this site is a pastebin. It allows you to share code with others. If you write code in the text area below and press the paste button you will be given a link you can share with others so they can view your code as well.
People with the link can view your pasted code, only you can remove your paste and it expires automatically. Note that anyone could guess the URI to your paste so don't rely on it being private.
'';
- description = lib.mdDoc ''
+ description = ''
Raw HTML help text shown in the header area.
'';
};
@@ -60,7 +60,7 @@ in
default = ''
View source code, the removal or expiry stories, or read the about page.
'';
- description = lib.mdDoc ''
+ description = ''
The footer in raw HTML.
'';
};
diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix
index 164801605713..fcd8ebbac6ed 100644
--- a/nixos/modules/services/misc/plex.nix
+++ b/nixos/modules/services/misc/plex.nix
@@ -12,12 +12,12 @@ in
options = {
services.plex = {
- enable = mkEnableOption (lib.mdDoc "Plex Media Server");
+ enable = mkEnableOption "Plex Media Server";
dataDir = mkOption {
type = types.str;
default = "/var/lib/plex";
- description = lib.mdDoc ''
+ description = ''
The directory where Plex stores its data files.
'';
};
@@ -25,7 +25,7 @@ in
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open ports in the firewall for the media server.
'';
};
@@ -33,7 +33,7 @@ in
user = mkOption {
type = types.str;
default = "plex";
- description = lib.mdDoc ''
+ description = ''
User account under which Plex runs.
'';
};
@@ -41,7 +41,7 @@ in
group = mkOption {
type = types.str;
default = "plex";
- description = lib.mdDoc ''
+ description = ''
Group under which Plex runs.
'';
};
@@ -49,7 +49,7 @@ in
extraPlugins = mkOption {
type = types.listOf types.path;
default = [];
- description = lib.mdDoc ''
+ description = ''
A list of paths to extra plugin bundles to install in Plex's plugin
directory. Every time the systemd unit for Plex starts up, all of the
symlinks in Plex's plugin directory will be cleared and this module
@@ -73,7 +73,7 @@ in
extraScanners = mkOption {
type = types.listOf types.path;
default = [];
- description = lib.mdDoc ''
+ description = ''
A list of paths to extra scanners to install in Plex's scanners
directory.
diff --git a/nixos/modules/services/misc/plikd.nix b/nixos/modules/services/misc/plikd.nix
index bb5d3c1a36ca..ec94cfc02979 100644
--- a/nixos/modules/services/misc/plikd.nix
+++ b/nixos/modules/services/misc/plikd.nix
@@ -11,18 +11,18 @@ in
{
options = {
services.plikd = {
- enable = mkEnableOption (lib.mdDoc "plikd, a temporary file upload system");
+ enable = mkEnableOption "plikd, a temporary file upload system";
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Open ports in the firewall for the plikd.";
+ description = "Open ports in the firewall for the plikd.";
};
settings = mkOption {
type = format.type;
default = {};
- description = lib.mdDoc ''
+ description = ''
Configuration for plikd, see
for supported values.
'';
diff --git a/nixos/modules/services/misc/podgrab.nix b/nixos/modules/services/misc/podgrab.nix
index c596122fd31c..f95d2dc928cd 100644
--- a/nixos/modules/services/misc/podgrab.nix
+++ b/nixos/modules/services/misc/podgrab.nix
@@ -4,13 +4,13 @@ let
in
{
options.services.podgrab = with lib; {
- enable = mkEnableOption (lib.mdDoc "Podgrab, a self-hosted podcast manager");
+ enable = mkEnableOption "Podgrab, a self-hosted podcast manager";
passwordFile = mkOption {
type = with types; nullOr str;
default = null;
example = "/run/secrets/password.env";
- description = lib.mdDoc ''
+ description = ''
The path to a file containing the PASSWORD environment variable
definition for Podgrab's authentication.
'';
@@ -20,7 +20,7 @@ in
type = types.port;
default = 8080;
example = 4242;
- description = lib.mdDoc "The port on which Podgrab will listen for incoming HTTP traffic.";
+ description = "The port on which Podgrab will listen for incoming HTTP traffic.";
};
};
diff --git a/nixos/modules/services/misc/polaris.nix b/nixos/modules/services/misc/polaris.nix
index 83da486083b4..4ac99eaad384 100644
--- a/nixos/modules/services/misc/polaris.nix
+++ b/nixos/modules/services/misc/polaris.nix
@@ -11,33 +11,33 @@ in
{
options = {
services.polaris = {
- enable = mkEnableOption (lib.mdDoc "Polaris Music Server");
+ enable = mkEnableOption "Polaris Music Server";
package = mkPackageOption pkgs "polaris" { };
user = mkOption {
type = types.str;
default = "polaris";
- description = lib.mdDoc "User account under which Polaris runs.";
+ description = "User account under which Polaris runs.";
};
group = mkOption {
type = types.str;
default = "polaris";
- description = lib.mdDoc "Group under which Polaris is run.";
+ description = "Group under which Polaris is run.";
};
extraGroups = mkOption {
type = types.listOf types.str;
default = [];
- description = lib.mdDoc "Polaris' auxiliary groups.";
+ description = "Polaris' auxiliary groups.";
example = literalExpression ''["media" "music"]'';
};
port = mkOption {
type = types.port;
default = 5050;
- description = lib.mdDoc ''
+ description = ''
The port which the Polaris REST api and web UI should listen to.
Note: polaris is hardcoded to listen to the hostname "0.0.0.0".
'';
@@ -46,7 +46,7 @@ in
settings = mkOption {
type = settingsFormat.type;
default = {};
- description = lib.mdDoc ''
+ description = ''
Contents for the TOML Polaris config, applied each start.
Although poorly documented, an example may be found here:
[test-config.toml](https://github.com/agersant/polaris/blob/374d0ca56fc0a466d797a4b252e2078607476797/test-data/config.toml)
@@ -73,7 +73,7 @@ in
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open the configured port in the firewall.
'';
};
diff --git a/nixos/modules/services/misc/portunus.nix b/nixos/modules/services/misc/portunus.nix
index ebb3bc8f0851..ab78479c96cd 100644
--- a/nixos/modules/services/misc/portunus.nix
+++ b/nixos/modules/services/misc/portunus.nix
@@ -8,18 +8,18 @@ let
in
{
options.services.portunus = {
- enable = mkEnableOption (lib.mdDoc "Portunus, a self-contained user/group management and authentication service for LDAP");
+ enable = mkEnableOption "Portunus, a self-contained user/group management and authentication service for LDAP";
domain = mkOption {
type = types.str;
example = "sso.example.com";
- description = lib.mdDoc "Subdomain which gets reverse proxied to Portunus webserver.";
+ description = "Subdomain which gets reverse proxied to Portunus webserver.";
};
port = mkOption {
type = types.port;
default = 8080;
- description = lib.mdDoc ''
+ description = ''
Port where the Portunus webserver should listen on.
This must be put behind a TLS-capable reverse proxy because Portunus only listens on localhost.
@@ -31,7 +31,7 @@ in
seedPath = mkOption {
type = types.nullOr types.path;
default = null;
- description = lib.mdDoc ''
+ description = ''
Path to a portunus seed file in json format.
See for available options.
'';
@@ -40,7 +40,7 @@ in
seedSettings = lib.mkOption {
type = with lib.types; nullOr (attrsOf (listOf (attrsOf anything)));
default = null;
- description = lib.mdDoc ''
+ description = ''
Seed settings for users and groups.
See upstream for format
'';
@@ -49,40 +49,40 @@ in
stateDir = mkOption {
type = types.path;
default = "/var/lib/portunus";
- description = lib.mdDoc "Path where Portunus stores its state.";
+ description = "Path where Portunus stores its state.";
};
user = mkOption {
type = types.str;
default = "portunus";
- description = lib.mdDoc "User account under which Portunus runs its webserver.";
+ description = "User account under which Portunus runs its webserver.";
};
group = mkOption {
type = types.str;
default = "portunus";
- description = lib.mdDoc "Group account under which Portunus runs its webserver.";
+ description = "Group account under which Portunus runs its webserver.";
};
dex = {
- enable = mkEnableOption (lib.mdDoc ''
+ enable = mkEnableOption ''
Dex ldap connector.
To activate dex, first a search user must be created in the Portunus web ui
and then the password must to be set as the `DEX_SEARCH_USER_PASSWORD` environment variable
in the [](#opt-services.dex.environmentFile) setting.
- '');
+ '';
oidcClients = mkOption {
type = types.listOf (types.submodule {
options = {
callbackURL = mkOption {
type = types.str;
- description = lib.mdDoc "URL where the OIDC client should redirect";
+ description = "URL where the OIDC client should redirect";
};
id = mkOption {
type = types.str;
- description = lib.mdDoc "ID of the OIDC client";
+ description = "ID of the OIDC client";
};
};
});
@@ -93,7 +93,7 @@ in
id = "service";
}
];
- description = lib.mdDoc ''
+ description = ''
List of OIDC clients.
The OIDC secret must be set as the `DEX_CLIENT_''${id}` environment variable
@@ -104,7 +104,7 @@ in
port = mkOption {
type = types.port;
default = 5556;
- description = lib.mdDoc "Port where dex should listen on.";
+ description = "Port where dex should listen on.";
};
};
@@ -116,14 +116,14 @@ in
# TODO: remove in NixOS 24.11 (cf. same note on pkgs/servers/portunus/default.nix)
default = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
defaultText = lib.literalExpression "pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; }";
- description = lib.mdDoc "The OpenLDAP package to use.";
+ description = "The OpenLDAP package to use.";
};
searchUserName = mkOption {
type = types.str;
default = "";
example = "admin";
- description = lib.mdDoc ''
+ description = ''
The login name of the search user.
This user account must be configured in Portunus either manually or via seeding.
'';
@@ -132,7 +132,7 @@ in
suffix = mkOption {
type = types.str;
example = "dc=example,dc=org";
- description = lib.mdDoc ''
+ description = ''
The DN of the topmost entry in your LDAP directory.
Please refer to the Portunus documentation for more information on how this impacts the structure of the LDAP directory.
'';
@@ -141,7 +141,7 @@ in
tls = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable LDAPS protocol.
This also adds two entries to the `/etc/hosts` file to point [](#opt-services.portunus.domain) to localhost,
so that CLIs and programs can use ldaps protocol and verify the certificate without opening the firewall port for the protocol.
@@ -153,13 +153,13 @@ in
user = mkOption {
type = types.str;
default = "openldap";
- description = lib.mdDoc "User account under which Portunus runs its LDAP server.";
+ description = "User account under which Portunus runs its LDAP server.";
};
group = mkOption {
type = types.str;
default = "openldap";
- description = lib.mdDoc "Group account under which Portunus runs its LDAP server.";
+ description = "Group account under which Portunus runs its LDAP server.";
};
};
};
diff --git a/nixos/modules/services/misc/prowlarr.nix b/nixos/modules/services/misc/prowlarr.nix
index 952f95485bd0..c94882a4f72a 100644
--- a/nixos/modules/services/misc/prowlarr.nix
+++ b/nixos/modules/services/misc/prowlarr.nix
@@ -9,14 +9,14 @@ in
{
options = {
services.prowlarr = {
- enable = mkEnableOption (lib.mdDoc "Prowlarr, an indexer manager/proxy for Torrent trackers and Usenet indexers");
+ enable = mkEnableOption "Prowlarr, an indexer manager/proxy for Torrent trackers and Usenet indexers";
package = mkPackageOption pkgs "prowlarr" { };
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Open ports in the firewall for the Prowlarr web interface.";
+ description = "Open ports in the firewall for the Prowlarr web interface.";
};
};
};
diff --git a/nixos/modules/services/misc/pufferpanel.nix b/nixos/modules/services/misc/pufferpanel.nix
index b951d60cc5b9..3679d25861e6 100644
--- a/nixos/modules/services/misc/pufferpanel.nix
+++ b/nixos/modules/services/misc/pufferpanel.nix
@@ -7,7 +7,7 @@ in
enable = lib.mkOption {
type = lib.types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable PufferPanel game management server.
Note that [PufferPanel templates] and binaries downloaded by PufferPanel
@@ -39,7 +39,7 @@ in
type = lib.types.listOf lib.types.str;
default = [ ];
example = [ "podman" ];
- description = lib.mdDoc ''
+ description = ''
Additional groups for the systemd service.
'';
};
@@ -48,7 +48,7 @@ in
type = lib.types.listOf lib.types.package;
default = [ ];
example = lib.literalExpression "[ pkgs.jre ]";
- description = lib.mdDoc ''
+ description = ''
Packages to add to the PATH environment variable. Both the {file}`bin`
and {file}`sbin` subdirectories of each package are added.
'';
@@ -66,7 +66,7 @@ in
PUFFER_PANEL_REGISTRATIONENABLED = "false";
}
'';
- description = lib.mdDoc ''
+ description = ''
Environment variables to set for the service. Secrets should be
specified using {option}`environmentFile`.
@@ -93,7 +93,7 @@ in
environmentFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
- description = lib.mdDoc ''
+ description = ''
File to load environment variables from. Loaded variables override
values set in {option}`environment`.
'';
diff --git a/nixos/modules/services/misc/pykms.nix b/nixos/modules/services/misc/pykms.nix
index be3accc0d7e5..d1b209e38932 100644
--- a/nixos/modules/services/misc/pykms.nix
+++ b/nixos/modules/services/misc/pykms.nix
@@ -18,43 +18,43 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether to enable the PyKMS service.";
+ description = "Whether to enable the PyKMS service.";
};
listenAddress = mkOption {
type = types.str;
default = "0.0.0.0";
- description = lib.mdDoc "The IP address on which to listen.";
+ description = "The IP address on which to listen.";
};
port = mkOption {
type = types.port;
default = 1688;
- description = lib.mdDoc "The port on which to listen.";
+ description = "The port on which to listen.";
};
openFirewallPort = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether the listening port should be opened automatically.";
+ description = "Whether the listening port should be opened automatically.";
};
memoryLimit = mkOption {
type = types.str;
default = "64M";
- description = lib.mdDoc "How much memory to use at most.";
+ description = "How much memory to use at most.";
};
logLevel = mkOption {
type = types.enum [ "CRITICAL" "ERROR" "WARNING" "INFO" "DEBUG" "MININFO" ];
default = "INFO";
- description = lib.mdDoc "How much to log";
+ description = "How much to log";
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [ ];
- description = lib.mdDoc "Additional arguments";
+ description = "Additional arguments";
};
};
};
diff --git a/nixos/modules/services/misc/radarr.nix b/nixos/modules/services/misc/radarr.nix
index eaf49673d3c7..d9f78c4e8ee6 100644
--- a/nixos/modules/services/misc/radarr.nix
+++ b/nixos/modules/services/misc/radarr.nix
@@ -9,32 +9,32 @@ in
{
options = {
services.radarr = {
- enable = mkEnableOption (lib.mdDoc "Radarr, a UsetNet/BitTorrent movie downloader");
+ enable = mkEnableOption "Radarr, a UsetNet/BitTorrent movie downloader";
package = mkPackageOption pkgs "radarr" { };
dataDir = mkOption {
type = types.str;
default = "/var/lib/radarr/.config/Radarr";
- description = lib.mdDoc "The directory where Radarr stores its data files.";
+ description = "The directory where Radarr stores its data files.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Open ports in the firewall for the Radarr web interface.";
+ description = "Open ports in the firewall for the Radarr web interface.";
};
user = mkOption {
type = types.str;
default = "radarr";
- description = lib.mdDoc "User account under which Radarr runs.";
+ description = "User account under which Radarr runs.";
};
group = mkOption {
type = types.str;
default = "radarr";
- description = lib.mdDoc "Group under which Radarr runs.";
+ description = "Group under which Radarr runs.";
};
};
};
diff --git a/nixos/modules/services/misc/readarr.nix b/nixos/modules/services/misc/readarr.nix
index 486e2b4155b5..b76a70859f75 100644
--- a/nixos/modules/services/misc/readarr.nix
+++ b/nixos/modules/services/misc/readarr.nix
@@ -8,12 +8,12 @@ in
{
options = {
services.readarr = {
- enable = mkEnableOption (lib.mdDoc "Readarr, a Usenet/BitTorrent ebook downloader");
+ enable = mkEnableOption "Readarr, a Usenet/BitTorrent ebook downloader";
dataDir = mkOption {
type = types.str;
default = "/var/lib/readarr/";
- description = lib.mdDoc "The directory where Readarr stores its data files.";
+ description = "The directory where Readarr stores its data files.";
};
package = mkPackageOption pkgs "readarr" { };
@@ -21,7 +21,7 @@ in
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open ports in the firewall for Readarr
'';
};
@@ -29,7 +29,7 @@ in
user = mkOption {
type = types.str;
default = "readarr";
- description = lib.mdDoc ''
+ description = ''
User account under which Readarr runs.
'';
};
@@ -37,7 +37,7 @@ in
group = mkOption {
type = types.str;
default = "readarr";
- description = lib.mdDoc ''
+ description = ''
Group under which Readarr runs.
'';
};
diff --git a/nixos/modules/services/misc/redmine.nix b/nixos/modules/services/misc/redmine.nix
index f99fe7a845be..af1773dab267 100644
--- a/nixos/modules/services/misc/redmine.nix
+++ b/nixos/modules/services/misc/redmine.nix
@@ -56,7 +56,7 @@ in
# interface
options = {
services.redmine = {
- enable = mkEnableOption (lib.mdDoc "Redmine, a project management web application");
+ enable = mkEnableOption "Redmine, a project management web application";
package = mkPackageOption pkgs "redmine" {
example = "redmine.override { ruby = pkgs.ruby_3_2; }";
@@ -65,31 +65,31 @@ in
user = mkOption {
type = types.str;
default = "redmine";
- description = lib.mdDoc "User under which Redmine is ran.";
+ description = "User under which Redmine is ran.";
};
group = mkOption {
type = types.str;
default = "redmine";
- description = lib.mdDoc "Group under which Redmine is ran.";
+ description = "Group under which Redmine is ran.";
};
port = mkOption {
type = types.port;
default = 3000;
- description = lib.mdDoc "Port on which Redmine is ran.";
+ description = "Port on which Redmine is ran.";
};
stateDir = mkOption {
type = types.str;
default = "/var/lib/redmine";
- description = lib.mdDoc "The state directory, logs and plugins are stored here.";
+ description = "The state directory, logs and plugins are stored here.";
};
settings = mkOption {
type = format.type;
default = {};
- description = lib.mdDoc ''
+ description = ''
Redmine configuration ({file}`configuration.yml`). Refer to
for details.
@@ -110,7 +110,7 @@ in
extraEnv = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc ''
+ description = ''
Extra configuration in additional_environment.rb.
See
@@ -124,7 +124,7 @@ in
themes = mkOption {
type = types.attrsOf types.path;
default = {};
- description = lib.mdDoc "Set of themes.";
+ description = "Set of themes.";
example = literalExpression ''
{
dkuk-redmine_alex_skin = builtins.fetchurl {
@@ -138,7 +138,7 @@ in
plugins = mkOption {
type = types.attrsOf types.path;
default = {};
- description = lib.mdDoc "Set of plugins.";
+ description = "Set of plugins.";
example = literalExpression ''
{
redmine_env_auth = builtins.fetchurl {
@@ -154,39 +154,39 @@ in
type = types.enum [ "mysql2" "postgresql" "sqlite3" ];
example = "postgresql";
default = "mysql2";
- description = lib.mdDoc "Database engine to use.";
+ description = "Database engine to use.";
};
host = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc "Database host address.";
+ description = "Database host address.";
};
port = mkOption {
type = types.port;
default = if cfg.database.type == "postgresql" then 5432 else 3306;
defaultText = literalExpression "3306";
- description = lib.mdDoc "Database host port.";
+ description = "Database host port.";
};
name = mkOption {
type = types.str;
default = "redmine";
- description = lib.mdDoc "Database name.";
+ description = "Database name.";
};
user = mkOption {
type = types.str;
default = "redmine";
- description = lib.mdDoc "Database user.";
+ description = "Database user.";
};
passwordFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/keys/redmine-dbpassword";
- description = lib.mdDoc ''
+ description = ''
A file containing the password corresponding to
{option}`database.user`.
'';
@@ -200,13 +200,13 @@ in
else null;
defaultText = literalExpression "/run/mysqld/mysqld.sock";
example = "/run/mysqld/mysqld.sock";
- description = lib.mdDoc "Path to the unix socket file to use for authentication.";
+ description = "Path to the unix socket file to use for authentication.";
};
createLocally = mkOption {
type = types.bool;
default = true;
- description = lib.mdDoc "Create the database and database user locally.";
+ description = "Create the database and database user locally.";
};
};
@@ -214,49 +214,49 @@ in
subversion = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Subversion integration.";
+ description = "Subversion integration.";
};
mercurial = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Mercurial integration.";
+ description = "Mercurial integration.";
};
git = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "git integration.";
+ description = "git integration.";
};
cvs = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "cvs integration.";
+ description = "cvs integration.";
};
breezy = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "bazaar integration.";
+ description = "bazaar integration.";
};
imagemagick = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Allows exporting Gant diagrams as PNG.";
+ description = "Allows exporting Gant diagrams as PNG.";
};
ghostscript = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Allows exporting Gant diagrams as PDF.";
+ description = "Allows exporting Gant diagrams as PDF.";
};
minimagick_font_path = mkOption {
type = types.str;
default = "";
- description = lib.mdDoc "MiniMagick font path";
+ description = "MiniMagick font path";
example = "/run/current-system/sw/share/X11/fonts/LiberationSans-Regular.ttf";
};
};
diff --git a/nixos/modules/services/misc/ripple-data-api.nix b/nixos/modules/services/misc/ripple-data-api.nix
index 30623a321338..a699ce95cf0e 100644
--- a/nixos/modules/services/misc/ripple-data-api.nix
+++ b/nixos/modules/services/misc/ripple-data-api.nix
@@ -35,47 +35,47 @@ let
in {
options = {
services.rippleDataApi = {
- enable = mkEnableOption (lib.mdDoc "ripple data api");
+ enable = mkEnableOption "ripple data api";
port = mkOption {
- description = lib.mdDoc "Ripple data api port";
+ description = "Ripple data api port";
default = 5993;
type = types.port;
};
importMode = mkOption {
- description = lib.mdDoc "Ripple data api import mode.";
+ description = "Ripple data api import mode.";
default = "liveOnly";
type = types.enum ["live" "liveOnly"];
};
minLedger = mkOption {
- description = lib.mdDoc "Ripple data api minimal ledger to fetch.";
+ description = "Ripple data api minimal ledger to fetch.";
default = null;
type = types.nullOr types.int;
};
maxLedger = mkOption {
- description = lib.mdDoc "Ripple data api maximal ledger to fetch.";
+ description = "Ripple data api maximal ledger to fetch.";
default = null;
type = types.nullOr types.int;
};
redis = {
enable = mkOption {
- description = lib.mdDoc "Whether to enable caching of ripple data to redis.";
+ description = "Whether to enable caching of ripple data to redis.";
default = true;
type = types.bool;
};
host = mkOption {
- description = lib.mdDoc "Ripple data api redis host.";
+ description = "Ripple data api redis host.";
default = "localhost";
type = types.str;
};
port = mkOption {
- description = lib.mdDoc "Ripple data api redis port.";
+ description = "Ripple data api redis port.";
default = 5984;
type = types.port;
};
@@ -83,44 +83,44 @@ in {
couchdb = {
host = mkOption {
- description = lib.mdDoc "Ripple data api couchdb host.";
+ description = "Ripple data api couchdb host.";
default = "localhost";
type = types.str;
};
port = mkOption {
- description = lib.mdDoc "Ripple data api couchdb port.";
+ description = "Ripple data api couchdb port.";
default = 5984;
type = types.port;
};
db = mkOption {
- description = lib.mdDoc "Ripple data api couchdb database.";
+ description = "Ripple data api couchdb database.";
default = "rippled";
type = types.str;
};
user = mkOption {
- description = lib.mdDoc "Ripple data api couchdb username.";
+ description = "Ripple data api couchdb username.";
default = "rippled";
type = types.str;
};
pass = mkOption {
- description = lib.mdDoc "Ripple data api couchdb password.";
+ description = "Ripple data api couchdb password.";
default = "";
type = types.str;
};
create = mkOption {
- description = lib.mdDoc "Whether to create couchdb database needed by ripple data api.";
+ description = "Whether to create couchdb database needed by ripple data api.";
type = types.bool;
default = true;
};
};
rippleds = mkOption {
- description = lib.mdDoc "List of rippleds to be used by ripple data api.";
+ description = "List of rippleds to be used by ripple data api.";
default = [
"http://s_east.ripple.com:51234"
"http://s_west.ripple.com:51234"
diff --git a/nixos/modules/services/misc/rippled.nix b/nixos/modules/services/misc/rippled.nix
index 08833e413541..3a906f3e714f 100644
--- a/nixos/modules/services/misc/rippled.nix
+++ b/nixos/modules/services/misc/rippled.nix
@@ -92,41 +92,41 @@ let
ip = mkOption {
default = "127.0.0.1";
- description = lib.mdDoc "Ip where rippled listens.";
+ description = "Ip where rippled listens.";
type = types.str;
};
port = mkOption {
- description = lib.mdDoc "Port where rippled listens.";
+ description = "Port where rippled listens.";
type = types.port;
};
protocol = mkOption {
- description = lib.mdDoc "Protocols expose by rippled.";
+ description = "Protocols expose by rippled.";
type = types.listOf (types.enum ["http" "https" "ws" "wss" "peer"]);
};
user = mkOption {
- description = lib.mdDoc "When set, these credentials will be required on HTTP/S requests.";
+ description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
};
password = mkOption {
- description = lib.mdDoc "When set, these credentials will be required on HTTP/S requests.";
+ description = "When set, these credentials will be required on HTTP/S requests.";
type = types.str;
default = "";
};
admin = mkOption {
- description = lib.mdDoc "A comma-separated list of admin IP addresses.";
+ description = "A comma-separated list of admin IP addresses.";
type = types.listOf types.str;
default = ["127.0.0.1"];
};
ssl = {
key = mkOption {
- description = lib.mdDoc ''
+ description = ''
Specifies the filename holding the SSL key in PEM format.
'';
default = null;
@@ -134,7 +134,7 @@ let
};
cert = mkOption {
- description = lib.mdDoc ''
+ description = ''
Specifies the path to the SSL certificate file in PEM format.
This is not needed if the chain includes it.
'';
@@ -143,7 +143,7 @@ let
};
chain = mkOption {
- description = lib.mdDoc ''
+ description = ''
If you need a certificate chain, specify the path to the
certificate chain here. The chain may include the end certificate.
'';
@@ -157,33 +157,33 @@ let
dbOptions = {
options = {
type = mkOption {
- description = lib.mdDoc "Rippled database type.";
+ description = "Rippled database type.";
type = types.enum ["rocksdb" "nudb"];
default = "rocksdb";
};
path = mkOption {
- description = lib.mdDoc "Location to store the database.";
+ description = "Location to store the database.";
type = types.path;
default = cfg.databasePath;
defaultText = literalExpression "config.${opt.databasePath}";
};
compression = mkOption {
- description = lib.mdDoc "Whether to enable snappy compression.";
+ description = "Whether to enable snappy compression.";
type = types.nullOr types.bool;
default = null;
};
onlineDelete = mkOption {
- description = lib.mdDoc "Enable automatic purging of older ledger information.";
+ description = "Enable automatic purging of older ledger information.";
type = types.nullOr (types.addCheck types.int (v: v > 256));
default = cfg.ledgerHistory;
defaultText = literalExpression "config.${opt.ledgerHistory}";
};
advisoryDelete = mkOption {
- description = lib.mdDoc ''
+ description = ''
If set, then require administrative RPC call "can_delete"
to enable online deletion of ledger records.
'';
@@ -192,7 +192,7 @@ let
};
extraOpts = mkOption {
- description = lib.mdDoc "Extra database options.";
+ description = "Extra database options.";
type = types.lines;
default = "";
};
@@ -207,12 +207,12 @@ in
options = {
services.rippled = {
- enable = mkEnableOption (lib.mdDoc "rippled, a decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++");
+ enable = mkEnableOption "rippled, a decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++";
package = mkPackageOption pkgs "rippled" { };
ports = mkOption {
- description = lib.mdDoc "Ports exposed by rippled";
+ description = "Ports exposed by rippled";
type = with types; attrsOf (submodule portOptions);
default = {
rpc = {
@@ -236,7 +236,7 @@ in
};
nodeDb = mkOption {
- description = lib.mdDoc "Rippled main database options.";
+ description = "Rippled main database options.";
type = with types; nullOr (submodule dbOptions);
default = {
type = "rocksdb";
@@ -251,19 +251,19 @@ in
};
tempDb = mkOption {
- description = lib.mdDoc "Rippled temporary database options.";
+ description = "Rippled temporary database options.";
type = with types; nullOr (submodule dbOptions);
default = null;
};
importDb = mkOption {
- description = lib.mdDoc "Settings for performing a one-time import.";
+ description = "Settings for performing a one-time import.";
type = with types; nullOr (submodule dbOptions);
default = null;
};
nodeSize = mkOption {
- description = lib.mdDoc ''
+ description = ''
Rippled size of the node you are running.
"tiny", "small", "medium", "large", and "huge"
'';
@@ -272,7 +272,7 @@ in
};
ips = mkOption {
- description = lib.mdDoc ''
+ description = ''
List of hostnames or ips where the Ripple protocol is served.
For a starter list, you can either copy entries from:
https://ripple.com/ripple.txt or if you prefer you can let it
@@ -287,7 +287,7 @@ in
};
ipsFixed = mkOption {
- description = lib.mdDoc ''
+ description = ''
List of IP addresses or hostnames to which rippled should always
attempt to maintain peer connections with. This is useful for
manually forming private networks, for example to configure a
@@ -301,7 +301,7 @@ in
};
validators = mkOption {
- description = lib.mdDoc ''
+ description = ''
List of nodes to always accept as validators. Nodes are specified by domain
or public key.
'';
@@ -316,7 +316,7 @@ in
};
databasePath = mkOption {
- description = lib.mdDoc ''
+ description = ''
Path to the ripple database.
'';
type = types.path;
@@ -324,7 +324,7 @@ in
};
validationQuorum = mkOption {
- description = lib.mdDoc ''
+ description = ''
The minimum number of trusted validations a ledger must have before
the server considers it fully validated.
'';
@@ -333,7 +333,7 @@ in
};
ledgerHistory = mkOption {
- description = lib.mdDoc ''
+ description = ''
The number of past ledgers to acquire on server startup and the minimum
to maintain while running.
'';
@@ -342,7 +342,7 @@ in
};
fetchDepth = mkOption {
- description = lib.mdDoc ''
+ description = ''
The number of past ledgers to serve to other peers that request historical
ledger data (or "full" for no limit).
'';
@@ -351,7 +351,7 @@ in
};
sntpServers = mkOption {
- description = lib.mdDoc ''
+ description = ''
IP address or domain of NTP servers to use for time synchronization.;
'';
type = types.listOf types.str;
@@ -364,22 +364,22 @@ in
};
logLevel = mkOption {
- description = lib.mdDoc "Logging verbosity.";
+ description = "Logging verbosity.";
type = types.enum ["debug" "error" "info"];
default = "error";
};
statsd = {
- enable = mkEnableOption (lib.mdDoc "statsd monitoring for rippled");
+ enable = mkEnableOption "statsd monitoring for rippled";
address = mkOption {
- description = lib.mdDoc "The UDP address and port of the listening StatsD server.";
+ description = "The UDP address and port of the listening StatsD server.";
default = "127.0.0.1:8125";
type = types.str;
};
prefix = mkOption {
- description = lib.mdDoc "A string prepended to each collected metric.";
+ description = "A string prepended to each collected metric.";
default = "";
type = types.str;
};
@@ -388,7 +388,7 @@ in
extraConfig = mkOption {
default = "";
type = types.lines;
- description = lib.mdDoc ''
+ description = ''
Extra lines to be added verbatim to the rippled.cfg configuration file.
'';
};
diff --git a/nixos/modules/services/misc/rkvm.nix b/nixos/modules/services/misc/rkvm.nix
index 582e8511ed96..9d41669e00f6 100644
--- a/nixos/modules/services/misc/rkvm.nix
+++ b/nixos/modules/services/misc/rkvm.nix
@@ -14,7 +14,7 @@ in
default = cfg.server.enable || cfg.client.enable;
defaultText = literalExpression "config.${opt.server.enable} || config.${opt.client.enable}";
type = types.bool;
- description = mdDoc ''
+ description = ''
Whether to enable rkvm, a Virtual KVM switch for Linux machines.
'';
};
@@ -32,7 +32,7 @@ in
listen = mkOption {
type = types.str;
default = "0.0.0.0:5258";
- description = mdDoc ''
+ description = ''
An internet socket address to listen on, either IPv4 or IPv6.
'';
};
@@ -40,7 +40,7 @@ in
switch-keys = mkOption {
type = types.listOf types.str;
default = [ "left-alt" "left-ctrl" ];
- description = mdDoc ''
+ description = ''
A key list specifying a host switch combination.
_A list of key names is available in ._
@@ -50,7 +50,7 @@ in
certificate = mkOption {
type = types.path;
default = "/etc/rkvm/certificate.pem";
- description = mdDoc ''
+ description = ''
TLS certificate path.
::: {.note}
@@ -62,7 +62,7 @@ in
key = mkOption {
type = types.path;
default = "/etc/rkvm/key.pem";
- description = mdDoc ''
+ description = ''
TLS key path.
::: {.note}
@@ -73,7 +73,7 @@ in
password = mkOption {
type = types.str;
- description = mdDoc ''
+ description = ''
Shared secret token to authenticate the client.
Make sure this matches your client's config.
'';
@@ -82,7 +82,7 @@ in
};
default = { };
- description = mdDoc "Structured server daemon configuration";
+ description = "Structured server daemon configuration";
};
};
@@ -97,7 +97,7 @@ in
server = mkOption {
type = types.str;
example = "192.168.0.123:5258";
- description = mdDoc ''
+ description = ''
An RKVM server's internet socket address, either IPv4 or IPv6.
'';
};
@@ -105,7 +105,7 @@ in
certificate = mkOption {
type = types.path;
default = "/etc/rkvm/certificate.pem";
- description = mdDoc ''
+ description = ''
TLS ceritficate path.
::: {.note}
@@ -116,7 +116,7 @@ in
password = mkOption {
type = types.str;
- description = mdDoc ''
+ description = ''
Shared secret token to authenticate the client.
Make sure this matches your server's config.
'';
@@ -125,7 +125,7 @@ in
};
default = {};
- description = mdDoc "Structured client daemon configuration";
+ description = "Structured client daemon configuration";
};
};
diff --git a/nixos/modules/services/misc/rmfakecloud.nix b/nixos/modules/services/misc/rmfakecloud.nix
index 979f4f14d383..6cc87753aa25 100644
--- a/nixos/modules/services/misc/rmfakecloud.nix
+++ b/nixos/modules/services/misc/rmfakecloud.nix
@@ -9,7 +9,7 @@ let
in {
options = {
services.rmfakecloud = {
- enable = mkEnableOption (lib.mdDoc "rmfakecloud remarkable self-hosted cloud");
+ enable = mkEnableOption "rmfakecloud remarkable self-hosted cloud";
package = mkPackageOption pkgs "rmfakecloud" {
extraDescription = ''
@@ -22,7 +22,7 @@ in {
storageUrl = mkOption {
type = types.str;
example = "https://local.appspot.com";
- description = lib.mdDoc ''
+ description = ''
URL used by the tablet to access the rmfakecloud service.
'';
};
@@ -30,7 +30,7 @@ in {
port = mkOption {
type = types.port;
default = 3000;
- description = lib.mdDoc ''
+ description = ''
Listening port number.
'';
};
@@ -38,7 +38,7 @@ in {
logLevel = mkOption {
type = types.enum [ "info" "debug" "warn" "error" ];
default = "info";
- description = lib.mdDoc ''
+ description = ''
Logging level.
'';
};
@@ -47,7 +47,7 @@ in {
type = with types; attrsOf str;
default = { };
example = { DATADIR = "/custom/path/for/rmfakecloud/data"; };
- description = lib.mdDoc ''
+ description = ''
Extra settings in the form of a set of key-value pairs.
For tokens and secrets, use `environmentFile` instead.
@@ -60,7 +60,7 @@ in {
type = with types; nullOr path;
default = null;
example = "/etc/secrets/rmfakecloud.env";
- description = lib.mdDoc ''
+ description = ''
Path to an environment file loaded for the rmfakecloud service.
This can be used to securely store tokens and secrets outside of the
diff --git a/nixos/modules/services/misc/rshim.nix b/nixos/modules/services/misc/rshim.nix
index ae13f7d208f6..4a66f61fa40a 100644
--- a/nixos/modules/services/misc/rshim.nix
+++ b/nixos/modules/services/misc/rshim.nix
@@ -12,13 +12,13 @@ let
in
{
options.services.rshim = {
- enable = lib.mkEnableOption (lib.mdDoc "user-space rshim driver for the BlueField SoC");
+ enable = lib.mkEnableOption "user-space rshim driver for the BlueField SoC";
package = lib.mkPackageOption pkgs "rshim-user-space" { };
backend = lib.mkOption {
type = with lib.types; nullOr (enum [ "usb" "pcie" "pcie_lf" ]);
- description = lib.mdDoc ''
+ description = ''
Specify the backend to attach. If not specified, the driver will scan
all rshim backends unless the `device` option is given with a device
name specified.
@@ -29,7 +29,7 @@ in
device = lib.mkOption {
type = with lib.types; nullOr str;
- description = lib.mdDoc ''
+ description = ''
Specify the device name to attach. The backend driver can be deduced
from the device name, thus the `backend` option is not needed.
'';
@@ -39,7 +39,7 @@ in
index = lib.mkOption {
type = with lib.types; nullOr int;
- description = lib.mdDoc ''
+ description = ''
Specify the index to create device path `/dev/rshim`. It's also
used to create network interface name `tmfifo_net`. This option
is needed when multiple rshim instances are running.
@@ -50,7 +50,7 @@ in
log-level = lib.mkOption {
type = lib.types.int;
- description = lib.mdDoc ''
+ description = ''
Specify the log level (0:none, 1:error, 2:warning, 3:notice, 4:debug).
'';
default = 2;
@@ -59,7 +59,7 @@ in
config = lib.mkOption {
type = with lib.types; attrsOf (oneOf [ int str ]);
- description = lib.mdDoc ''
+ description = ''
Structural setting for the rshim configuration file
(`/etc/rshim.conf`). It can be used to specify the static mapping
between rshim devices and rshim names. It can also be used to ignore
diff --git a/nixos/modules/services/misc/safeeyes.nix b/nixos/modules/services/misc/safeeyes.nix
index 9dfa2001bcb7..38970fd77527 100644
--- a/nixos/modules/services/misc/safeeyes.nix
+++ b/nixos/modules/services/misc/safeeyes.nix
@@ -16,7 +16,7 @@ in
services.safeeyes = {
- enable = mkEnableOption (lib.mdDoc "the safeeyes OSGi service");
+ enable = mkEnableOption "the safeeyes OSGi service";
};
diff --git a/nixos/modules/services/misc/sdrplay.nix b/nixos/modules/services/misc/sdrplay.nix
index 2d5333e3885b..d56b1e4124d6 100644
--- a/nixos/modules/services/misc/sdrplay.nix
+++ b/nixos/modules/services/misc/sdrplay.nix
@@ -5,7 +5,7 @@ with lib;
enable = mkOption {
default = false;
example = true;
- description = lib.mdDoc ''
+ description = ''
Whether to enable the SDRplay API service and udev rules.
::: {.note}
diff --git a/nixos/modules/services/misc/serviio.nix b/nixos/modules/services/misc/serviio.nix
index 18e64030d79d..a9449e54f5b0 100644
--- a/nixos/modules/services/misc/serviio.nix
+++ b/nixos/modules/services/misc/serviio.nix
@@ -31,7 +31,7 @@ in {
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable the Serviio Media Server.
'';
};
@@ -39,7 +39,7 @@ in {
dataDir = mkOption {
type = types.path;
default = "/var/lib/serviio";
- description = lib.mdDoc ''
+ description = ''
The directory where serviio stores its state, data, etc.
'';
};
diff --git a/nixos/modules/services/misc/sickbeard.nix b/nixos/modules/services/misc/sickbeard.nix
index f141660ced86..51179fdb14d3 100644
--- a/nixos/modules/services/misc/sickbeard.nix
+++ b/nixos/modules/services/misc/sickbeard.nix
@@ -20,7 +20,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether to enable the sickbeard server.";
+ description = "Whether to enable the sickbeard server.";
};
package = mkPackageOption pkgs "sickbeard" {
example = "sickrage";
@@ -32,28 +32,28 @@ in
dataDir = mkOption {
type = types.path;
default = "/var/lib/${name}";
- description = lib.mdDoc "Path where to store data files.";
+ description = "Path where to store data files.";
};
configFile = mkOption {
type = types.path;
default = "${cfg.dataDir}/config.ini";
defaultText = literalExpression ''"''${config.${opt.dataDir}}/config.ini"'';
- description = lib.mdDoc "Path to config file.";
+ description = "Path to config file.";
};
port = mkOption {
type = types.ints.u16;
default = 8081;
- description = lib.mdDoc "Port to bind to.";
+ description = "Port to bind to.";
};
user = mkOption {
type = types.str;
default = name;
- description = lib.mdDoc "User to run the service as";
+ description = "User to run the service as";
};
group = mkOption {
type = types.str;
default = name;
- description = lib.mdDoc "Group to run the service as";
+ description = "Group to run the service as";
};
};
};
diff --git a/nixos/modules/services/misc/signald.nix b/nixos/modules/services/misc/signald.nix
index 44b82a931cd8..45cf1434882f 100644
--- a/nixos/modules/services/misc/signald.nix
+++ b/nixos/modules/services/misc/signald.nix
@@ -8,24 +8,24 @@ let
in
{
options.services.signald = {
- enable = mkEnableOption (lib.mdDoc "signald, the unofficial daemon for interacting with Signal");
+ enable = mkEnableOption "signald, the unofficial daemon for interacting with Signal";
user = mkOption {
type = types.str;
default = defaultUser;
- description = lib.mdDoc "User under which signald runs.";
+ description = "User under which signald runs.";
};
group = mkOption {
type = types.str;
default = defaultUser;
- description = lib.mdDoc "Group under which signald runs.";
+ description = "Group under which signald runs.";
};
socketPath = mkOption {
type = types.str;
default = "/run/signald/signald.sock";
- description = lib.mdDoc "Path to the signald socket";
+ description = "Path to the signald socket";
};
};
diff --git a/nixos/modules/services/misc/siproxd.nix b/nixos/modules/services/misc/siproxd.nix
index 3890962b7cfb..bedc91e3b43c 100644
--- a/nixos/modules/services/misc/siproxd.nix
+++ b/nixos/modules/services/misc/siproxd.nix
@@ -37,7 +37,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to enable the Siproxd SIP
proxy/masquerading daemon.
'';
@@ -46,20 +46,20 @@ in
ifInbound = mkOption {
type = types.str;
example = "eth0";
- description = lib.mdDoc "Local network interface";
+ description = "Local network interface";
};
ifOutbound = mkOption {
type = types.str;
example = "ppp0";
- description = lib.mdDoc "Public network interface";
+ description = "Public network interface";
};
hostsAllowReg = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "192.168.1.0/24" "192.168.2.0/24" ];
- description = lib.mdDoc ''
+ description = ''
Access control list for incoming SIP registrations.
'';
};
@@ -68,7 +68,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "123.45.0.0/16" "123.46.0.0/16" ];
- description = lib.mdDoc ''
+ description = ''
Access control list for incoming SIP traffic.
'';
};
@@ -77,7 +77,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "10.0.0.0/8" "11.0.0.0/8" ];
- description = lib.mdDoc ''
+ description = ''
Access control list for denying incoming
SIP registrations and traffic.
'';
@@ -86,7 +86,7 @@ in
sipListenPort = mkOption {
type = types.int;
default = 5060;
- description = lib.mdDoc ''
+ description = ''
Port to listen for incoming SIP messages.
'';
};
@@ -94,7 +94,7 @@ in
rtpPortLow = mkOption {
type = types.int;
default = 7070;
- description = lib.mdDoc ''
+ description = ''
Bottom of UDP port range for incoming and outgoing RTP traffic
'';
};
@@ -102,7 +102,7 @@ in
rtpPortHigh = mkOption {
type = types.int;
default = 7089;
- description = lib.mdDoc ''
+ description = ''
Top of UDP port range for incoming and outgoing RTP traffic
'';
};
@@ -110,7 +110,7 @@ in
rtpTimeout = mkOption {
type = types.int;
default = 300;
- description = lib.mdDoc ''
+ description = ''
Timeout for an RTP stream. If for the specified
number of seconds no data is relayed on an active
stream, it is considered dead and will be killed.
@@ -120,7 +120,7 @@ in
rtpDscp = mkOption {
type = types.int;
default = 46;
- description = lib.mdDoc ''
+ description = ''
DSCP (differentiated services) value to be assigned
to RTP packets. Allows QOS aware routers to handle
different types traffic with different priorities.
@@ -130,7 +130,7 @@ in
sipDscp = mkOption {
type = types.int;
default = 0;
- description = lib.mdDoc ''
+ description = ''
DSCP (differentiated services) value to be assigned
to SIP packets. Allows QOS aware routers to handle
different types traffic with different priorities.
@@ -140,7 +140,7 @@ in
passwordFile = mkOption {
type = types.str;
default = "";
- description = lib.mdDoc ''
+ description = ''
Path to per-user password file.
'';
};
@@ -148,7 +148,7 @@ in
extraConfig = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc ''
+ description = ''
Extra configuration to add to siproxd configuration.
'';
};
diff --git a/nixos/modules/services/misc/snapper.nix b/nixos/modules/services/misc/snapper.nix
index 569433c3c71d..3a3ed1b5c0f5 100644
--- a/nixos/modules/services/misc/snapper.nix
+++ b/nixos/modules/services/misc/snapper.nix
@@ -25,7 +25,7 @@ let
configOptions = {
SUBVOLUME = mkOption {
type = types.path;
- description = lib.mdDoc ''
+ description = ''
Path of the subvolume or mount point.
This path is a subvolume and has to contain a subvolume named
.snapshots.
@@ -36,7 +36,7 @@ let
FSTYPE = mkOption {
type = types.enum [ "btrfs" ];
default = "btrfs";
- description = lib.mdDoc ''
+ description = ''
Filesystem type. Only btrfs is stable and tested.
'';
};
@@ -44,7 +44,7 @@ let
ALLOW_GROUPS = mkOption {
type = types.listOf safeStr;
default = [];
- description = lib.mdDoc ''
+ description = ''
List of groups allowed to operate with the config.
Also see the PERMISSIONS section in man:snapper(8).
@@ -55,7 +55,7 @@ let
type = types.listOf safeStr;
default = [];
example = [ "alice" ];
- description = lib.mdDoc ''
+ description = ''
List of users allowed to operate with the config. "root" is always
implicitly included.
@@ -66,7 +66,7 @@ let
TIMELINE_CLEANUP = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Defines whether the timeline cleanup algorithm should be run for the config.
'';
};
@@ -74,7 +74,7 @@ let
TIMELINE_CREATE = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Defines whether hourly snapshots should be created.
'';
};
@@ -87,7 +87,7 @@ in
snapshotRootOnBoot = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to snapshot root on boot
'';
};
@@ -95,7 +95,7 @@ in
snapshotInterval = mkOption {
type = types.str;
default = "hourly";
- description = lib.mdDoc ''
+ description = ''
Snapshot interval.
The format is described in
@@ -106,7 +106,7 @@ in
cleanupInterval = mkOption {
type = types.str;
default = "1d";
- description = lib.mdDoc ''
+ description = ''
Cleanup interval.
The format is described in
@@ -117,7 +117,7 @@ in
filters = mkOption {
type = types.nullOr types.lines;
default = null;
- description = lib.mdDoc ''
+ description = ''
Global display difference filter. See man:snapper(8) for more details.
'';
};
@@ -135,7 +135,7 @@ in
}
'';
- description = lib.mdDoc ''
+ description = ''
Subvolume configuration. Any option mentioned in man:snapper-configs(5)
is valid here, even if NixOS doesn't document it.
'';
diff --git a/nixos/modules/services/misc/soft-serve.nix b/nixos/modules/services/misc/soft-serve.nix
index 2b63b6bcd867..1907d92adb85 100644
--- a/nixos/modules/services/misc/soft-serve.nix
+++ b/nixos/modules/services/misc/soft-serve.nix
@@ -19,7 +19,7 @@ in
settings = mkOption {
type = format.type;
default = { };
- description = mdDoc ''
+ description = ''
The contents of the configuration file for soft-serve.
See <${docUrl}>.
diff --git a/nixos/modules/services/misc/sonarr.nix b/nixos/modules/services/misc/sonarr.nix
index ec59988d2b9a..228a2d48f5a9 100644
--- a/nixos/modules/services/misc/sonarr.nix
+++ b/nixos/modules/services/misc/sonarr.nix
@@ -8,18 +8,18 @@ in
{
options = {
services.sonarr = {
- enable = mkEnableOption (lib.mdDoc "Sonarr");
+ enable = mkEnableOption "Sonarr";
dataDir = mkOption {
type = types.str;
default = "/var/lib/sonarr/.config/NzbDrone";
- description = lib.mdDoc "The directory where Sonarr stores its data files.";
+ description = "The directory where Sonarr stores its data files.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open ports in the firewall for the Sonarr web interface
'';
};
@@ -27,13 +27,13 @@ in
user = mkOption {
type = types.str;
default = "sonarr";
- description = lib.mdDoc "User account under which Sonaar runs.";
+ description = "User account under which Sonaar runs.";
};
group = mkOption {
type = types.str;
default = "sonarr";
- description = lib.mdDoc "Group under which Sonaar runs.";
+ description = "Group under which Sonaar runs.";
};
package = mkPackageOption pkgs "sonarr" { };
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index 557d6d7e7168..94a96dba6790 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -56,38 +56,38 @@ let
})));
commonServiceSettings = srv: {
origin = mkOption {
- description = lib.mdDoc "URL ${srv}.sr.ht is being served at (protocol://domain)";
+ description = "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 = lib.mdDoc "Address to bind the debug server to.";
+ description = "Address to bind the debug server to.";
type = with types; nullOr str;
default = null;
};
debug-port = mkOption {
- description = lib.mdDoc "Port to bind the debug server to.";
+ description = "Port to bind the debug server to.";
type = with types; nullOr str;
default = null;
};
connection-string = mkOption {
- description = lib.mdDoc "SQLAlchemy connection string for the database.";
+ description = "SQLAlchemy connection string for the database.";
type = types.str;
default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
};
- migrate-on-upgrade = mkEnableOption (lib.mdDoc "automatic migrations on package upgrade") // { default = true; };
+ migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; };
oauth-client-id = mkOption {
- description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
+ description = "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
type = types.str;
};
oauth-client-secret = mkOption {
- description = lib.mdDoc "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
+ description = "${srv}.sr.ht's OAuth client secret for meta.sr.ht.";
type = types.path;
apply = s: "<" + toString s;
};
api-origin = mkOption {
- description = lib.mdDoc "Origin URL for the API";
+ description = "Origin URL for the API";
type = types.str;
default = "http://${cfg.listenAddress}:${toString (cfg.${srv}.port + 100)}";
defaultText = lib.literalMD ''
@@ -117,57 +117,57 @@ let
todosrht
]);
mkOptionNullOrStr = description: mkOption {
- description = lib.mdDoc description;
+ description = description;
type = with types; nullOr str;
default = null;
};
in
{
options.services.sourcehut = {
- enable = mkEnableOption (lib.mdDoc ''
+ enable = mkEnableOption ''
sourcehut - git hosting, continuous integration, mailing list, ticket tracking, wiki
and account management services
- '');
+ '';
listenAddress = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc "Address to bind to.";
+ description = "Address to bind to.";
};
python = mkOption {
internal = true;
type = types.package;
default = python;
- description = lib.mdDoc ''
+ description = ''
The python package to use. It should contain references to the *srht modules and also
gunicorn.
'';
};
minio = {
- enable = mkEnableOption (lib.mdDoc ''local minio integration'');
+ enable = mkEnableOption ''local minio integration'';
};
nginx = {
- enable = mkEnableOption (lib.mdDoc ''local nginx integration'');
+ enable = mkEnableOption ''local nginx integration'';
virtualHost = mkOption {
type = types.attrs;
default = {};
- description = lib.mdDoc "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
+ description = "Virtual-host configuration merged with all Sourcehut's virtual-hosts.";
};
};
postfix = {
- enable = mkEnableOption (lib.mdDoc ''local postfix integration'');
+ enable = mkEnableOption ''local postfix integration'';
};
postgresql = {
- enable = mkEnableOption (lib.mdDoc ''local postgresql integration'');
+ enable = mkEnableOption ''local postgresql integration'';
};
redis = {
- enable = mkEnableOption (lib.mdDoc ''local redis integration in a dedicated redis-server'');
+ enable = mkEnableOption ''local redis integration in a dedicated redis-server'';
};
settings = mkOption {
@@ -175,17 +175,17 @@ in
freeformType = settingsFormat.type;
options."sr.ht" = {
global-domain = mkOption {
- description = lib.mdDoc "Global domain name.";
+ description = "Global domain name.";
type = types.str;
example = "example.com";
};
environment = mkOption {
- description = lib.mdDoc "Values other than \"production\" adds a banner to each page.";
+ description = "Values other than \"production\" adds a banner to each page.";
type = types.enum [ "development" "production" ];
default = "development";
};
network-key = mkOption {
- description = lib.mdDoc ''
+ description = ''
An absolute file path (which should be outside the Nix-store)
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.
@@ -194,27 +194,27 @@ in
apply = s: "<" + toString s;
};
owner-email = mkOption {
- description = lib.mdDoc "Owner's email.";
+ description = "Owner's email.";
type = types.str;
default = "contact@example.com";
};
owner-name = mkOption {
- description = lib.mdDoc "Owner's name.";
+ description = "Owner's name.";
type = types.str;
default = "John Doe";
};
site-blurb = mkOption {
- description = lib.mdDoc "Blurb for your site.";
+ description = "Blurb for your site.";
type = types.str;
default = "the hacker's forge";
};
site-info = mkOption {
- description = lib.mdDoc "The top-level info page for your site.";
+ description = "The top-level info page for your site.";
type = types.str;
default = "https://sourcehut.org";
};
service-key = mkOption {
- description = lib.mdDoc ''
+ description = ''
An absolute file path (which should be outside the Nix-store)
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
@@ -226,12 +226,12 @@ in
apply = s: "<" + toString s;
};
site-name = mkOption {
- description = lib.mdDoc "The name of your network of sr.ht-based sites.";
+ description = "The name of your network of sr.ht-based sites.";
type = types.str;
default = "sourcehut";
};
source-url = mkOption {
- description = lib.mdDoc "The source code for your fork of sr.ht.";
+ description = "The source code for your fork of sr.ht.";
type = types.str;
default = "https://git.sr.ht/~sircmpwn/srht";
};
@@ -239,7 +239,7 @@ in
options.mail = {
smtp-host = mkOptionNullOrStr "Outgoing SMTP host.";
smtp-port = mkOption {
- description = lib.mdDoc "Outgoing SMTP port.";
+ description = "Outgoing SMTP port.";
type = with types; nullOr port;
default = null;
};
@@ -247,13 +247,13 @@ in
smtp-password = mkOptionNullOrStr "Outgoing SMTP password.";
smtp-from = mkOption {
type = types.str;
- description = lib.mdDoc "Outgoing SMTP FROM.";
+ description = "Outgoing SMTP FROM.";
};
error-to = mkOptionNullOrStr "Address receiving application exceptions";
error-from = mkOptionNullOrStr "Address sending application exceptions";
pgp-privkey = mkOption {
type = types.str;
- description = lib.mdDoc ''
+ description = ''
An absolute file path (which should be outside the Nix-store)
to an OpenPGP private key.
@@ -265,26 +265,26 @@ in
};
pgp-pubkey = mkOption {
type = with types; either path str;
- description = lib.mdDoc "OpenPGP public key.";
+ description = "OpenPGP public key.";
};
pgp-key-id = mkOption {
type = types.str;
- description = lib.mdDoc "OpenPGP key identifier.";
+ description = "OpenPGP key identifier.";
};
};
options.objects = {
s3-upstream = mkOption {
- description = lib.mdDoc "Configure the S3-compatible object storage service.";
+ description = "Configure the S3-compatible object storage service.";
type = with types; nullOr str;
default = null;
};
s3-access-key = mkOption {
- description = lib.mdDoc "Access key to the S3-compatible object storage service";
+ description = "Access key to the S3-compatible object storage service";
type = with types; nullOr str;
default = null;
};
s3-secret-key = mkOption {
- description = lib.mdDoc ''
+ description = ''
An absolute file path (which should be outside the Nix-store)
to the secret key of the S3-compatible object storage service.
'';
@@ -295,7 +295,7 @@ in
};
options.webhooks = {
private-key = mkOption {
- description = lib.mdDoc ''
+ description = ''
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,
@@ -309,14 +309,14 @@ in
};
options."builds.sr.ht" = commonServiceSettings "builds" // {
- allow-free = mkEnableOption (lib.mdDoc "nonpaying users to submit builds");
+ allow-free = mkEnableOption "nonpaying users to submit builds";
redis = mkOption {
- description = lib.mdDoc "The Redis connection used for the Celery worker.";
+ description = "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 = lib.mdDoc ''
+ description = ''
Scripts used to launch on SSH connection.
`/usr/bin/master-shell` on master,
`/usr/bin/runner-shell` on runner.
@@ -329,19 +329,19 @@ in
};
options."builds.sr.ht::worker" = {
bind-address = mkOption {
- description = lib.mdDoc ''
+ description = ''
HTTP bind address for serving local build information/monitoring.
'';
type = types.str;
default = "localhost:8080";
};
buildlogs = mkOption {
- description = lib.mdDoc "Path to write build logs.";
+ description = "Path to write build logs.";
type = types.str;
default = "/var/log/sourcehut/buildsrht-worker";
};
name = mkOption {
- description = lib.mdDoc ''
+ description = ''
Listening address and listening port
of the build runner (with HTTP port if not 80).
'';
@@ -349,7 +349,7 @@ in
default = "localhost:5020";
};
timeout = mkOption {
- description = lib.mdDoc ''
+ description = ''
Max build duration.
See .
'';
@@ -360,12 +360,12 @@ in
options."git.sr.ht" = commonServiceSettings "git" // {
outgoing-domain = mkOption {
- description = lib.mdDoc "Outgoing domain.";
+ description = "Outgoing domain.";
type = types.str;
default = "https://git.localhost.localdomain";
};
post-update-script = mkOption {
- description = lib.mdDoc ''
+ description = ''
A post-update script which is installed in every git repo.
This setting is propagated to newer and existing repositories.
'';
@@ -374,7 +374,7 @@ in
defaultText = "\${pkgs.sourcehut.gitsrht}/bin/gitsrht-update-hook";
};
repos = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
@@ -383,14 +383,14 @@ in
default = "/var/lib/sourcehut/gitsrht/repos";
};
webhooks = mkOption {
- description = lib.mdDoc "The Redis connection used for the webhooks worker.";
+ description = "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 = lib.mdDoc ''
+ description = ''
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.
@@ -403,7 +403,7 @@ in
options."hg.sr.ht" = commonServiceSettings "hg" // {
changegroup-script = mkOption {
- description = lib.mdDoc ''
+ description = ''
A changegroup script which is installed in every mercurial repo.
This setting is propagated to newer and existing repositories.
'';
@@ -412,7 +412,7 @@ in
defaultText = "\${pkgs.sourcehut.hgsrht}/bin/hgsrht-hook-changegroup";
};
repos = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
@@ -425,18 +425,18 @@ in
(defaults to where the hgsrht code is)
'';
clone_bundle_threshold = mkOption {
- description = lib.mdDoc ".hg/store size (in MB) past which the nightly job generates clone bundles.";
+ description = ".hg/store size (in MB) past which the nightly job generates clone bundles.";
type = types.ints.unsigned;
default = 50;
};
hg_ssh = mkOption {
- description = lib.mdDoc "Path to hg-ssh (if not in $PATH).";
+ description = "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 = lib.mdDoc "The Redis connection used for the webhooks worker.";
+ description = "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-hgsrht/redis.sock?virtual_host=1";
};
@@ -446,31 +446,31 @@ in
};
options."lists.sr.ht" = commonServiceSettings "lists" // {
- allow-new-lists = mkEnableOption (lib.mdDoc "creation of new lists");
+ allow-new-lists = mkEnableOption "creation of new lists";
notify-from = mkOption {
- description = lib.mdDoc "Outgoing email for notifications generated by users.";
+ description = "Outgoing email for notifications generated by users.";
type = types.str;
default = "lists-notify@localhost.localdomain";
};
posting-domain = mkOption {
- description = lib.mdDoc "Posting domain.";
+ description = "Posting domain.";
type = types.str;
default = "lists.localhost.localdomain";
};
redis = mkOption {
- description = lib.mdDoc "The Redis connection used for the Celery worker.";
+ description = "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 = lib.mdDoc "The Redis connection used for the webhooks worker.";
+ description = "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 = lib.mdDoc ''
+ description = ''
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.
@@ -481,12 +481,12 @@ in
default = ["text/html"];
};
reject-url = mkOption {
- description = lib.mdDoc "Reject URL.";
+ description = "Reject URL.";
type = types.str;
default = "https://man.sr.ht/lists.sr.ht/etiquette.md";
};
sock = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
'';
@@ -494,7 +494,7 @@ in
default = "/tmp/lists.sr.ht-lmtp.sock";
};
sock-group = mkOption {
- description = lib.mdDoc ''
+ description = ''
The lmtp daemon will make the unix socket group-read/write
for users in this group.
'';
@@ -510,15 +510,15 @@ in
removeAttrs (commonServiceSettings "meta")
["oauth-client-id" "oauth-client-secret"] // {
webhooks = mkOption {
- description = lib.mdDoc "The Redis connection used for the webhooks worker.";
+ description = "The Redis connection used for the webhooks worker.";
type = types.str;
default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
};
- welcome-emails = mkEnableOption (lib.mdDoc "sending stock sourcehut welcome emails after signup");
+ welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup";
};
options."meta.sr.ht::api" = {
internal-ipnet = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
@@ -529,13 +529,13 @@ in
};
};
options."meta.sr.ht::aliases" = mkOption {
- description = lib.mdDoc "Aliases for the client IDs of commonly used OAuth clients.";
+ description = "Aliases for the client IDs of commonly used OAuth clients.";
type = with types; attrsOf int;
default = {};
example = { "git.sr.ht" = 12345; };
};
options."meta.sr.ht::billing" = {
- enabled = mkEnableOption (lib.mdDoc "the billing system");
+ enabled = mkEnableOption "the billing system";
stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys";
stripe-secret-key = mkOptionNullOrStr ''
An absolute file path (which should be outside the Nix-store)
@@ -545,14 +545,14 @@ in
};
};
options."meta.sr.ht::settings" = {
- registration = mkEnableOption (lib.mdDoc "public registration");
+ registration = mkEnableOption "public registration";
onboarding-redirect = mkOption {
- description = lib.mdDoc "Where to redirect new users upon registration.";
+ description = "Where to redirect new users upon registration.";
type = types.str;
default = "https://meta.localhost.localdomain";
};
user-invites = mkOption {
- description = lib.mdDoc ''
+ description = ''
How many invites each user is issued upon registration
(only applicable if open registration is disabled).
'';
@@ -563,7 +563,7 @@ in
options."pages.sr.ht" = commonServiceSettings "pages" // {
gemini-certs = mkOption {
- description = lib.mdDoc ''
+ description = ''
An absolute file path (which should be outside the Nix-store)
to Gemini certificates.
'';
@@ -571,12 +571,12 @@ in
default = null;
};
max-site-size = mkOption {
- description = lib.mdDoc "Maximum size of any given site (post-gunzip), in MiB.";
+ description = "Maximum size of any given site (post-gunzip), in MiB.";
type = types.int;
default = 1024;
};
user-domain = mkOption {
- description = lib.mdDoc ''
+ description = ''
Configures the user domain, if enabled.
All users are given \.this.domain.
'';
@@ -586,7 +586,7 @@ in
};
options."pages.sr.ht::api" = {
internal-ipnet = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
@@ -602,24 +602,24 @@ in
options."todo.sr.ht" = commonServiceSettings "todo" // {
notify-from = mkOption {
- description = lib.mdDoc "Outgoing email for notifications generated by users.";
+ description = "Outgoing email for notifications generated by users.";
type = types.str;
default = "todo-notify@localhost.localdomain";
};
webhooks = mkOption {
- description = lib.mdDoc "The Redis connection used for the webhooks worker.";
+ description = "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 = lib.mdDoc "Posting domain.";
+ description = "Posting domain.";
type = types.str;
default = "todo.localhost.localdomain";
};
sock = mkOption {
- description = lib.mdDoc ''
+ description = ''
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.
'';
@@ -627,7 +627,7 @@ in
default = "/tmp/todo.sr.ht-lmtp.sock";
};
sock-group = mkOption {
- description = lib.mdDoc ''
+ description = ''
The lmtp daemon will make the unix socket group-read/write
for users in this group.
'';
@@ -637,13 +637,13 @@ in
};
};
default = { };
- description = lib.mdDoc ''
+ description = ''
The configuration for the sourcehut network.
'';
};
builds = {
- enableWorker = mkEnableOption (lib.mdDoc ''
+ enableWorker = mkEnableOption ''
worker for builds.sr.ht
::: {.warning}
@@ -653,7 +653,7 @@ in
(e.g. automatic testing of patches via listssrht).
See .
:::
- '');
+ '';
images = mkOption {
type = with types; attrsOf (attrsOf (attrsOf package));
@@ -673,7 +673,7 @@ in
nixos.unstable.x86_64 = image_from_nixpkgs;
}
)'';
- description = lib.mdDoc ''
+ description = ''
Images for builds.sr.ht. Each package should be distro.release.arch and point to a /nix/store/package/root.img.qcow2.
'';
};
@@ -684,7 +684,7 @@ in
example = "gitFull";
};
fcgiwrap.preforkProcess = mkOption {
- description = lib.mdDoc "Number of fcgiwrap processes to prefork.";
+ description = "Number of fcgiwrap processes to prefork.";
type = types.int;
default = 4;
};
@@ -695,7 +695,7 @@ in
cloneBundles = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Generate clonebundles (which require more disk space but dramatically speed up cloning large repositories).
'';
};
@@ -706,12 +706,12 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ];
- description = lib.mdDoc "Extra arguments passed to the Celery responsible for processing mails.";
+ description = "Extra arguments passed to the Celery responsible for processing mails.";
};
celeryConfig = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery of `listssrht-process`.";
+ description = "Content of the `celeryconfig.py` used by the Celery of `listssrht-process`.";
};
};
};
diff --git a/nixos/modules/services/misc/sourcehut/service.nix b/nixos/modules/services/misc/sourcehut/service.nix
index 4a8289b4d403..ce5a0e78627c 100644
--- a/nixos/modules/services/misc/sourcehut/service.nix
+++ b/nixos/modules/services/misc/sourcehut/service.nix
@@ -133,12 +133,12 @@ let
in
{
options.services.sourcehut.${srv} = {
- enable = mkEnableOption (lib.mdDoc "${srv} service");
+ enable = mkEnableOption "${srv} service";
user = mkOption {
type = types.str;
default = srvsrht;
- description = lib.mdDoc ''
+ description = ''
User for ${srv}.sr.ht.
'';
};
@@ -146,7 +146,7 @@ in
group = mkOption {
type = types.str;
default = srvsrht;
- description = lib.mdDoc ''
+ description = ''
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).
@@ -156,7 +156,7 @@ in
port = mkOption {
type = types.port;
default = port;
- description = lib.mdDoc ''
+ description = ''
Port on which the "${srv}" backend should listen.
'';
};
@@ -166,7 +166,7 @@ in
type = types.str;
default = "unix:///run/redis-sourcehut-${srvsrht}/redis.sock?db=0";
example = "redis://shared.wireguard:6379/0";
- description = lib.mdDoc ''
+ description = ''
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
@@ -179,7 +179,7 @@ in
database = mkOption {
type = types.str;
default = "${srv}.sr.ht";
- description = lib.mdDoc ''
+ description = ''
PostgreSQL database name for the ${srv}.sr.ht service,
used if [](#opt-services.sourcehut.postgresql.enable) is `true`.
'';
@@ -190,7 +190,7 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = [ "--timeout 120" "--workers 1" "--log-level=info" ];
- description = lib.mdDoc "Extra arguments passed to Gunicorn.";
+ description = "Extra arguments passed to Gunicorn.";
};
};
} // optionalAttrs webhooks {
@@ -198,12 +198,12 @@ in
extraArgs = mkOption {
type = with types; listOf str;
default = [ "--loglevel DEBUG" "--pool eventlet" "--without-heartbeat" ];
- description = lib.mdDoc "Extra arguments passed to the Celery responsible for webhooks.";
+ description = "Extra arguments passed to the Celery responsible for webhooks.";
};
celeryConfig = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc "Content of the `celeryconfig.py` used by the Celery responsible for webhooks.";
+ description = "Content of the `celeryconfig.py` used by the Celery responsible for webhooks.";
};
};
};
diff --git a/nixos/modules/services/misc/spice-autorandr.nix b/nixos/modules/services/misc/spice-autorandr.nix
index 0d8830dbd5be..0d58d2865717 100644
--- a/nixos/modules/services/misc/spice-autorandr.nix
+++ b/nixos/modules/services/misc/spice-autorandr.nix
@@ -6,7 +6,7 @@ in
{
options = {
services.spice-autorandr = {
- enable = lib.mkEnableOption (lib.mdDoc "spice-autorandr service that will automatically resize display to match SPICE client window size.");
+ enable = lib.mkEnableOption "spice-autorandr service that will automatically resize display to match SPICE client window size.";
package = lib.mkPackageOption pkgs "spice-autorandr" { };
};
};
diff --git a/nixos/modules/services/misc/spice-vdagentd.nix b/nixos/modules/services/misc/spice-vdagentd.nix
index bde64847d89e..2dd9fcf68ab0 100644
--- a/nixos/modules/services/misc/spice-vdagentd.nix
+++ b/nixos/modules/services/misc/spice-vdagentd.nix
@@ -7,7 +7,7 @@ in
{
options = {
services.spice-vdagentd = {
- enable = mkEnableOption (lib.mdDoc "Spice guest vdagent daemon");
+ enable = mkEnableOption "Spice guest vdagent daemon";
};
};
diff --git a/nixos/modules/services/misc/spice-webdavd.nix b/nixos/modules/services/misc/spice-webdavd.nix
index 2b4304365618..9df0f7a420e7 100644
--- a/nixos/modules/services/misc/spice-webdavd.nix
+++ b/nixos/modules/services/misc/spice-webdavd.nix
@@ -7,7 +7,7 @@ in
{
options = {
services.spice-webdavd = {
- enable = mkEnableOption (lib.mdDoc "the spice guest webdav proxy daemon");
+ enable = mkEnableOption "the spice guest webdav proxy daemon";
package = mkPackageOption pkgs "phodav" { };
};
diff --git a/nixos/modules/services/misc/sssd.nix b/nixos/modules/services/misc/sssd.nix
index f83c82bbb7d7..4429b20174d9 100644
--- a/nixos/modules/services/misc/sssd.nix
+++ b/nixos/modules/services/misc/sssd.nix
@@ -10,11 +10,11 @@ let
in {
options = {
services.sssd = {
- enable = mkEnableOption (lib.mdDoc "the System Security Services Daemon");
+ enable = mkEnableOption "the System Security Services Daemon";
config = mkOption {
type = types.lines;
- description = lib.mdDoc "Contents of {file}`sssd.conf`.";
+ description = "Contents of {file}`sssd.conf`.";
default = ''
[sssd]
config_file_version = 2
@@ -37,7 +37,7 @@ in {
sshAuthorizedKeysIntegration = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to make sshd look up authorized keys from SSS.
For this to work, the `ssh` SSS service must be enabled in the sssd configuration.
'';
@@ -46,7 +46,7 @@ in {
kcm = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to use SSS as a Kerberos Cache Manager (KCM).
Kerberos will be configured to cache credentials in SSS.
'';
@@ -54,7 +54,7 @@ in {
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
- description = lib.mdDoc ''
+ description = ''
Environment file as defined in {manpage}`systemd.exec(5)`.
Secrets may be passed to the service without adding them to the world-readable
diff --git a/nixos/modules/services/misc/subsonic.nix b/nixos/modules/services/misc/subsonic.nix
index 0862d5782595..2dda8970dd30 100644
--- a/nixos/modules/services/misc/subsonic.nix
+++ b/nixos/modules/services/misc/subsonic.nix
@@ -8,12 +8,12 @@ let
in {
options = {
services.subsonic = {
- enable = mkEnableOption (lib.mdDoc "Subsonic daemon");
+ enable = mkEnableOption "Subsonic daemon";
home = mkOption {
type = types.path;
default = "/var/lib/subsonic";
- description = lib.mdDoc ''
+ description = ''
The directory where Subsonic will create files.
Make sure it is writable.
'';
@@ -22,7 +22,7 @@ in {
listenAddress = mkOption {
type = types.str;
default = "0.0.0.0";
- description = lib.mdDoc ''
+ description = ''
The host name or IP address on which to bind Subsonic.
Only relevant if you have multiple network interfaces and want
to make Subsonic available on only one of them. The default value
@@ -33,7 +33,7 @@ in {
port = mkOption {
type = types.port;
default = 4040;
- description = lib.mdDoc ''
+ description = ''
The port on which Subsonic will listen for
incoming HTTP traffic. Set to 0 to disable.
'';
@@ -42,7 +42,7 @@ in {
httpsPort = mkOption {
type = types.port;
default = 0;
- description = lib.mdDoc ''
+ description = ''
The port on which Subsonic will listen for
incoming HTTPS traffic. Set to 0 to disable.
'';
@@ -51,7 +51,7 @@ in {
contextPath = mkOption {
type = types.path;
default = "/";
- description = lib.mdDoc ''
+ description = ''
The context path, i.e., the last part of the Subsonic
URL. Typically '/' or '/subsonic'. Default '/'
'';
@@ -60,7 +60,7 @@ in {
maxMemory = mkOption {
type = types.int;
default = 100;
- description = lib.mdDoc ''
+ description = ''
The memory limit (max Java heap size) in megabytes.
Default: 100
'';
@@ -69,7 +69,7 @@ in {
defaultMusicFolder = mkOption {
type = types.path;
default = "/var/music";
- description = lib.mdDoc ''
+ description = ''
Configure Subsonic to use this folder for music. This option
only has effect the first time Subsonic is started.
'';
@@ -78,7 +78,7 @@ in {
defaultPodcastFolder = mkOption {
type = types.path;
default = "/var/music/Podcast";
- description = lib.mdDoc ''
+ description = ''
Configure Subsonic to use this folder for Podcasts. This option
only has effect the first time Subsonic is started.
'';
@@ -87,7 +87,7 @@ in {
defaultPlaylistFolder = mkOption {
type = types.path;
default = "/var/playlists";
- description = lib.mdDoc ''
+ description = ''
Configure Subsonic to use this folder for playlists. This option
only has effect the first time Subsonic is started.
'';
@@ -97,7 +97,7 @@ in {
type = types.listOf types.path;
default = [ "${pkgs.ffmpeg.bin}/bin/ffmpeg" ];
defaultText = literalExpression ''[ "''${pkgs.ffmpeg.bin}/bin/ffmpeg" ]'';
- description = lib.mdDoc ''
+ description = ''
List of paths to transcoder executables that should be accessible
from Subsonic. Symlinks will be created to each executable inside
''${config.${opt.home}}/transcoders.
diff --git a/nixos/modules/services/misc/sundtek.nix b/nixos/modules/services/misc/sundtek.nix
index e85d7c5b92b9..e3234518c940 100644
--- a/nixos/modules/services/misc/sundtek.nix
+++ b/nixos/modules/services/misc/sundtek.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.sundtek = {
- enable = mkEnableOption (lib.mdDoc "Sundtek driver");
+ enable = mkEnableOption "Sundtek driver";
};
config = mkIf cfg.enable {
diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix
index a0103641c650..5fa262ca3b94 100644
--- a/nixos/modules/services/misc/svnserve.nix
+++ b/nixos/modules/services/misc/svnserve.nix
@@ -20,13 +20,13 @@ in
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether to enable svnserve to serve Subversion repositories through the SVN protocol.";
+ description = "Whether to enable svnserve to serve Subversion repositories through the SVN protocol.";
};
svnBaseDir = mkOption {
type = types.str;
default = "/repos";
- description = lib.mdDoc "Base directory from which Subversion repositories are accessed.";
+ description = "Base directory from which Subversion repositories are accessed.";
};
};
diff --git a/nixos/modules/services/misc/synergy.nix b/nixos/modules/services/misc/synergy.nix
index 0cbdc7599c0f..fb664fc071d1 100644
--- a/nixos/modules/services/misc/synergy.nix
+++ b/nixos/modules/services/misc/synergy.nix
@@ -19,19 +19,19 @@ in
# !!! All these option descriptions needs to be cleaned up.
client = {
- enable = mkEnableOption (lib.mdDoc "the Synergy client (receive keyboard and mouse events from a Synergy server)");
+ enable = mkEnableOption "the Synergy client (receive keyboard and mouse events from a Synergy server)";
screenName = mkOption {
default = "";
type = types.str;
- description = lib.mdDoc ''
+ description = ''
Use the given name instead of the hostname to identify
ourselves to the server.
'';
};
serverAddress = mkOption {
type = types.str;
- description = lib.mdDoc ''
+ description = ''
The server address is of the form: [hostname][:port]. The
hostname must be the address or hostname of the server. The
port overrides the default port, 24800.
@@ -40,22 +40,22 @@ in
autoStart = mkOption {
default = true;
type = types.bool;
- description = lib.mdDoc "Whether the Synergy client should be started automatically.";
+ description = "Whether the Synergy client should be started automatically.";
};
};
server = {
- enable = mkEnableOption (lib.mdDoc "the Synergy server (send keyboard and mouse events)");
+ enable = mkEnableOption "the Synergy server (send keyboard and mouse events)";
configFile = mkOption {
type = types.path;
default = "/etc/synergy-server.conf";
- description = lib.mdDoc "The Synergy server configuration file.";
+ description = "The Synergy server configuration file.";
};
screenName = mkOption {
type = types.str;
default = "";
- description = lib.mdDoc ''
+ description = ''
Use the given name instead of the hostname to identify
this screen in the configuration.
'';
@@ -63,18 +63,18 @@ in
address = mkOption {
type = types.str;
default = "";
- description = lib.mdDoc "Address on which to listen for clients.";
+ description = "Address on which to listen for clients.";
};
autoStart = mkOption {
default = true;
type = types.bool;
- description = lib.mdDoc "Whether the Synergy server should be started automatically.";
+ description = "Whether the Synergy server should be started automatically.";
};
tls = {
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether TLS encryption should be used.
Using this requires a TLS certificate that can be
@@ -87,7 +87,7 @@ in
type = types.nullOr types.str;
default = null;
example = "~/.synergy/SSL/Synergy.pem";
- description = lib.mdDoc "The TLS certificate to use for encryption.";
+ description = "The TLS certificate to use for encryption.";
};
};
};
diff --git a/nixos/modules/services/misc/sysprof.nix b/nixos/modules/services/misc/sysprof.nix
index 25c5b0fabf61..ab91a8b586a2 100644
--- a/nixos/modules/services/misc/sysprof.nix
+++ b/nixos/modules/services/misc/sysprof.nix
@@ -3,7 +3,7 @@
{
options = {
services.sysprof = {
- enable = lib.mkEnableOption (lib.mdDoc "sysprof profiling daemon");
+ enable = lib.mkEnableOption "sysprof profiling daemon";
};
};
diff --git a/nixos/modules/services/misc/tabby.nix b/nixos/modules/services/misc/tabby.nix
index a3072e5df75e..d63a6b24ae3d 100644
--- a/nixos/modules/services/misc/tabby.nix
+++ b/nixos/modules/services/misc/tabby.nix
@@ -11,16 +11,14 @@ in
{
options = {
services.tabby = {
- enable = lib.mkEnableOption (
- lib.mdDoc "Self-hosted AI coding assistant using large language models"
- );
+ enable = lib.mkEnableOption "Self-hosted AI coding assistant using large language models";
package = lib.mkPackageOption pkgs "tabby" { };
port = lib.mkOption {
type = types.port;
default = 11029;
- description = lib.mdDoc ''
+ description = ''
Specifies the bind port on which the tabby server HTTP interface listens.
'';
};
@@ -28,7 +26,7 @@ in
model = lib.mkOption {
type = types.str;
default = "TabbyML/StarCoder-1B";
- description = lib.mdDoc ''
+ description = ''
Specify the model that tabby will use to generate completions.
This model will be downloaded automatically if it is not already present.
@@ -60,7 +58,7 @@ in
type = types.nullOr (types.enum [ "cpu" "rocm" "cuda" "metal" ]);
default = null;
example = "rocm";
- description = lib.mdDoc ''
+ description = ''
Specifies the device to use for hardware acceleration.
- `cpu`: no acceleration just use the CPU
@@ -85,7 +83,7 @@ in
settings = lib.mkOption {
inherit (format) type;
default = { };
- description = lib.mdDoc ''
+ description = ''
Tabby scheduler configuration
See for more details:
@@ -108,7 +106,7 @@ in
usageCollection = lib.mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Enable sending anonymous usage data.
See for more details:
@@ -120,7 +118,7 @@ in
type = types.str;
default = "5hours";
example = "5hours";
- description = lib.mdDoc ''
+ description = ''
Run tabby scheduler to generate the index database at this interval.
Updates by default every 5 hours. This value applies to
`OnUnitInactiveSec`
diff --git a/nixos/modules/services/misc/tandoor-recipes.nix b/nixos/modules/services/misc/tandoor-recipes.nix
index 1b1fde78ad0a..a2210f3d7db5 100644
--- a/nixos/modules/services/misc/tandoor-recipes.nix
+++ b/nixos/modules/services/misc/tandoor-recipes.nix
@@ -33,7 +33,7 @@ in
enable = mkOption {
type = lib.types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Enable Tandoor Recipes.
When started, the Tandoor Recipes database is automatically created if
@@ -48,19 +48,19 @@ in
address = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc "Web interface address.";
+ description = "Web interface address.";
};
port = mkOption {
type = types.port;
default = 8080;
- description = lib.mdDoc "Web interface port.";
+ description = "Web interface port.";
};
extraConfig = mkOption {
type = types.attrs;
default = { };
- description = lib.mdDoc ''
+ description = ''
Extra tandoor recipes config options.
See [the example dot-env file](https://raw.githubusercontent.com/vabene1111/recipes/master/.env.template)
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index 775b3b6d2eae..d359bf899768 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -10,7 +10,7 @@ let
mkManualPkiOption = desc: mkOption {
type = types.nullOr types.path;
default = null;
- description = lib.mdDoc ''
+ description = ''
${desc}
::: {.note}
@@ -37,7 +37,7 @@ let
'';
};
- mkAutoDesc = preamble: lib.mdDoc ''
+ mkAutoDesc = preamble: ''
${preamble}
::: {.note}
@@ -91,7 +91,7 @@ let
type = types.uniq (types.listOf types.str);
default = [];
example = [ "alice" "bob" ];
- description = lib.mdDoc ''
+ description = ''
A list of user names that belong to the organization.
'';
};
@@ -100,7 +100,7 @@ let
type = types.listOf types.str;
default = [];
example = [ "workers" "slackers" ];
- description = lib.mdDoc ''
+ description = ''
A list of group names that belong to the organization.
'';
};
@@ -142,7 +142,7 @@ in {
default = false;
description = let
url = "https://nixos.org/manual/nixos/stable/index.html#module-services-taskserver";
- in lib.mdDoc ''
+ in ''
Whether to enable the Taskwarrior server.
More instructions about NixOS in conjunction with Taskserver can be
@@ -153,19 +153,19 @@ in {
user = mkOption {
type = types.str;
default = "taskd";
- description = lib.mdDoc "User for Taskserver.";
+ description = "User for Taskserver.";
};
group = mkOption {
type = types.str;
default = "taskd";
- description = lib.mdDoc "Group for Taskserver.";
+ description = "Group for Taskserver.";
};
dataDir = mkOption {
type = types.path;
default = "/var/lib/taskserver";
- description = lib.mdDoc "Data directory for Taskserver.";
+ description = "Data directory for Taskserver.";
};
ciphers = mkOption {
@@ -174,7 +174,7 @@ in {
example = "NORMAL:-VERS-SSL3.0";
description = let
url = "https://gnutls.org/manual/html_node/Priority-Strings.html";
- in lib.mdDoc ''
+ in ''
List of GnuTLS ciphers to use. See the GnuTLS documentation about
priority strings at <${url}> for full details.
'';
@@ -186,7 +186,7 @@ in {
example.myShinyOrganisation.users = [ "alice" "bob" ];
example.myShinyOrganisation.groups = [ "staff" "outsiders" ];
example.yetAnotherOrganisation.users = [ "foo" "bar" ];
- description = lib.mdDoc ''
+ description = ''
An attribute set where the keys name the organisation and the values
are a set of lists of {option}`users` and
{option}`groups`.
@@ -196,7 +196,7 @@ in {
confirmation = mkOption {
type = types.bool;
default = true;
- description = lib.mdDoc ''
+ description = ''
Determines whether certain commands are confirmed.
'';
};
@@ -204,7 +204,7 @@ in {
debug = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Logs debugging information.
'';
};
@@ -212,7 +212,7 @@ in {
extensions = mkOption {
type = types.nullOr types.path;
default = null;
- description = lib.mdDoc ''
+ description = ''
Fully qualified path of the Taskserver extension scripts.
Currently there are none.
'';
@@ -221,7 +221,7 @@ in {
ipLog = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Logs the IP addresses of incoming requests.
'';
};
@@ -229,7 +229,7 @@ in {
queueSize = mkOption {
type = types.int;
default = 10;
- description = lib.mdDoc ''
+ description = ''
Size of the connection backlog, see {manpage}`listen(2)`.
'';
};
@@ -237,7 +237,7 @@ in {
requestLimit = mkOption {
type = types.int;
default = 1048576;
- description = lib.mdDoc ''
+ description = ''
Size limit of incoming requests, in bytes.
'';
};
@@ -246,7 +246,7 @@ in {
type = with types; either str (listOf str);
default = [];
example = [ "[Tt]ask [2-9]+" ];
- description = lib.mdDoc ''
+ description = ''
A list of regular expressions that are matched against the reported
client id (such as `task 2.3.0`).
@@ -260,7 +260,7 @@ in {
type = with types; either str (listOf str);
default = [];
example = [ "[Tt]ask [2-9]+" ];
- description = lib.mdDoc ''
+ description = ''
A list of regular expressions that are matched against the reported
client id (such as `task 2.3.0`).
@@ -274,7 +274,7 @@ in {
type = types.str;
default = "localhost";
example = "::";
- description = lib.mdDoc ''
+ description = ''
The address (IPv4, IPv6 or DNS) to listen on.
'';
};
@@ -282,7 +282,7 @@ in {
listenPort = mkOption {
type = types.int;
default = 53589;
- description = lib.mdDoc ''
+ description = ''
Port number of the Taskserver.
'';
};
@@ -290,7 +290,7 @@ in {
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Whether to open the firewall for the specified Taskserver port.
'';
};
@@ -298,7 +298,7 @@ in {
fqdn = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc ''
+ description = ''
The fully qualified domain name of this server, which is also used
as the common name in the certificates.
'';
@@ -307,7 +307,7 @@ in {
trust = mkOption {
type = types.enum [ "allow all" "strict" ];
default = "strict";
- description = lib.mdDoc ''
+ description = ''
Determines how client certificates are validated.
The value `allow all` performs no client
@@ -323,7 +323,7 @@ in {
config = mkOption {
type = types.attrs;
example.client.cert = "/tmp/debugging.cert";
- description = lib.mdDoc ''
+ description = ''
Configuration options to pass to Taskserver.
The options here are the same as described in
diff --git a/nixos/modules/services/misc/tautulli.nix b/nixos/modules/services/misc/tautulli.nix
index e379628c8ce6..6afdbd212aa8 100644
--- a/nixos/modules/services/misc/tautulli.nix
+++ b/nixos/modules/services/misc/tautulli.nix
@@ -12,42 +12,42 @@ in
options = {
services.tautulli = {
- enable = mkEnableOption (lib.mdDoc "Tautulli Plex Monitor");
+ enable = mkEnableOption "Tautulli Plex Monitor";
dataDir = mkOption {
type = types.str;
default = "/var/lib/plexpy";
- description = lib.mdDoc "The directory where Tautulli stores its data files.";
+ description = "The directory where Tautulli stores its data files.";
};
configFile = mkOption {
type = types.str;
default = "/var/lib/plexpy/config.ini";
- description = lib.mdDoc "The location of Tautulli's config file.";
+ description = "The location of Tautulli's config file.";
};
port = mkOption {
type = types.port;
default = 8181;
- description = lib.mdDoc "TCP port where Tautulli listens.";
+ description = "TCP port where Tautulli listens.";
};
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Open ports in the firewall for Tautulli.";
+ description = "Open ports in the firewall for Tautulli.";
};
user = mkOption {
type = types.str;
default = "plexpy";
- description = lib.mdDoc "User account under which Tautulli runs.";
+ description = "User account under which Tautulli runs.";
};
group = mkOption {
type = types.str;
default = "nogroup";
- description = lib.mdDoc "Group under which Tautulli runs.";
+ description = "Group under which Tautulli runs.";
};
package = mkPackageOption pkgs "tautulli" { };
diff --git a/nixos/modules/services/misc/tiddlywiki.nix b/nixos/modules/services/misc/tiddlywiki.nix
index 849f53ca2d48..7ae657dd862d 100644
--- a/nixos/modules/services/misc/tiddlywiki.nix
+++ b/nixos/modules/services/misc/tiddlywiki.nix
@@ -14,7 +14,7 @@ in {
options.services.tiddlywiki = {
- enable = mkEnableOption (lib.mdDoc "TiddlyWiki nodejs server");
+ enable = mkEnableOption "TiddlyWiki nodejs server";
listenOptions = mkOption {
type = types.attrs;
@@ -24,7 +24,7 @@ in {
readers="(authenticated)";
port = 3456;
};
- description = lib.mdDoc ''
+ description = ''
Parameters passed to `--listen` command.
Refer to
for details on supported values.
diff --git a/nixos/modules/services/misc/tp-auto-kbbl.nix b/nixos/modules/services/misc/tp-auto-kbbl.nix
index f6f2d49733e6..4ea356a133d8 100644
--- a/nixos/modules/services/misc/tp-auto-kbbl.nix
+++ b/nixos/modules/services/misc/tp-auto-kbbl.nix
@@ -9,14 +9,14 @@ in {
options = {
services.tp-auto-kbbl = {
- enable = mkEnableOption (lib.mdDoc "auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux");
+ enable = mkEnableOption "auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux";
package = mkPackageOption pkgs "tp-auto-kbbl" { };
arguments = mkOption {
type = types.listOf types.str;
default = [ ];
- description = lib.mdDoc ''
+ description = ''
List of arguments appended to `./tp-auto-kbbl --device [device] [arguments]`
'';
};
@@ -24,7 +24,7 @@ in {
device = mkOption {
type = types.str;
default = "/dev/input/event0";
- description = lib.mdDoc "Device watched for activities.";
+ description = "Device watched for activities.";
};
};
diff --git a/nixos/modules/services/misc/transfer-sh.nix b/nixos/modules/services/misc/transfer-sh.nix
index 899d9dfc3c10..150af2337e14 100644
--- a/nixos/modules/services/misc/transfer-sh.nix
+++ b/nixos/modules/services/misc/transfer-sh.nix
@@ -4,11 +4,11 @@ let
cfg = config.services.transfer-sh;
inherit (lib)
mkDefault mkEnableOption mkPackageOption mkIf mkOption
- types mapAttrs isBool getExe boolToString mdDoc optionalAttrs;
+ types mapAttrs isBool getExe boolToString optionalAttrs;
in
{
options.services.transfer-sh = {
- enable = mkEnableOption (mdDoc "Easy and fast file sharing from the command-line");
+ enable = mkEnableOption "Easy and fast file sharing from the command-line";
package = mkPackageOption pkgs "transfer-sh" { };
@@ -20,7 +20,7 @@ in
BASEDIR = "/var/lib/transfer.sh";
TLS_LISTENER_ONLY = false;
};
- description = mdDoc ''
+ description = ''
Additional configuration for transfer-sh, see
for supported values.
@@ -32,14 +32,14 @@ in
provider = mkOption {
type = types.enum [ "local" "s3" "storj" "gdrive" ];
default = "local";
- description = mdDoc "Storage providers to use";
+ description = "Storage providers to use";
};
secretFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/transfer-sh.env";
- description = mdDoc ''
+ description = ''
Path to file containing environment variables.
Useful for passing down secrets.
Some variables that can be considered secrets are:
diff --git a/nixos/modules/services/misc/tuxclocker.nix b/nixos/modules/services/misc/tuxclocker.nix
index 5969f75b8e30..4c2f9e39bcfc 100644
--- a/nixos/modules/services/misc/tuxclocker.nix
+++ b/nixos/modules/services/misc/tuxclocker.nix
@@ -7,20 +7,20 @@ let
in
{
options.programs.tuxclocker = {
- enable = mkEnableOption (lib.mdDoc ''
+ enable = mkEnableOption ''
TuxClocker, a hardware control and monitoring program
- '');
+ '';
- enableAMD = mkEnableOption (lib.mdDoc ''
+ enableAMD = mkEnableOption ''
AMD GPU controls.
Sets the `amdgpu.ppfeaturemask` kernel parameter to 0xfffd7fff to enable all TuxClocker controls
- '');
+ '';
enabledNVIDIADevices = mkOption {
type = types.listOf types.int;
default = [ ];
example = [ 0 1 ];
- description = lib.mdDoc ''
+ description = ''
Enable NVIDIA GPU controls for a device by index.
Sets the `Coolbits` Xorg option to enable all TuxClocker controls.
'';
@@ -30,7 +30,7 @@ in
type = types.bool;
default = false;
example = true;
- description = lib.mdDoc ''
+ description = ''
Whether to use components requiring unfree dependencies.
Disabling this allows you to get everything from the binary cache.
'';
diff --git a/nixos/modules/services/misc/tzupdate.nix b/nixos/modules/services/misc/tzupdate.nix
index 300a578f7c4a..eac1e1112a5a 100644
--- a/nixos/modules/services/misc/tzupdate.nix
+++ b/nixos/modules/services/misc/tzupdate.nix
@@ -9,7 +9,7 @@ in {
enable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Enable the tzupdate timezone updating service. This provides
a one-shot service which can be activated with systemctl to
update the timezone.
diff --git a/nixos/modules/services/misc/uhub.nix b/nixos/modules/services/misc/uhub.nix
index 80266b024e35..99774fbb920a 100644
--- a/nixos/modules/services/misc/uhub.nix
+++ b/nixos/modules/services/misc/uhub.nix
@@ -15,21 +15,21 @@ in {
services.uhub = mkOption {
default = { };
- description = lib.mdDoc "Uhub ADC hub instances";
+ description = "Uhub ADC hub instances";
type = types.attrsOf (types.submodule {
options = {
- enable = mkEnableOption (lib.mdDoc "hub instance") // { default = true; };
+ enable = mkEnableOption "hub instance" // { default = true; };
enableTLS = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Whether to enable TLS support.";
+ description = "Whether to enable TLS support.";
};
settings = mkOption {
inherit (settingsFormat) type;
- description = lib.mdDoc ''
+ description = ''
Configuration of uhub.
See https://www.uhub.org/doc/config.php for a list of options.
'';
@@ -44,7 +44,7 @@ in {
};
plugins = mkOption {
- description = lib.mdDoc "Uhub plugin configuration.";
+ description = "Uhub plugin configuration.";
type = with types;
listOf (submodule {
options = {
@@ -52,10 +52,10 @@ in {
type = path;
example = literalExpression
"$${pkgs.uhub}/plugins/mod_auth_sqlite.so";
- description = lib.mdDoc "Path to plugin file.";
+ description = "Path to plugin file.";
};
settings = mkOption {
- description = lib.mdDoc "Settings specific to this plugin.";
+ description = "Settings specific to this plugin.";
type = with types; attrsOf str;
example = { file = "/etc/uhub/users.db"; };
};
diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix
index 338493e3cd37..6f6c78b1c9dc 100644
--- a/nixos/modules/services/misc/weechat.nix
+++ b/nixos/modules/services/misc/weechat.nix
@@ -8,20 +8,20 @@ in
{
options.services.weechat = {
- enable = mkEnableOption (lib.mdDoc "weechat");
+ enable = mkEnableOption "weechat";
root = mkOption {
- description = lib.mdDoc "Weechat state directory.";
+ description = "Weechat state directory.";
type = types.str;
default = "/var/lib/weechat";
};
sessionName = mkOption {
- description = lib.mdDoc "Name of the `screen` session for weechat.";
+ description = "Name of the `screen` session for weechat.";
default = "weechat-screen";
type = types.str;
};
binary = mkOption {
type = types.path;
- description = lib.mdDoc "Binary to execute.";
+ description = "Binary to execute.";
default = "${pkgs.weechat}/bin/weechat";
defaultText = literalExpression ''"''${pkgs.weechat}/bin/weechat"'';
example = literalExpression ''"''${pkgs.weechat}/bin/weechat-headless"'';
diff --git a/nixos/modules/services/misc/xmr-stak.nix b/nixos/modules/services/misc/xmr-stak.nix
index 54efae48d5d2..3015e3cb12a8 100644
--- a/nixos/modules/services/misc/xmr-stak.nix
+++ b/nixos/modules/services/misc/xmr-stak.nix
@@ -15,14 +15,14 @@ in
{
options = {
services.xmr-stak = {
- enable = mkEnableOption (lib.mdDoc "xmr-stak miner");
- openclSupport = mkEnableOption (lib.mdDoc "support for OpenCL (AMD/ATI graphics cards)");
+ enable = mkEnableOption "xmr-stak miner";
+ openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "--noCPU" "--currency monero" ];
- description = lib.mdDoc "List of parameters to pass to xmr-stak.";
+ description = "List of parameters to pass to xmr-stak.";
};
configFiles = mkOption {
@@ -51,7 +51,7 @@ in
''';
}
'';
- description = lib.mdDoc ''
+ description = ''
Content of config files like config.txt, pools.txt or cpu.txt.
'';
};
diff --git a/nixos/modules/services/misc/xmrig.nix b/nixos/modules/services/misc/xmrig.nix
index 8ad2d049f8a9..d4e1be779972 100644
--- a/nixos/modules/services/misc/xmrig.nix
+++ b/nixos/modules/services/misc/xmrig.nix
@@ -13,7 +13,7 @@ with lib;
{
options = {
services.xmrig = {
- enable = mkEnableOption (lib.mdDoc "XMRig Mining Software");
+ enable = mkEnableOption "XMRig Mining Software";
package = mkPackageOption pkgs "xmrig" {
example = "xmrig-mo";
@@ -38,7 +38,7 @@ with lib;
]
}
'';
- description = lib.mdDoc ''
+ description = ''
XMRig configuration. Refer to
for details on supported values.
diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix
index fca03b2ad4e1..84c3a6710c0d 100644
--- a/nixos/modules/services/misc/zoneminder.nix
+++ b/nixos/modules/services/misc/zoneminder.nix
@@ -66,7 +66,7 @@ let
in {
options = {
services.zoneminder = with lib; {
- enable = lib.mkEnableOption (lib.mdDoc ''
+ enable = lib.mkEnableOption ''
ZoneMinder.
If you intend to run the database locally, you should set
@@ -75,12 +75,12 @@ in {
and database user as well as populate the database yourself.
Additionally, you will need to run `zmupdate.pl` yourself when
upgrading to a newer version
- '');
+ '';
webserver = mkOption {
type = types.enum [ "nginx" "none" ];
default = "nginx";
- description = lib.mdDoc ''
+ description = ''
The webserver to configure for the PHP frontend.
Set it to `none` if you want to configure it yourself. PRs are welcome
@@ -91,7 +91,7 @@ in {
hostname = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc ''
+ description = ''
The hostname on which to listen.
'';
};
@@ -99,7 +99,7 @@ in {
port = mkOption {
type = types.port;
default = 8095;
- description = lib.mdDoc ''
+ description = ''
The port on which to listen.
'';
};
@@ -107,7 +107,7 @@ in {
openFirewall = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Open the firewall port(s).
'';
};
@@ -116,7 +116,7 @@ in {
createLocally = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc ''
+ description = ''
Create the database and database user locally.
'';
};
@@ -124,7 +124,7 @@ in {
host = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc ''
+ description = ''
Hostname hosting the database.
'';
};
@@ -132,7 +132,7 @@ in {
name = mkOption {
type = types.str;
default = "zm";
- description = lib.mdDoc ''
+ description = ''
Name of database.
'';
};
@@ -140,7 +140,7 @@ in {
username = mkOption {
type = types.str;
default = "zmuser";
- description = lib.mdDoc ''
+ description = ''
Username for accessing the database.
'';
};
@@ -148,7 +148,7 @@ in {
password = mkOption {
type = types.str;
default = "zmpass";
- description = lib.mdDoc ''
+ description = ''
Username for accessing the database.
Not used if `createLocally` is set.
'';
@@ -158,7 +158,7 @@ in {
cameras = mkOption {
type = types.int;
default = 1;
- description = lib.mdDoc ''
+ description = ''
Set this to the number of cameras you expect to support.
'';
};
@@ -167,7 +167,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "/storage/tank";
- description = lib.mdDoc ''
+ description = ''
ZoneMinder can generate quite a lot of data, so in case you don't want
to use the default ${defaultDir}, you can override the path here.
'';
@@ -176,7 +176,7 @@ in {
extraConfig = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc ''
+ description = ''
Additional configuration added verbatim to the configuration file.
'';
};
diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix
index b1c0b80648c6..3861a3cd2f4d 100644
--- a/nixos/modules/services/misc/zookeeper.nix
+++ b/nixos/modules/services/misc/zookeeper.nix
@@ -24,22 +24,22 @@ let
in {
options.services.zookeeper = {
- enable = mkEnableOption (lib.mdDoc "Zookeeper");
+ enable = mkEnableOption "Zookeeper";
port = mkOption {
- description = lib.mdDoc "Zookeeper Client port.";
+ description = "Zookeeper Client port.";
default = 2181;
type = types.port;
};
id = mkOption {
- description = lib.mdDoc "Zookeeper ID.";
+ description = "Zookeeper ID.";
default = 0;
type = types.int;
};
purgeInterval = mkOption {
- description = lib.mdDoc ''
+ description = ''
The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging.
'';
default = 1;
@@ -47,7 +47,7 @@ in {
};
extraConf = mkOption {
- description = lib.mdDoc "Extra configuration for Zookeeper.";
+ description = "Extra configuration for Zookeeper.";
type = types.lines;
default = ''
initLimit=5
@@ -57,7 +57,7 @@ in {
};
servers = mkOption {
- description = lib.mdDoc "All Zookeeper Servers.";
+ description = "All Zookeeper Servers.";
default = "";
type = types.lines;
example = ''
@@ -68,7 +68,7 @@ in {
};
logging = mkOption {
- description = lib.mdDoc "Zookeeper logging configuration.";
+ description = "Zookeeper logging configuration.";
default = ''
zookeeper.root.logger=INFO, CONSOLE
log4j.rootLogger=INFO, CONSOLE
@@ -83,13 +83,13 @@ in {
dataDir = mkOption {
type = types.path;
default = "/var/lib/zookeeper";
- description = lib.mdDoc ''
+ description = ''
Data directory for Zookeeper
'';
};
extraCmdLineOptions = mkOption {
- description = lib.mdDoc "Extra command line options for the Zookeeper launcher.";
+ description = "Extra command line options for the Zookeeper launcher.";
default = [ "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ];
type = types.listOf types.str;
example = [ "-Djava.net.preferIPv4Stack=true" "-Dcom.sun.management.jmxremote" "-Dcom.sun.management.jmxremote.local.only=true" ];
@@ -98,7 +98,7 @@ in {
preferIPv4 = mkOption {
type = types.bool;
default = true;
- description = lib.mdDoc ''
+ description = ''
Add the -Djava.net.preferIPv4Stack=true flag to the Zookeeper server.
'';
};
@@ -106,7 +106,7 @@ in {
package = mkPackageOption pkgs "zookeeper" { };
jre = mkOption {
- description = lib.mdDoc "The JRE with which to run Zookeeper";
+ description = "The JRE with which to run Zookeeper";
default = cfg.package.jre;
defaultText = literalExpression "pkgs.zookeeper.jre";
example = literalExpression "pkgs.jre";
diff --git a/nixos/modules/services/monitoring/alerta.nix b/nixos/modules/services/monitoring/alerta.nix
index 0b0ab177e5e1..32c71e730102 100644
--- a/nixos/modules/services/monitoring/alerta.nix
+++ b/nixos/modules/services/monitoring/alerta.nix
@@ -21,58 +21,58 @@ let
in
{
options.services.alerta = {
- enable = mkEnableOption (lib.mdDoc "alerta");
+ enable = mkEnableOption "alerta";
port = mkOption {
type = types.port;
default = 5000;
- description = lib.mdDoc "Port of Alerta";
+ description = "Port of Alerta";
};
bind = mkOption {
type = types.str;
default = "0.0.0.0";
- description = lib.mdDoc "Address to bind to. The default is to bind to all addresses";
+ description = "Address to bind to. The default is to bind to all addresses";
};
logDir = mkOption {
type = types.path;
- description = lib.mdDoc "Location where the logfiles are stored";
+ description = "Location where the logfiles are stored";
default = "/var/log/alerta";
};
databaseUrl = mkOption {
type = types.str;
- description = lib.mdDoc "URL of the MongoDB or PostgreSQL database to connect to";
+ description = "URL of the MongoDB or PostgreSQL database to connect to";
default = "mongodb://localhost";
};
databaseName = mkOption {
type = types.str;
- description = lib.mdDoc "Name of the database instance to connect to";
+ description = "Name of the database instance to connect to";
default = "monitoring";
};
corsOrigins = mkOption {
type = types.listOf types.str;
- description = lib.mdDoc "List of URLs that can access the API for Cross-Origin Resource Sharing (CORS)";
+ description = "List of URLs that can access the API for Cross-Origin Resource Sharing (CORS)";
default = [ "http://localhost" "http://localhost:5000" ];
};
authenticationRequired = mkOption {
type = types.bool;
- description = lib.mdDoc "Whether users must authenticate when using the web UI or command-line tool";
+ description = "Whether users must authenticate when using the web UI or command-line tool";
default = false;
};
signupEnabled = mkOption {
type = types.bool;
- description = lib.mdDoc "Whether to prevent sign-up of new users via the web UI";
+ description = "Whether to prevent sign-up of new users via the web UI";
default = true;
};
extraConfig = mkOption {
- description = lib.mdDoc "These lines go into alertad.conf verbatim.";
+ description = "These lines go into alertad.conf verbatim.";
default = "";
type = types.lines;
};
diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix
index 666479c78a84..09cf593f5d5e 100644
--- a/nixos/modules/services/monitoring/apcupsd.nix
+++ b/nixos/modules/services/monitoring/apcupsd.nix
@@ -90,7 +90,7 @@ in
enable = mkOption {
default = false;
type = types.bool;
- description = lib.mdDoc ''
+ description = ''
Whether to enable the APC UPS daemon. apcupsd monitors your UPS and
permits orderly shutdown of your computer in the event of a power
failure. User manual: http://www.apcupsd.com/manual/manual.html.
@@ -107,7 +107,7 @@ in
MINUTES 5
'';
type = types.lines;
- description = lib.mdDoc ''
+ description = ''
Contents of the runtime configuration file, apcupsd.conf. The default
settings makes apcupsd autodetect USB UPSes, limit network access to
localhost and shutdown the system when the battery level is below 50
@@ -122,7 +122,7 @@ in
doshutdown = "# shell commands to notify that the computer is shutting down";
};
type = types.attrsOf types.lines;
- description = lib.mdDoc ''
+ description = ''
Each attribute in this option names an apcupsd event and the string
value it contains will be executed in a shell, in response to that
event (prior to the default action). See "man apccontrol" for the
diff --git a/nixos/modules/services/monitoring/arbtt.nix b/nixos/modules/services/monitoring/arbtt.nix
index a1a228d6e420..6dad6bdec328 100644
--- a/nixos/modules/services/monitoring/arbtt.nix
+++ b/nixos/modules/services/monitoring/arbtt.nix
@@ -7,7 +7,7 @@ let
in {
options = {
services.arbtt = {
- enable = mkEnableOption (lib.mdDoc "Arbtt statistics capture service");
+ enable = mkEnableOption "Arbtt statistics capture service";
package = mkPackageOption pkgs [ "haskellPackages" "arbtt" ] { };
@@ -15,7 +15,7 @@ in {
type = types.str;
default = "%h/.arbtt/capture.log";
example = "/home/username/.arbtt-capture.log";
- description = lib.mdDoc ''
+ description = ''
The log file for captured samples.
'';
};
@@ -24,7 +24,7 @@ in {
type = types.int;
default = 60;
example = 120;
- description = lib.mdDoc ''
+ description = ''
The sampling interval in seconds.
'';
};
diff --git a/nixos/modules/services/monitoring/below.nix b/nixos/modules/services/monitoring/below.nix
index 4a7135162ac4..729734828142 100644
--- a/nixos/modules/services/monitoring/below.nix
+++ b/nixos/modules/services/monitoring/below.nix
@@ -13,10 +13,10 @@ let
mkDisableOption = n: mkOption {
type = types.bool;
default = true;
- description = mdDoc "Whether to enable ${n}.";
+ description = "Whether to enable ${n}.";
};
optionalType = ty: x: mkOption (x // {
- description = mdDoc x.description;
+ description = x.description;
type = (types.nullOr ty);
default = null;
});
@@ -26,7 +26,7 @@ let
in {
options = {
services.below = {
- enable = mkEnableOption (mdDoc "'below' resource monitor");
+ enable = mkEnableOption "'below' resource monitor";
cgroupFilterOut = optionalStr {
description = "A regexp matching the full paths of cgroups whose data shouldn't be collected";
@@ -34,10 +34,10 @@ in {
};
collect = {
diskStats = mkDisableOption "dist_stat collection";
- ioStats = mkEnableOption (mdDoc "io.stat collection for cgroups");
+ ioStats = mkEnableOption "io.stat collection for cgroups";
exitStats = mkDisableOption "eBPF-based exitstats";
};
- compression.enable = mkEnableOption (mdDoc "data compression");
+ compression.enable = mkEnableOption "data compression";
retention = {
size = optionalInt {
description = ''
diff --git a/nixos/modules/services/monitoring/bosun.nix b/nixos/modules/services/monitoring/bosun.nix
index fb412d43ec27..4b855b96e949 100644
--- a/nixos/modules/services/monitoring/bosun.nix
+++ b/nixos/modules/services/monitoring/bosun.nix
@@ -22,14 +22,14 @@ in {
services.bosun = {
- enable = mkEnableOption (lib.mdDoc "bosun");
+ enable = mkEnableOption "bosun";
package = mkPackageOption pkgs "bosun" { };
user = mkOption {
type = types.str;
default = "bosun";
- description = lib.mdDoc ''
+ description = ''
User account under which bosun runs.
'';
};
@@ -37,7 +37,7 @@ in {
group = mkOption {
type = types.str;
default = "bosun";
- description = lib.mdDoc ''
+ description = ''
Group account under which bosun runs.
'';
};
@@ -45,7 +45,7 @@ in {
opentsdbHost = mkOption {
type = types.nullOr types.str;
default = "localhost:4242";
- description = lib.mdDoc ''
+ description = ''
Host and port of the OpenTSDB database that stores bosun data.
To disable opentsdb you can pass null as parameter.
'';
@@ -55,7 +55,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "localhost:8086";
- description = lib.mdDoc ''
+ description = ''
Host and port of the influxdb database.
'';
};
@@ -63,7 +63,7 @@ in {
listenAddress = mkOption {
type = types.str;
default = ":8070";
- description = lib.mdDoc ''
+ description = ''
The host address and port that bosun's web interface will listen on.
'';
};
@@ -71,7 +71,7 @@ in {
stateFile = mkOption {
type = types.path;
default = "/var/lib/bosun/bosun.state";
- description = lib.mdDoc ''
+ description = ''
Path to bosun's state file.
'';
};
@@ -79,7 +79,7 @@ in {
ledisDir = mkOption {
type = types.path;
default = "/var/lib/bosun/ledis_data";
- description = lib.mdDoc ''
+ description = ''
Path to bosun's ledis data dir
'';
};
@@ -87,7 +87,7 @@ in {
checkFrequency = mkOption {
type = types.str;
default = "5m";
- description = lib.mdDoc ''
+ description = ''
Bosun's check frequency
'';
};
@@ -95,7 +95,7 @@ in {
extraConfig = mkOption {
type = types.lines;
default = "";
- description = lib.mdDoc ''
+ description = ''
Extra configuration options for Bosun. You should describe your
desired templates, alerts, macros, etc through this configuration
option.
diff --git a/nixos/modules/services/monitoring/cadvisor.nix b/nixos/modules/services/monitoring/cadvisor.nix
index 68e6e8e40b31..6b0852cfe3ef 100644
--- a/nixos/modules/services/monitoring/cadvisor.nix
+++ b/nixos/modules/services/monitoring/cadvisor.nix
@@ -8,49 +8,49 @@ let
in {
options = {
services.cadvisor = {
- enable = mkEnableOption (lib.mdDoc "Cadvisor service");
+ enable = mkEnableOption "Cadvisor service";
listenAddress = mkOption {
default = "127.0.0.1";
type = types.str;
- description = lib.mdDoc "Cadvisor listening host";
+ description = "Cadvisor listening host";
};
port = mkOption {
default = 8080;
type = types.port;
- description = lib.mdDoc "Cadvisor listening port";
+ description = "Cadvisor listening port";
};
storageDriver = mkOption {
default = null;
type = types.nullOr types.str;
example = "influxdb";
- description = lib.mdDoc "Cadvisor storage driver.";
+ description = "Cadvisor storage driver.";
};
storageDriverHost = mkOption {
default = "localhost:8086";
type = types.str;
- description = lib.mdDoc "Cadvisor storage driver host.";
+ description = "Cadvisor storage driver host.";
};
storageDriverDb = mkOption {
default = "root";
type = types.str;
- description = lib.mdDoc "Cadvisord storage driver database name.";
+ description = "Cadvisord storage driver database name.";
};
storageDriverUser = mkOption {
default = "root";
type = types.str;
- description = lib.mdDoc "Cadvisor storage driver username.";
+ description = "Cadvisor storage driver username.";
};
storageDriverPassword = mkOption {
default = "root";
type = types.str;
- description = lib.mdDoc ''
+ description = ''
Cadvisor storage driver password.
Warning: this password is stored in the world-readable Nix store. It's
@@ -62,7 +62,7 @@ in {
storageDriverPasswordFile = mkOption {
type = types.str;
- description = lib.mdDoc ''
+ description = ''
File that contains the cadvisor storage driver password.
{option}`storageDriverPasswordFile` takes precedence over {option}`storageDriverPassword`
@@ -78,13 +78,13 @@ in {
storageDriverSecure = mkOption {
default = false;
type = types.bool;
- description = lib.mdDoc "Cadvisor storage driver, enable secure communication.";
+ description = "Cadvisor storage driver, enable secure communication.";
};
extraOptions = mkOption {
type = types.listOf types.str;
default = [];
- description = lib.mdDoc ''
+ description = ''
Additional cadvisor options.
See for available options.
diff --git a/nixos/modules/services/monitoring/cockpit.nix b/nixos/modules/services/monitoring/cockpit.nix
index 45389a3174e1..64e26ce4e127 100644
--- a/nixos/modules/services/monitoring/cockpit.nix
+++ b/nixos/modules/services/monitoring/cockpit.nix
@@ -2,12 +2,12 @@
let
cfg = config.services.cockpit;
- inherit (lib) types mkEnableOption mkOption mkIf mdDoc literalMD mkPackageOption;
+ inherit (lib) types mkEnableOption mkOption mkIf literalMD mkPackageOption;
settingsFormat = pkgs.formats.ini {};
in {
options = {
services.cockpit = {
- enable = mkEnableOption (mdDoc "Cockpit");
+ enable = mkEnableOption "Cockpit";
package = mkPackageOption pkgs "Cockpit" {
default = [ "cockpit" ];
@@ -18,7 +18,7 @@ in {
default = {};
- description = mdDoc ''
+ description = ''
Settings for cockpit that will be saved in /etc/cockpit/cockpit.conf.
See the [documentation](https://cockpit-project.org/guide/latest/cockpit.conf.5.html), that is also available with `man cockpit.conf.5` for details.
@@ -26,13 +26,13 @@ in {
};
port = mkOption {
- description = mdDoc "Port where cockpit will listen.";
+ description = "Port where cockpit will listen.";
type = types.port;
default = 9090;
};
openFirewall = mkOption {
- description = mdDoc "Open port for cockpit.";
+ description = "Open port for cockpit.";
type = types.bool;
default = false;
};
diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix
index 3e62ef422bad..fe9b1214e5c1 100644
--- a/nixos/modules/services/monitoring/collectd.nix
+++ b/nixos/modules/services/monitoring/collectd.nix
@@ -29,11 +29,11 @@ let
in {
options.services.collectd = with types; {
- enable = mkEnableOption (lib.mdDoc "collectd agent");
+ enable = mkEnableOption "collectd agent";
validateConfig = mkOption {
default = true;
- description = lib.mdDoc ''
+ description = ''
Validate the syntax of collectd configuration file at build time.
Disable this if you use the Include directive on files unavailable in
the build sandbox, or when cross-compiling.
@@ -45,7 +45,7 @@ in {
buildMinimalPackage = mkOption {
default = false;
- description = lib.mdDoc ''
+ description = ''
Build a minimal collectd package with only the configured `services.collectd.plugins`
'';
type = bool;
@@ -53,7 +53,7 @@ in {
user = mkOption {
default = "collectd";
- description = lib.mdDoc ''
+ description = ''
User under which to run collectd.
'';
type = nullOr str;
@@ -61,7 +61,7 @@ in {
dataDir = mkOption {
default = "/var/lib/collectd";
- description = lib.mdDoc ''
+ description = ''
Data directory for collectd agent.
'';
type = path;
@@ -69,7 +69,7 @@ in {
autoLoadPlugin = mkOption {
default = false;
- description = lib.mdDoc ''
+ description = ''
Enable plugin autoloading.
'';
type = bool;
@@ -77,7 +77,7 @@ in {
include = mkOption {
default = [];
- description = lib.mdDoc ''
+ description = ''
Additional paths to load config from.
'';
type = listOf str;
@@ -86,7 +86,7 @@ in {
plugins = mkOption {
default = {};
example = { cpu = ""; memory = ""; network = "Server 192.168.1.1 25826"; };
- description = lib.mdDoc ''
+ description = ''
Attribute set of plugin names to plugin config segments
'';
type = attrsOf lines;
@@ -94,7 +94,7 @@ in {
extraConfig = mkOption {
default = "";
- description = lib.mdDoc ''
+ description = ''
Extra configuration for collectd. Use mkBefore to add lines before the
default config, and mkAfter to add them below.
'';
diff --git a/nixos/modules/services/monitoring/das_watchdog.nix b/nixos/modules/services/monitoring/das_watchdog.nix
index fd420b0c8a06..88ca3a9227d2 100644
--- a/nixos/modules/services/monitoring/das_watchdog.nix
+++ b/nixos/modules/services/monitoring/das_watchdog.nix
@@ -12,7 +12,7 @@ in {
###### interface
options = {
- services.das_watchdog.enable = mkEnableOption (lib.mdDoc "realtime watchdog");
+ services.das_watchdog.enable = mkEnableOption "realtime watchdog";
};
###### implementation
diff --git a/nixos/modules/services/monitoring/datadog-agent.nix b/nixos/modules/services/monitoring/datadog-agent.nix
index 7b07c80c8d7b..5ac98bdf0382 100644
--- a/nixos/modules/services/monitoring/datadog-agent.nix
+++ b/nixos/modules/services/monitoring/datadog-agent.nix
@@ -49,7 +49,7 @@ let
};
in {
options.services.datadog-agent = {
- enable = mkEnableOption (lib.mdDoc "Datadog-agent v7 monitoring service");
+ enable = mkEnableOption "Datadog-agent v7 monitoring service";
package = mkPackageOption pkgs "datadog-agent" {
extraDescription = ''
@@ -61,7 +61,7 @@ in {
};
apiKeyFile = mkOption {
- description = lib.mdDoc ''
+ description = ''
Path to a file containing the Datadog API key to associate the
agent with your account.
'';
@@ -70,7 +70,7 @@ in {
};
ddUrl = mkOption {
- description = lib.mdDoc ''
+ description = ''
Custom dd_url to configure the agent with. Useful if traffic to datadog
needs to go through a proxy.
Don't use this to point to another datadog site (EU) - use site instead.
@@ -81,7 +81,7 @@ in {
};
site = mkOption {
- description = lib.mdDoc ''
+ description = ''
The datadog site to point the agent towards.
Set to datadoghq.eu to point it to their EU site.
'';
@@ -91,21 +91,21 @@ in {
};
tags = mkOption {
- description = lib.mdDoc "The tags to mark this Datadog agent";
+ description = "The tags to mark this Datadog agent";
example = [ "test" "service" ];
default = null;
type = types.nullOr (types.listOf types.str);
};
hostname = mkOption {
- description = lib.mdDoc "The hostname to show in the Datadog dashboard (optional)";
+ description = "The hostname to show in the Datadog dashboard (optional)";
default = null;
example = "mymachine.mydomain";
type = types.nullOr types.str;
};
logLevel = mkOption {
- description = lib.mdDoc "Logging verbosity.";
+ description = "Logging verbosity.";
default = null;
type = types.nullOr (types.enum ["DEBUG" "INFO" "WARN" "ERROR"]);
};
@@ -114,7 +114,7 @@ in {
default = {};
type = types.attrs;
- description = lib.mdDoc ''
+ description = ''
Extra integrations from the Datadog core-integrations
repository that should be built and included.
@@ -136,14 +136,14 @@ in {
extraConfig = mkOption {
default = {};
type = types.attrs;
- description = lib.mdDoc ''
+ description = ''
Extra configuration options that will be merged into the
main config file {file}`datadog.yaml`.
'';
};
enableLiveProcessCollection = mkOption {
- description = lib.mdDoc ''
+ description = ''
Whether to enable the live process collection agent.
'';
default = false;
@@ -153,7 +153,7 @@ in {
processAgentPackage = mkOption {
default = pkgs.datadog-process-agent;
defaultText = literalExpression "pkgs.datadog-process-agent";
- description = lib.mdDoc ''
+ description = ''
Which DataDog v7 agent package to use. Note that the provided
package is expected to have an overridable `pythonPackages`-attribute
which configures the Python environment with the Datadog
@@ -163,7 +163,7 @@ in {
};
enableTraceAgent = mkOption {
- description = lib.mdDoc ''
+ description = ''
Whether to enable the trace agent.
'';
default = false;
@@ -171,7 +171,7 @@ in {
};
checks = mkOption {
- description = lib.mdDoc ''
+ description = ''
Configuration for all Datadog checks. Keys of this attribute
set will be used as the name of the check to create the
appropriate configuration in `conf.d/$check.d/conf.yaml`.
@@ -210,7 +210,7 @@ in {
};
diskCheck = mkOption {
- description = lib.mdDoc "Disk check config";
+ description = "Disk check config";
type = types.attrs;
default = {
init_config = {};
@@ -219,7 +219,7 @@ in {
};
networkCheck = mkOption {
- description = lib.mdDoc "Network check config";
+ description = "Network check config";
type = types.attrs;
default = {
init_config = {};
diff --git a/nixos/modules/services/monitoring/do-agent.nix b/nixos/modules/services/monitoring/do-agent.nix
index c1788c640c23..4dfb6236727b 100644
--- a/nixos/modules/services/monitoring/do-agent.nix
+++ b/nixos/modules/services/monitoring/do-agent.nix
@@ -8,7 +8,7 @@ let
in
{
options.services.do-agent = {
- enable = mkEnableOption (lib.mdDoc "do-agent, the DigitalOcean droplet metrics agent");
+ enable = mkEnableOption "do-agent, the DigitalOcean droplet metrics agent";
};
config = mkIf cfg.enable {
diff --git a/nixos/modules/services/monitoring/fusion-inventory.nix b/nixos/modules/services/monitoring/fusion-inventory.nix
index 7b28e8de1229..9b65c76ce02e 100644
--- a/nixos/modules/services/monitoring/fusion-inventory.nix
+++ b/nixos/modules/services/monitoring/fusion-inventory.nix
@@ -22,11 +22,11 @@ in {
services.fusionInventory = {
- enable = mkEnableOption (lib.mdDoc "Fusion Inventory Agent");
+ enable = mkEnableOption "Fusion Inventory Agent";
servers = mkOption {
type = types.listOf types.str;
- description = lib.mdDoc ''
+ description = ''
The urls of the OCS/GLPI servers to connect to.
'';
};
@@ -34,7 +34,7 @@ in {
extraConfig = mkOption {
default = "";
type = types.lines;
- description = lib.mdDoc ''
+ description = ''
Configuration that is injected verbatim into the configuration file.
'';
};
diff --git a/nixos/modules/services/monitoring/goss.nix b/nixos/modules/services/monitoring/goss.nix
index 1b973bbbf45c..00246752a7cd 100644
--- a/nixos/modules/services/monitoring/goss.nix
+++ b/nixos/modules/services/monitoring/goss.nix
@@ -14,7 +14,7 @@ in {
options = {
services.goss = {
- enable = lib.mkEnableOption (lib.mdDoc "Goss daemon");
+ enable = lib.mkEnableOption "Goss daemon";
package = lib.mkPackageOption pkgs "goss" { };
@@ -26,7 +26,7 @@ in {
GOSS_LOGLEVEL = "FATAL";
GOSS_LISTEN = ":8080";
};
- description = lib.mdDoc ''
+ description = ''
Environment variables to set for the goss service.
See
@@ -46,7 +46,7 @@ in {
running = true;
};
};
- description = lib.mdDoc ''
+ description = ''
The global options in `config` file in yaml format.
Refer to for schema.
diff --git a/nixos/modules/services/monitoring/grafana-agent.nix b/nixos/modules/services/monitoring/grafana-agent.nix
index e8d38a453176..655ec8ded1e0 100644
--- a/nixos/modules/services/monitoring/grafana-agent.nix
+++ b/nixos/modules/services/monitoring/grafana-agent.nix
@@ -11,12 +11,12 @@ in
};
options.services.grafana-agent = {
- enable = mkEnableOption (lib.mdDoc "grafana-agent");
+ enable = mkEnableOption "grafana-agent";
package = mkPackageOption pkgs "grafana-agent" { };
credentials = mkOption {
- description = lib.mdDoc ''
+ description = ''
Credentials to load at service startup. Keys that are UPPER_SNAKE will be loaded as env vars. Values are absolute paths to the credentials.
'';
type = types.attrsOf types.str;
@@ -36,7 +36,7 @@ in
type = with types; listOf str;
default = [ ];
example = [ "-enable-features=integrations-next" "-disable-reporting" ];
- description = lib.mdDoc ''
+ description = ''
Extra command-line flags passed to {command}`grafana-agent`.
See
@@ -44,7 +44,7 @@ in
};
settings = mkOption {
- description = lib.mdDoc ''
+ description = ''
Configuration for {command}`grafana-agent`.
See
diff --git a/nixos/modules/services/monitoring/grafana-image-renderer.nix b/nixos/modules/services/monitoring/grafana-image-renderer.nix
index afe9eb4d7b95..e06720b15302 100644
--- a/nixos/modules/services/monitoring/grafana-image-renderer.nix
+++ b/nixos/modules/services/monitoring/grafana-image-renderer.nix
@@ -10,18 +10,18 @@ let
configFile = format.generate "grafana-image-renderer-config.json" cfg.settings;
in {
options.services.grafana-image-renderer = {
- enable = mkEnableOption (lib.mdDoc "grafana-image-renderer");
+ enable = mkEnableOption "grafana-image-renderer";
chromium = mkOption {
type = types.package;
- description = lib.mdDoc ''
+ description = ''
The chromium to use for image rendering.
'';
};
- verbose = mkEnableOption (lib.mdDoc "verbosity for the service");
+ verbose = mkEnableOption "verbosity for the service";
- provisionGrafana = mkEnableOption (lib.mdDoc "Grafana configuration for grafana-image-renderer");
+ provisionGrafana = mkEnableOption "Grafana configuration for grafana-image-renderer";
settings = mkOption {
type = types.submodule {
@@ -32,14 +32,14 @@ in {
port = mkOption {
type = types.port;
default = 8081;
- description = lib.mdDoc ''
+ description = ''
The TCP port to use for the rendering server.
'';
};
logging.level = mkOption {
type = types.enum [ "error" "warning" "info" "debug" ];
default = "info";
- description = lib.mdDoc ''
+ description = ''
The log-level of the {file}`grafana-image-renderer.service`-unit.
'';
};
@@ -48,21 +48,21 @@ in {
width = mkOption {
default = 1000;
type = types.ints.positive;
- description = lib.mdDoc ''
+ description = ''
Width of the PNG used to display the alerting graph.
'';
};
height = mkOption {
default = 500;
type = types.ints.positive;
- description = lib.mdDoc ''
+ description = ''
Height of the PNG used to display the alerting graph.
'';
};
mode = mkOption {
default = "default";
type = types.enum [ "default" "reusable" "clustered" ];
- description = lib.mdDoc ''
+ description = ''
Rendering mode of `grafana-image-renderer`:
- `default:` Creates on browser-instance
@@ -77,7 +77,7 @@ in {
args = mkOption {
type = types.listOf types.str;
default = [ "--no-sandbox" ];
- description = lib.mdDoc ''
+ description = ''
List of CLI flags passed to `chromium`.
'';
};
@@ -87,7 +87,7 @@ in {
default = {};
- description = lib.mdDoc ''
+ description = ''
Configuration attributes for `grafana-image-renderer`.
See
diff --git a/nixos/modules/services/monitoring/grafana-reporter.nix b/nixos/modules/services/monitoring/grafana-reporter.nix
index eac304d63aa1..340ab7abd19b 100644
--- a/nixos/modules/services/monitoring/grafana-reporter.nix
+++ b/nixos/modules/services/monitoring/grafana-reporter.nix
@@ -7,40 +7,40 @@ let
in {
options.services.grafana_reporter = {
- enable = mkEnableOption (lib.mdDoc "grafana_reporter");
+ enable = mkEnableOption "grafana_reporter";
grafana = {
protocol = mkOption {
- description = lib.mdDoc "Grafana protocol.";
+ description = "Grafana protocol.";
default = "http";
type = types.enum ["http" "https"];
};
addr = mkOption {
- description = lib.mdDoc "Grafana address.";
+ description = "Grafana address.";
default = "127.0.0.1";
type = types.str;
};
port = mkOption {
- description = lib.mdDoc "Grafana port.";
+ description = "Grafana port.";
default = 3000;
type = types.port;
};
};
addr = mkOption {
- description = lib.mdDoc "Listening address.";
+ description = "Listening address.";
default = "127.0.0.1";
type = types.str;
};
port = mkOption {
- description = lib.mdDoc "Listening port.";
+ description = "Listening port.";
default = 8686;
type = types.port;
};
templateDir = mkOption {
- description = lib.mdDoc "Optional template directory to use custom tex templates";
+ description = "Optional template directory to use custom tex templates";
default = pkgs.grafana_reporter;
defaultText = literalExpression "pkgs.grafana_reporter";
type = types.either types.str types.path;
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 5ac010bf81ee..9d453c539482 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -95,41 +95,41 @@ let
options = {
name = mkOption {
type = types.str;
- description = lib.mdDoc "Name of the datasource. Required.";
+ description = "Name of the datasource. Required.";
};
type = mkOption {
type = types.str;
- description = lib.mdDoc "Datasource type. Required.";
+ description = "Datasource type. Required.";
};
access = mkOption {
type = types.enum [ "proxy" "direct" ];
default = "proxy";
- description = lib.mdDoc "Access mode. proxy or direct (Server or Browser in the UI). Required.";
+ description = "Access mode. proxy or direct (Server or Browser in the UI). Required.";
};
uid = mkOption {
type = types.nullOr types.str;
default = null;
- description = lib.mdDoc "Custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically.";
+ description = "Custom UID which can be used to reference this datasource in other parts of the configuration, if not specified will be generated automatically.";
};
url = mkOption {
type = types.str;
default = "localhost";
- description = lib.mdDoc "Url of the datasource.";
+ description = "Url of the datasource.";
};
editable = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Allow users to edit datasources from the UI.";
+ description = "Allow users to edit datasources from the UI.";
};
jsonData = mkOption {
type = types.nullOr types.attrs;
default = null;
- description = lib.mdDoc "Extra data for datasource plugins.";
+ description = "Extra data for datasource plugins.";
};
secureJsonData = mkOption {
type = types.nullOr types.attrs;
default = null;
- description = lib.mdDoc ''
+ description = ''
Datasource specific secure configuration. Please note that the contents of this option
will end up in a world-readable Nix store. Use the file provider
pointing at a reasonably secured file in the local filesystem
@@ -148,16 +148,16 @@ let
name = mkOption {
type = types.str;
default = "default";
- description = lib.mdDoc "A unique provider name.";
+ description = "A unique provider name.";
};
type = mkOption {
type = types.str;
default = "file";
- description = lib.mdDoc "Dashboard provider type.";
+ description = "Dashboard provider type.";
};
options.path = mkOption {
type = types.path;
- description = lib.mdDoc "Path grafana will watch for dashboards. Required when using the 'file' type.";
+ description = "Path grafana will watch for dashboards. Required when using the 'file' type.";
};
};
};
@@ -167,55 +167,55 @@ let
name = mkOption {
type = types.str;
default = "default";
- description = lib.mdDoc "Notifier name.";
+ description = "Notifier name.";
};
type = mkOption {
type = types.enum [ "dingding" "discord" "email" "googlechat" "hipchat" "kafka" "line" "teams" "opsgenie" "pagerduty" "prometheus-alertmanager" "pushover" "sensu" "sensugo" "slack" "telegram" "threema" "victorops" "webhook" ];
- description = lib.mdDoc "Notifier type.";
+ description = "Notifier type.";
};
uid = mkOption {
type = types.str;
- description = lib.mdDoc "Unique notifier identifier.";
+ description = "Unique notifier identifier.";
};
org_id = mkOption {
type = types.int;
default = 1;
- description = lib.mdDoc "Organization ID.";
+ description = "Organization ID.";
};
org_name = mkOption {
type = types.str;
default = "Main Org.";
- description = lib.mdDoc "Organization name.";
+ description = "Organization name.";
};
is_default = mkOption {
type = types.bool;
- description = lib.mdDoc "Is the default notifier.";
+ description = "Is the default notifier.";
default = false;
};
send_reminder = mkOption {
type = types.bool;
default = true;
- description = lib.mdDoc "Should the notifier be sent reminder notifications while alerts continue to fire.";
+ description = "Should the notifier be sent reminder notifications while alerts continue to fire.";
};
frequency = mkOption {
type = types.str;
default = "5m";
- description = lib.mdDoc "How frequently should the notifier be sent reminders.";
+ description = "How frequently should the notifier be sent reminders.";
};
disable_resolve_message = mkOption {
type = types.bool;
default = false;
- description = lib.mdDoc "Turn off the message that sends when an alert returns to OK.";
+ description = "Turn off the message that sends when an alert returns to OK.";
};
settings = mkOption {
type = types.nullOr types.attrs;
default = null;
- description = lib.mdDoc "Settings for the notifier type.";
+ description = "Settings for the notifier type.";
};
secure_settings = mkOption {
type = types.nullOr types.attrs;
default = null;
- description = lib.mdDoc ''
+ description = ''
Secure settings for the notifier type. Please note that the contents of this option
will end up in a world-readable Nix store. Use the file provider
pointing at a reasonably secured file in the local filesystem
@@ -297,12 +297,12 @@ in
];
options.services.grafana = {
- enable = mkEnableOption (lib.mdDoc "grafana");
+ enable = mkEnableOption "grafana";
declarativePlugins = mkOption {
type = with types; nullOr (listOf path);
default = null;
- description = lib.mdDoc "If non-null, then a list of packages containing Grafana plugins to install. If set, plugins cannot be manually installed.";
+ description = "If non-null, then a list of packages containing Grafana plugins to install. If set, plugins cannot be manually installed.";
example = literalExpression "with pkgs.grafanaPlugins; [ grafana-piechart-panel ]";
# Make sure each plugin is added only once; otherwise building
# the link farm fails, since the same path is added multiple
@@ -313,13 +313,13 @@ in
package = mkPackageOption pkgs "grafana" { };
dataDir = mkOption {
- description = lib.mdDoc "Data directory.";
+ description = "Data directory.";
default = "/var/lib/grafana";
type = types.path;
};
settings = mkOption {
- description = lib.mdDoc ''
+ description = ''
Grafana settings. See
for available options. INI format is used.
'';
@@ -329,14 +329,14 @@ in
options = {
paths = {
plugins = mkOption {
- description = lib.mdDoc "Directory where grafana will automatically scan and look for plugins";
+ description = "Directory where grafana will automatically scan and look for plugins";
default = if (cfg.declarativePlugins == null) then "${cfg.dataDir}/plugins" else declarativePlugins;
defaultText = literalExpression "if (cfg.declarativePlugins == null) then \"\${cfg.dataDir}/plugins\" else declarativePlugins";
type = types.path;
};
provisioning = mkOption {
- description = lib.mdDoc ''
+ description = ''
Folder that contains provisioning config files that grafana will apply on startup and while running.
Don't change the value of this option if you are planning to use `services.grafana.provision` options.
'';
@@ -348,7 +348,7 @@ in
server = {
protocol = mkOption {
- description = lib.mdDoc "Which protocol to listen.";
+ description = "Which protocol to listen.";
default = "http";
type = types.enum [ "http" "https" "h2" "socket" ];
};
@@ -356,7 +356,7 @@ in
http_addr = mkOption {
type = types.str;
default = "127.0.0.1";
- description = lib.mdDoc ''
+ description = ''
Listening address.
::: {.note}
@@ -366,13 +366,13 @@ in
};
http_port = mkOption {
- description = lib.mdDoc "Listening port.";
+ description = "Listening port.";
default = 3000;
type = types.port;
};
domain = mkOption {
- description = lib.mdDoc ''
+ description = ''
The public facing domain name used to access grafana from a browser.
This setting is only used in the default value of the `root_url` setting.
@@ -383,7 +383,7 @@ in
};
enforce_domain = mkOption {
- description = lib.mdDoc ''
+ description = ''
Redirect to correct domain if the host header does not match the domain.
Prevents DNS rebinding attacks.
'';
@@ -392,7 +392,7 @@ in
};
root_url = mkOption {
- description = lib.mdDoc ''
+ description = ''
This is the full URL used to access Grafana from a web browser.
This is important if you use Google or GitHub OAuth authentication (for the callback URL to be correct).
@@ -404,7 +404,7 @@ in
};
serve_from_sub_path = mkOption {
- description = lib.mdDoc ''
+ description = ''
Serve Grafana from subpath specified in the `root_url` setting.
By default it is set to `false` for compatibility reasons.
@@ -418,7 +418,7 @@ in
};
router_logging = mkOption {
- description = lib.mdDoc ''
+ description = ''
Set to `true` for Grafana to log all HTTP requests (not just errors).
These are logged as Info level events to the Grafana log.
'';
@@ -427,14 +427,14 @@ in
};
static_root_path = mkOption {
- description = lib.mdDoc "Root path for static assets.";
+ description = "Root path for static assets.";
default = "${cfg.package}/share/grafana/public";
defaultText = literalExpression ''"''${package}/share/grafana/public"'';
type = types.str;
};
enable_gzip = mkOption {
- description = lib.mdDoc ''
+ description = ''
Set this option to `true` to enable HTTP compression, this can improve transfer speed and bandwidth utilization.
It is recommended that most users set it to `true`. By default it is set to `false` for compatibility reasons.
'';
@@ -443,7 +443,7 @@ in
};
cert_file = mkOption {
- description = lib.mdDoc ''
+ description = ''
Path to the certificate file (if `protocol` is set to `https` or `h2`).
'';
default = null;
@@ -451,7 +451,7 @@ in
};
cert_key = mkOption {
- description = lib.mdDoc ''
+ description = ''
Path to the certificate key file (if `protocol` is set to `https` or `h2`).
'';
default = null;
@@ -459,7 +459,7 @@ in
};
socket_gid = mkOption {
- description = lib.mdDoc ''
+ description = ''
GID where the socket should be set when `protocol=socket`.
Make sure that the target group is in the group of Grafana process and that Grafana process is the file owner before you change this setting.
It is recommended to set the gid as http server user gid.
@@ -470,7 +470,7 @@ in
};
socket_mode = mkOption {
- description = lib.mdDoc ''
+ description = ''
Mode where the socket should be set when `protocol=socket`.
Make sure that Grafana process is the file owner before you change this setting.
'';
@@ -482,7 +482,7 @@ in
};
socket = mkOption {
- description = lib.mdDoc ''
+ description = ''
Path where the socket should be created when `protocol=socket`.
Make sure that Grafana has appropriate permissions before you change this setting.
'';
@@ -491,7 +491,7 @@ in
};
cdn_url = mkOption {
- description = lib.mdDoc ''
+ description = ''
Specify a full HTTP URL address to the root of your Grafana CDN assets.
Grafana will add edition and version paths.
@@ -503,7 +503,7 @@ in
};
read_timeout = mkOption {
- description = lib.mdDoc ''
+ description = ''
Sets the maximum time using a duration format (5s/5m/5ms)
before timing out read of an incoming request and closing idle connections.
0 means there is no timeout for reading the request.
@@ -515,13 +515,13 @@ in
database = {
type = mkOption {
- description = lib.mdDoc "Database type.";
+ description = "Database type.";
default = "sqlite3";
type = types.enum [ "mysql" "sqlite3" "postgres" ];
};
host = mkOption {
- description = lib.mdDoc ''
+ description = ''
Only applicable to MySQL or Postgres.
Includes IP or hostname and port or in case of Unix sockets the path to it.
For example, for MySQL running on the same host as Grafana: `host = "127.0.0.1:3306"`
@@ -532,19 +532,19 @@ in
};
name = mkOption {
- description = lib.mdDoc "The name of the Grafana database.";
+ description = "The name of the Grafana database.";
default = "grafana";
type = types.str;
};
user = mkOption {
- description = lib.mdDoc "The database user (not applicable for `sqlite3`).";
+ description = "The database user (not applicable for `sqlite3`).";
default = "root";
type = types.str;
};
password = mkOption {
- description = lib.mdDoc ''
+ description = ''
The database user's password (not applicable for `sqlite3`).
Please note that the contents of this option
@@ -558,19 +558,19 @@ in
};
max_idle_conn = mkOption {
- description = lib.mdDoc "The maximum number of connections in the idle connection pool.";
+ description = "The maximum number of connections in the idle connection pool.";
default = 2;
type = types.int;
};
max_open_conn = mkOption {
- description = lib.mdDoc "The maximum number of open connections to the database.";
+ description = "The maximum number of open connections to the database.";
default = 0;
type = types.int;
};
conn_max_lifetime = mkOption {
- description = lib.mdDoc ''
+ description = ''
Sets the maximum amount of time a connection may be reused.
The default is 14400 (which means 14400 seconds or 4 hours).
For MySQL, this setting should be shorter than the `wait_timeout` variable.
@@ -580,7 +580,7 @@ in
};
locking_attempt_timeout_sec = mkOption {
- description = lib.mdDoc ''
+ description = ''
For `mysql`, if the `migrationLocking` feature toggle is set,
specify the time (in seconds) to wait before failing to lock the database for the migrations.
'';
@@ -589,13 +589,13 @@ in
};
log_queries = mkOption {
- description = lib.mdDoc "Set to `true` to log the sql calls and execution times";
+ description = "Set to `true` to log the sql calls and execution times";
default = false;
type = types.bool;
};
ssl_mode = mkOption {
- description = lib.mdDoc ''
+ description = ''
For Postgres, use either `disable`, `require` or `verify-full`.
For MySQL, use either `true`, `false`, or `skip-verify`.
'';
@@ -604,7 +604,7 @@ in
};
isolation_level = mkOption {
- description = lib.mdDoc ''
+ description = ''
Only the MySQL driver supports isolation levels in Grafana.
In case the value is empty, the driver's default isolation level is applied.
'';
@@ -613,25 +613,25 @@ in
};
ca_cert_path = mkOption {
- description = lib.mdDoc "The path to the CA certificate to use.";
+ description = "The path to the CA certificate to use.";
default = null;
type = types.nullOr types.str;
};
client_key_path = mkOption {
- description = lib.mdDoc "The path to the client key. Only if server requires client authentication.";
+ description = "The path to the client key. Only if server requires client authentication.";
default = null;
type = types.nullOr types.str;
};
client_cert_path = mkOption {
- description = lib.mdDoc "The path to the client cert. Only if server requires client authentication.";
+ description = "The path to the client cert. Only if server requires client authentication.";
default = null;
type = types.nullOr types.str;
};
server_cert_name = mkOption {
- description = lib.mdDoc ''
+ description = ''
The common name field of the certificate used by the `mysql` or `postgres` server.
Not necessary if `ssl_mode` is set to `skip-verify`.
'';
@@ -640,14 +640,14 @@ in
};
path = mkOption {
- description = lib.mdDoc "Only applicable to `sqlite3` database. The file path where the database will be stored.";
+ description = "Only applicable to `sqlite3` database. The file path where the database will be stored.";
default = "${cfg.dataDir}/data/grafana.db";
defaultText = literalExpression ''"''${config.${opt.dataDir}}/data/grafana.db"'';
type = types.path;
};
cache_mode = mkOption {
- description = lib.mdDoc ''
+ description = ''
For `sqlite3` only.
[Shared cache](https://www.sqlite.org/sharedcache.html) setting used for connecting to the database.
'';
@@ -656,7 +656,7 @@ in
};
wal = mkOption {
- description = lib.mdDoc ''
+ description = ''
For `sqlite3` only.
Setting to enable/disable [Write-Ahead Logging](https://sqlite.org/wal.html).
'';
@@ -665,7 +665,7 @@ in
};
query_retries = mkOption {
- description = lib.mdDoc ''
+ description = ''
This setting applies to `sqlite3` only and controls the number of times the system retries a query when the database is locked.
'';
default = 0;
@@ -673,7 +673,7 @@ in
};
transaction_retries = mkOption {
- description = lib.mdDoc ''
+ description = ''
This setting applies to `sqlite3` only and controls the number of times the system retries a transaction when the database is locked.
'';
default = 5;
@@ -682,7 +682,7 @@ in
# TODO Add "instrument_queries" option when upgrading to grafana 10.0
# instrument_queries = mkOption {
- # description = lib.mdDoc "Set to `true` to add metrics and tracing for database queries.";
+ # description = "Set to `true` to add metrics and tracing for database queries.";
# default = false;
# type = types.bool;
# };
@@ -690,19 +690,19 @@ in
security = {
disable_initial_admin_creation = mkOption {
- description = lib.mdDoc "Disable creation of admin user on first start of Grafana.";
+ description = "Disable creation of admin user on first start of Grafana.";
default = false;
type = types.bool;
};
admin_user = mkOption {
- description = lib.mdDoc "Default admin username.";
+ description = "Default admin username.";
default = "admin";
type = types.str;
};
admin_password = mkOption {
- description = lib.mdDoc ''
+ description = ''
Default admin password. Please note that the contents of this option
will end up in a world-readable Nix store. Use the file provider
pointing at a reasonably secured file in the local filesystem
@@ -714,13 +714,13 @@ in
};
admin_email = mkOption {
- description = lib.mdDoc "The email of the default Grafana Admin, created on startup.";
+ description = "The email of the default Grafana Admin, created on startup.";
default = "admin@localhost";
type = types.str;
};
secret_key = mkOption {
- description = lib.mdDoc ''
+ description = ''
Secret key used for signing. Please note that the contents of this option
will end up in a world-readable Nix store. Use the file provider
pointing at a reasonably secured file in the local filesystem
@@ -732,13 +732,13 @@ in
};
disable_gravatar = mkOption {
- description = lib.mdDoc "Set to `true` to disable the use of Gravatar for user profile images.";
+ description = "Set to `true` to disable the use of Gravatar for user profile images.";
default = false;
type = types.bool;
};
data_source_proxy_whitelist = mkOption {
- description = lib.mdDoc ''
+ description = ''
Define a whitelist of allowed IP addresses or domains, with ports,
to be used in data source URLs with the Grafana data source proxy.
Format: `ip_or_domain:port` separated by spaces.
@@ -749,19 +749,19 @@ in
};
disable_brute_force_login_protection = mkOption {
- description = lib.mdDoc "Set to `true` to disable [brute force login protection](https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#account-lockout).";
+ description = "Set to `true` to disable [brute force login protection](https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html#account-lockout).";
default = false;
type = types.bool;
};
cookie_secure = mkOption {
- description = lib.mdDoc "Set to `true` if you host Grafana behind HTTPS.";
+ description = "Set to `true` if you host Grafana behind HTTPS.";
default = false;
type = types.bool;
};
cookie_samesite = mkOption {
- description = lib.mdDoc ''
+ description = ''
Sets the `SameSite` cookie attribute and prevents the browser from sending this cookie along with cross-site requests.
The main goal is to mitigate the risk of cross-origin information leakage.
This setting also provides some protection against cross-site request forgery attacks (CSRF),
@@ -773,7 +773,7 @@ in
};
allow_embedding = mkOption {
- description = lib.mdDoc ''
+ description = ''
When `false`, the HTTP header `X-Frame-Options: deny` will be set in Grafana HTTP responses
which will instruct browsers to not allow rendering Grafana in a ``, `