diff --git a/nixos/modules/services/misc/taskserver.nix b/nixos/modules/services/misc/taskserver.nix
index 73d9ef567f4..3be547863e5 100644
--- a/nixos/modules/services/misc/taskserver.nix
+++ b/nixos/modules/services/misc/taskserver.nix
@@ -9,159 +9,175 @@ in {
options = {
services.taskserver = {
- enable = mkEnableOption "Taskwarrior server.";
+ enable = mkEnableOption "the Taskwarrior server";
user = mkOption {
+ type = types.str;
default = "taskd";
- description = "User for taskserver.";
+ description = "User for Taskserver.";
};
group = mkOption {
+ type = types.str;
default = "taskd";
- description = "Group for taskserver.";
+ description = "Group for Taskserver.";
};
dataDir = mkOption {
- default = "/var/lib/taskserver/data/";
- description = "Data directory for taskserver.";
type = types.path;
+ default = "/var/lib/taskserver";
+ description = "Data directory for Taskserver.";
};
caCert = mkOption {
- description = "Fully qualified path to the CA certificate. Optional.";
- type = types.path;
+ type = types.nullOr types.path;
+ default = null;
+ description = "Fully qualified path to the CA certificate.";
};
ciphers = mkOption {
- default = "NORMAL";
+ type = types.nullOr types.string;
+ default = null;
+ example = "NORMAL";
description = ''
- List of GnuTLS ciphers to use. See your
- GnuTLS documentation for full details.
+ List of GnuTLS ciphers to use. See the GnuTLS documentation for full
+ details.
'';
- type = types.string;
};
confirmation = mkOption {
+ type = types.bool;
default = true;
description = ''
Determines whether certain commands are confirmed.
'';
- type = types.bool;
};
debug = mkOption {
+ type = types.bool;
default = false;
description = ''
Logs debugging information.
'';
- type = types.bool;
};
extensions = mkOption {
+ type = types.nullOr types.path;
+ default = null;
description = ''
- Fully qualified path of the Taskserver extension scripts. Currently
- there are none.
+ Fully qualified path of the Taskserver extension scripts.
+ Currently there are none.
'';
- type = types.path;
};
ipLog = mkOption {
- default = true;
+ type = types.bool;
+ default = false;
description = ''
Logs the IP addresses of incoming requests.
'';
- type = types.bool;
};
queueSize = mkOption {
+ type = types.int;
default = 10;
description = ''
- Size of the connection backlog. See 'man listen'.
+ Size of the connection backlog, see
+ listen
+ 2
+ .
'';
- type = types.int;
};
requestLimit = mkOption {
+ type = types.int;
default = 1048576;
description = ''
Size limit of incoming requests, in bytes.
'';
- type = types.int;
};
client = {
allow = mkOption {
- default = [ "[Tt]ask [2-9]+" ];
- description = ''
- A comma-separated list of regular expressions that are matched
- against the reported client id (such as "task 2.3.0"). The values
- 'all' or 'none' have special meaning. Overidden by any
- 'client.deny' entry.
- '';
type = types.listOf types.str;
+ default = [];
+ example = [ "[Tt]ask [2-9]+" ];
+ description = ''
+ A list of regular expressions that are matched against the reported
+ client id (such as task 2.3.0).
+
+ The values all or none have
+ special meaning. Overidden by any entry in the option
+ .
+ '';
};
cert = mkOption {
+ type = types.nullOr types.path;
+ default = null;
description = ''
- Fully qualified path of the client cert. This is used by the
- 'client' command.
+ Fully qualified path of the client cert. This is used by the
+ client command.
'';
- type = types.path;
};
deny = mkOption {
- default = [ "[Tt]ask [2-9]+" ];
- description = ''
- A comma-separated list of regular expressions that are matched
- against the reported client id (such as "task 2.3.0"). The values
- 'all' or 'none' have special meaning. Any 'client.deny' entry
- overrides any 'client.allow' entry.
- '';
type = types.listOf types.str;
+ default = [];
+ example = [ "[Tt]ask [2-9]+" ];
+ description = ''
+ A list of regular expressions that are matched against the reported
+ client id (such as task 2.3.0).
+
+ The values all or none have
+ special meaning. Any entry here overrides these in
+ .
+ '';
};
};
server = {
host = mkOption {
+ type = types.string;
default = "localhost";
description = ''
The address (IPv4, IPv6 or DNS) of the Taskserver.
'';
- type = types.string;
};
port = mkOption {
+ type = types.int;
default = 53589;
description = ''
- Portnumber of the Taskserver.
+ Port number of the Taskserver.
'';
- type = types.int;
};
cert = mkOption {
+ type = types.nullOr types.path;
+ default = null;
description = "Fully qualified path to the server certificate";
- type = types.path;
};
crl = mkOption {
+ type = types.nullOr types.path;
+ default = null;
description = ''
- Fully qualified path to the server certificate
- revocation list.
+ Fully qualified path to the server certificate revocation list.
'';
- type = types.path;
};
key = mkOption {
+ type = types.nullOr types.path;
+ default = null;
description = ''
Fully qualified path to the server key.
- Note that sending the HUP signal to the Taskserver
- causes a configuration file reload before the next
- request is handled.
+ Note that reloading the taskserver.service causes
+ a configuration file reload before the next request is handled.
'';
- type = types.path;
};
};
};