summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/networking/syncthing.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/networking/syncthing.nix')
-rw-r--r--nixos/modules/services/networking/syncthing.nix108
1 files changed, 48 insertions, 60 deletions
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 3a3d4c80ecff..6a90f28dc5f7 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -72,39 +72,39 @@ in {
cert = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
- Path to the <literal>cert.pem</literal> file, which will be copied into Syncthing's
- <link linkend="opt-services.syncthing.configDir">configDir</link>.
+ description = mdDoc ''
+ Path to the `cert.pem` file, which will be copied into Syncthing's
+ [configDir](#opt-services.syncthing.configDir).
'';
};
key = mkOption {
type = types.nullOr types.str;
default = null;
- description = ''
- Path to the <literal>key.pem</literal> file, which will be copied into Syncthing's
- <link linkend="opt-services.syncthing.configDir">configDir</link>.
+ description = mdDoc ''
+ Path to the `key.pem` file, which will be copied into Syncthing's
+ [configDir](#opt-services.syncthing.configDir).
'';
};
overrideDevices = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = mdDoc ''
Whether to delete the devices which are not configured via the
- <link linkend="opt-services.syncthing.devices">devices</link> option.
- If set to <literal>false</literal>, devices added via the web
+ [devices](#opt-services.syncthing.devices) option.
+ If set to `false`, devices added via the web
interface will persist and will have to be deleted manually.
'';
};
devices = mkOption {
default = {};
- description = ''
+ description = mdDoc ''
Peers/devices which Syncthing should communicate with.
Note that you can still add devices manually, but those changes
- will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+ will be reverted on restart if [overrideDevices](#opt-services.syncthing.overrideDevices)
is enabled.
'';
example = {
@@ -135,27 +135,27 @@ in {
id = mkOption {
type = types.str;
- description = ''
- The device ID. See <link xlink:href="https://docs.syncthing.net/dev/device-ids.html"/>.
+ description = mdDoc ''
+ The device ID. See <https://docs.syncthing.net/dev/device-ids.html>.
'';
};
introducer = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = mdDoc ''
Whether the device should act as an introducer and be allowed
to add folders on this computer.
- See <link xlink:href="https://docs.syncthing.net/users/introducer.html"/>.
+ See <https://docs.syncthing.net/users/introducer.html>.
'';
};
autoAcceptFolders = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = mdDoc ''
Automatically create or share folders that this device advertises at the default path.
- See <link xlink:href="https://docs.syncthing.net/users/config.html?highlight=autoaccept#config-file-format"/>.
+ See <https://docs.syncthing.net/users/config.html?highlight=autoaccept#config-file-format>.
'';
};
@@ -166,21 +166,21 @@ in {
overrideFolders = mkOption {
type = types.bool;
default = true;
- description = ''
+ description = mdDoc ''
Whether to delete the folders which are not configured via the
- <link linkend="opt-services.syncthing.folders">folders</link> option.
- If set to <literal>false</literal>, folders added via the web
+ [folders](#opt-services.syncthing.folders) option.
+ If set to `false`, folders added via the web
interface will persist and will have to be deleted manually.
'';
};
folders = mkOption {
default = {};
- description = ''
+ description = mdDoc ''
Folders which should be shared by Syncthing.
Note that you can still add devices manually, but those changes
- will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+ will be reverted on restart if [overrideDevices](#opt-services.syncthing.overrideDevices)
is enabled.
'';
example = literalExpression ''
@@ -231,18 +231,18 @@ in {
devices = mkOption {
type = types.listOf types.str;
default = [];
- description = ''
+ description = mdDoc ''
The devices this folder should be shared with. Each device must
- be defined in the <link linkend="opt-services.syncthing.devices">devices</link> option.
+ be defined in the [devices](#opt-services.syncthing.devices) option.
'';
};
versioning = mkOption {
default = null;
- description = ''
+ description = mdDoc ''
How to keep changed/deleted files with Syncthing.
There are 4 different types of versioning with different parameters.
- See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+ See <https://docs.syncthing.net/users/versioning.html>.
'';
example = literalExpression ''
[
@@ -284,17 +284,17 @@ in {
options = {
type = mkOption {
type = enum [ "external" "simple" "staggered" "trashcan" ];
- description = ''
+ description = mdDoc ''
The type of versioning.
- See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+ See <https://docs.syncthing.net/users/versioning.html>.
'';
};
params = mkOption {
type = attrsOf (either str path);
- description = ''
+ description = mdDoc ''
The parameters for versioning. Structure depends on
- <link linkend="opt-services.syncthing.folders._name_.versioning.type">versioning.type</link>.
- See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+ [versioning.type](#opt-services.syncthing.folders._name_.versioning.type).
+ See <https://docs.syncthing.net/users/versioning.html>.
'';
};
};
@@ -345,9 +345,9 @@ in {
ignoreDelete = mkOption {
type = types.bool;
default = false;
- description = ''
+ description = mdDoc ''
Whether to skip deleting files that are deleted by peers.
- See <link xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html"/>.
+ See <https://docs.syncthing.net/advanced/folder-ignoredelete.html>.
'';
};
};
@@ -357,9 +357,9 @@ in {
extraOptions = mkOption {
type = types.addCheck (pkgs.formats.json {}).type isAttrs;
default = {};
- description = ''
+ description = mdDoc ''
Extra configuration options for Syncthing.
- See <link xlink:href="https://docs.syncthing.net/users/config.html"/>.
+ See <https://docs.syncthing.net/users/config.html>.
'';
example = {
options.localAnnounceEnabled = false;
@@ -387,9 +387,9 @@ in {
type = types.str;
default = defaultUser;
example = "yourUser";
- description = ''
+ description = mdDoc ''
The user to run Syncthing as.
- By default, a user named <literal>${defaultUser}</literal> will be created.
+ By default, a user named `${defaultUser}` will be created.
'';
};
@@ -397,9 +397,9 @@ in {
type = types.str;
default = defaultGroup;
example = "yourGroup";
- description = ''
+ description = mdDoc ''
The group to run Syncthing under.
- By default, a group named <literal>${defaultGroup}</literal> will be created.
+ By default, a group named `${defaultGroup}` will be created.
'';
};
@@ -407,11 +407,11 @@ in {
type = with types; nullOr str;
default = null;
example = "socks5://address.com:1234";
- description = ''
+ description = mdDoc ''
Overwrites the all_proxy environment variable for the Syncthing process to
the given value. This is normally used to let Syncthing connect
through a SOCKS5 proxy server.
- See <link xlink:href="https://docs.syncthing.net/users/proxying.html"/>.
+ See <https://docs.syncthing.net/users/proxying.html>.
'';
};
@@ -432,25 +432,13 @@ in {
The path where the settings and keys will exist.
'';
default = cfg.dataDir + optionalString cond "/.config/syncthing";
- defaultText = literalDocBook ''
- <variablelist>
- <varlistentry>
- <term><literal>stateVersion >= 19.03</literal></term>
- <listitem>
- <programlisting>
- config.${opt.dataDir} + "/.config/syncthing"
- </programlisting>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term>otherwise</term>
- <listitem>
- <programlisting>
- config.${opt.dataDir}
- </programlisting>
- </listitem>
- </varlistentry>
- </variablelist>
+ defaultText = literalMD ''
+ * if `stateVersion >= 19.03`:
+
+ config.${opt.dataDir} + "/.config/syncthing"
+ * otherwise:
+
+ config.${opt.dataDir}
'';
};