some docs revamps
This commit is contained in:
parent
59df934222
commit
54ce26efce
10 changed files with 41 additions and 35 deletions
|
@ -36,7 +36,7 @@ let
|
||||||
};
|
};
|
||||||
|
|
||||||
repositories = lib.mkOption {
|
repositories = lib.mkOption {
|
||||||
description = lib.mdDoc "Repositories to back this instance to.";
|
description = "Repositories to back this instance to.";
|
||||||
type = lib.types.nonEmptyListOf lib.types.str;
|
type = lib.types.nonEmptyListOf lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -96,26 +96,26 @@ in
|
||||||
{
|
{
|
||||||
options.shb.backup = {
|
options.shb.backup = {
|
||||||
onlyOnAC = lib.mkOption {
|
onlyOnAC = lib.mkOption {
|
||||||
description = lib.mdDoc "Run backups only if AC power is plugged in.";
|
description = "Run backups only if AC power is plugged in.";
|
||||||
default = true;
|
default = true;
|
||||||
example = false;
|
example = false;
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
};
|
};
|
||||||
|
|
||||||
user = lib.mkOption {
|
user = lib.mkOption {
|
||||||
description = lib.mdDoc "Unix user doing the backups.";
|
description = "Unix user doing the backups.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "backup";
|
default = "backup";
|
||||||
};
|
};
|
||||||
|
|
||||||
group = lib.mkOption {
|
group = lib.mkOption {
|
||||||
description = lib.mdDoc "Unix group doing the backups.";
|
description = "Unix group doing the backups.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
default = "backup";
|
default = "backup";
|
||||||
};
|
};
|
||||||
|
|
||||||
instances = lib.mkOption {
|
instances = lib.mkOption {
|
||||||
description = lib.mdDoc "Each instance is a backup setting";
|
description = "Each instance is a backup setting";
|
||||||
default = {};
|
default = {};
|
||||||
type = lib.types.attrsOf (lib.types.submodule {
|
type = lib.types.attrsOf (lib.types.submodule {
|
||||||
options = instanceOptions;
|
options = instanceOptions;
|
||||||
|
@ -123,7 +123,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
borgServer = lib.mkOption {
|
borgServer = lib.mkOption {
|
||||||
description = lib.mdDoc "Add borgbackup package so external backups can use this server as a remote.";
|
description = "Add borgbackup package so external backups can use this server as a remote.";
|
||||||
default = false;
|
default = false;
|
||||||
example = true;
|
example = true;
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
|
|
|
@ -59,7 +59,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
autheliaProtect = lib.mkOption {
|
autheliaProtect = lib.mkOption {
|
||||||
description = lib.mdDoc "Endpoints to be protected by authelia.";
|
description = "Endpoints to be protected by authelia.";
|
||||||
type = lib.types.listOf autheliaConfig;
|
type = lib.types.listOf autheliaConfig;
|
||||||
default = [];
|
default = [];
|
||||||
};
|
};
|
||||||
|
|
|
@ -6,7 +6,7 @@ in
|
||||||
options.shb.postgresql = {
|
options.shb.postgresql = {
|
||||||
debug = lib.mkOption {
|
debug = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Enable debugging options.
|
Enable debugging options.
|
||||||
|
|
||||||
Currently enables shared_preload_libraries = "auto_explain, pg_stat_statements"
|
Currently enables shared_preload_libraries = "auto_explain, pg_stat_statements"
|
||||||
|
|
|
@ -21,7 +21,8 @@ in
|
||||||
|
|
||||||
credentialsFile = lib.mkOption {
|
credentialsFile = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
description = ''Credentials file location for the chosen DNS provider.
|
description = ''
|
||||||
|
Credentials file location for the chosen DNS provider.
|
||||||
|
|
||||||
The content of this file must expose environment variables as written in the
|
The content of this file must expose environment variables as written in the
|
||||||
[documentation](https://go-acme.github.io/lego/dns/) of each DNS provider.
|
[documentation](https://go-acme.github.io/lego/dns/) of each DNS provider.
|
||||||
|
@ -38,17 +39,19 @@ in
|
||||||
|
|
||||||
additionalCfg = lib.mkOption {
|
additionalCfg = lib.mkOption {
|
||||||
type = lib.types.attrsOf lib.types.str;
|
type = lib.types.attrsOf lib.types.str;
|
||||||
description = lib.mdDoc ''Additional environment variables used to configure the DNS provider.
|
description = ''Additional environment variables used to configure the DNS provider.
|
||||||
|
|
||||||
For secrets, use shb.ssl.credentialsFile instead.
|
For secrets, use shb.ssl.credentialsFile instead.
|
||||||
|
|
||||||
See the chose provider's [documentation](https://go-acme.github.io/lego/dns/) for available
|
See the chose provider's [documentation](https://go-acme.github.io/lego/dns/) for available
|
||||||
options.
|
options.
|
||||||
'';
|
'';
|
||||||
example = lib.literalExpression ''{
|
example = lib.literalExpression ''
|
||||||
|
{
|
||||||
DNSPROVIDER_TIMEOUT = "10";
|
DNSPROVIDER_TIMEOUT = "10";
|
||||||
DNSPROVIDER_PROPAGATION_TIMEOUT = "240";
|
DNSPROVIDER_PROPAGATION_TIMEOUT = "240";
|
||||||
}'';
|
}
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
dnsResolver = lib.mkOption {
|
dnsResolver = lib.mkOption {
|
||||||
|
|
|
@ -33,19 +33,19 @@ in
|
||||||
let
|
let
|
||||||
instanceOption = types.submodule {
|
instanceOption = types.submodule {
|
||||||
options = {
|
options = {
|
||||||
enable = mkEnableOption (lib.mdDoc "Tinyproxy daemon");
|
enable = mkEnableOption "Tinyproxy daemon";
|
||||||
|
|
||||||
package = mkPackageOptionMD pkgs "tinyproxy" {};
|
package = mkPackageOptionMD pkgs "tinyproxy" {};
|
||||||
|
|
||||||
dynamicBindFile = mkOption {
|
dynamicBindFile = mkOption {
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
File holding the IP to bind to.
|
File holding the IP to bind to.
|
||||||
'';
|
'';
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Configuration for [tinyproxy](https://tinyproxy.github.io/).
|
Configuration for [tinyproxy](https://tinyproxy.github.io/).
|
||||||
'';
|
'';
|
||||||
default = { };
|
default = { };
|
||||||
|
@ -63,21 +63,21 @@ in
|
||||||
Listen = mkOption {
|
Listen = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "127.0.0.1";
|
default = "127.0.0.1";
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Specify which address to listen to.
|
Specify which address to listen to.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
Port = mkOption {
|
Port = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 8888;
|
default = 8888;
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Specify which port to listen to.
|
Specify which port to listen to.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
Anonymous = mkOption {
|
Anonymous = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
If an `Anonymous` keyword is present, then anonymous proxying is enabled. The
|
If an `Anonymous` keyword is present, then anonymous proxying is enabled. The
|
||||||
headers listed with `Anonymous` are allowed through, while all others are denied.
|
headers listed with `Anonymous` are allowed through, while all others are denied.
|
||||||
If no Anonymous keyword is present, then all headers are allowed through. You must
|
If no Anonymous keyword is present, then all headers are allowed through. You must
|
||||||
|
@ -87,7 +87,7 @@ in
|
||||||
Filter = mkOption {
|
Filter = mkOption {
|
||||||
type = types.nullOr types.path;
|
type = types.nullOr types.path;
|
||||||
default = null;
|
default = null;
|
||||||
description = lib.mdDoc ''
|
description = ''
|
||||||
Tinyproxy supports filtering of web sites based on URLs or domains. This option
|
Tinyproxy supports filtering of web sites based on URLs or domains. This option
|
||||||
specifies the location of the file containing the filter rules, one rule per line.
|
specifies the location of the file containing the filter rules, one rule per line.
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -205,40 +205,40 @@ in
|
||||||
let
|
let
|
||||||
instanceOption = lib.types.submodule {
|
instanceOption = lib.types.submodule {
|
||||||
options = {
|
options = {
|
||||||
enable = lib.mkEnableOption (lib.mdDoc "OpenVPN config");
|
enable = lib.mkEnableOption "OpenVPN config";
|
||||||
|
|
||||||
package = lib.mkPackageOptionMD pkgs "openvpn" {};
|
package = lib.mkPackageOptionMD pkgs "openvpn" {};
|
||||||
|
|
||||||
provider = lib.mkOption {
|
provider = lib.mkOption {
|
||||||
description = lib.mdDoc "VPN provider, if given uses ready-made configuration.";
|
description = "VPN provider, if given uses ready-made configuration.";
|
||||||
type = lib.types.nullOr (lib.types.enum [ "nordvpn" ]);
|
type = lib.types.nullOr (lib.types.enum [ "nordvpn" ]);
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
dev = lib.mkOption {
|
dev = lib.mkOption {
|
||||||
description = lib.mdDoc "Name of the interface.";
|
description = "Name of the interface.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
example = "tun0";
|
example = "tun0";
|
||||||
};
|
};
|
||||||
|
|
||||||
routingNumber = lib.mkOption {
|
routingNumber = lib.mkOption {
|
||||||
description = lib.mdDoc "Unique number used to route packets.";
|
description = "Unique number used to route packets.";
|
||||||
type = lib.types.int;
|
type = lib.types.int;
|
||||||
example = 10;
|
example = 10;
|
||||||
};
|
};
|
||||||
|
|
||||||
remoteServerIP = lib.mkOption {
|
remoteServerIP = lib.mkOption {
|
||||||
description = lib.mdDoc "IP of the VPN server to connect to.";
|
description = "IP of the VPN server to connect to.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
};
|
};
|
||||||
|
|
||||||
sopsFile = lib.mkOption {
|
sopsFile = lib.mkOption {
|
||||||
description = lib.mdDoc "Location of file holding authentication secrets for provider.";
|
description = "Location of file holding authentication secrets for provider.";
|
||||||
type = lib.types.anything;
|
type = lib.types.anything;
|
||||||
};
|
};
|
||||||
|
|
||||||
proxyPort = lib.mkOption {
|
proxyPort = lib.mkOption {
|
||||||
description = lib.mdDoc "If not null, sets up a proxy that listens on the given port and sends traffic to the VPN.";
|
description = "If not null, sets up a proxy that listens on the given port and sends traffic to the VPN.";
|
||||||
type = lib.types.nullOr lib.types.int;
|
type = lib.types.nullOr lib.types.int;
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
|
@ -42,15 +42,18 @@ let
|
||||||
settingsFormat = pkgs.formats.json {};
|
settingsFormat = pkgs.formats.json {};
|
||||||
moreOptions = {
|
moreOptions = {
|
||||||
settings = lib.mkOption {
|
settings = lib.mkOption {
|
||||||
|
description = "Specific options for jackett.";
|
||||||
default = {};
|
default = {};
|
||||||
type = lib.types.submodule {
|
type = lib.types.submodule {
|
||||||
freeformType = apps.jackett.settingsFormat.type;
|
freeformType = apps.jackett.settingsFormat.type;
|
||||||
options = {
|
options = {
|
||||||
APIKeyFile = lib.mkOption {
|
APIKeyFile = lib.mkOption {
|
||||||
type = lib.types.path;
|
type = lib.types.path;
|
||||||
|
description = "Path to api key secret file.";
|
||||||
};
|
};
|
||||||
FlareSolverrUrl = lib.mkOption {
|
FlareSolverrUrl = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
|
description = "FlareSolverr endpoint.";
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
OmdbApiKeyFile = lib.mkOption {
|
OmdbApiKeyFile = lib.mkOption {
|
||||||
|
@ -59,7 +62,7 @@ let
|
||||||
};
|
};
|
||||||
ProxyType = lib.mkOption {
|
ProxyType = lib.mkOption {
|
||||||
type = lib.types.enum [ "-1" "0" "1" "2" ];
|
type = lib.types.enum [ "-1" "0" "1" "2" ];
|
||||||
default = "0";
|
default = "-1";
|
||||||
description = ''
|
description = ''
|
||||||
-1 = disabled
|
-1 = disabled
|
||||||
0 = HTTP
|
0 = HTTP
|
||||||
|
@ -123,7 +126,7 @@ let
|
||||||
default = {};
|
default = {};
|
||||||
type = lib.types.submodule {
|
type = lib.types.submodule {
|
||||||
options = {
|
options = {
|
||||||
enable = lib.mkEnableOption "selfhostblocks.${name}";
|
enable = lib.mkEnableOption name;
|
||||||
|
|
||||||
subdomain = lib.mkOption {
|
subdomain = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
|
@ -134,7 +137,7 @@ let
|
||||||
domain = lib.mkOption {
|
domain = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Domain under which ${name} will be served.";
|
description = "Domain under which ${name} will be served.";
|
||||||
example = "mydomain.com";
|
example = "example.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
port = lib.mkOption {
|
port = lib.mkOption {
|
||||||
|
@ -145,14 +148,14 @@ let
|
||||||
|
|
||||||
dataDir = lib.mkOption {
|
dataDir = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
description = "Directory where state of ${name} is stored.";
|
description = "Directory where ${name} stores data.";
|
||||||
default = "/var/lib/${name}";
|
default = "/var/lib/${name}";
|
||||||
};
|
};
|
||||||
|
|
||||||
oidcEndpoint = lib.mkOption {
|
oidcEndpoint = lib.mkOption {
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
default = null;
|
default = null;
|
||||||
description = "OIDC endpoint for SSO";
|
description = "Endpoint to the SSO provider. Leave null to not have SSO configured.";
|
||||||
example = "https://authelia.example.com";
|
example = "https://authelia.example.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -40,13 +40,13 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
proxyPort = lib.mkOption {
|
proxyPort = lib.mkOption {
|
||||||
description = lib.mdDoc "If not null, sets up a deluge to forward all traffic to the Proxy listening at that port.";
|
description = "If not null, sets up a deluge to forward all traffic to the Proxy listening at that port.";
|
||||||
type = lib.types.nullOr lib.types.int;
|
type = lib.types.nullOr lib.types.int;
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
outgoingInterface = lib.mkOption {
|
outgoingInterface = lib.mkOption {
|
||||||
description = lib.mdDoc "If not null, sets up a deluge to bind all outgoing traffic to the given interface.";
|
description = "If not null, sets up a deluge to bind all outgoing traffic to the given interface.";
|
||||||
type = lib.types.nullOr lib.types.str;
|
type = lib.types.nullOr lib.types.str;
|
||||||
default = null;
|
default = null;
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,7 +28,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
domain = lib.mkOption {
|
domain = lib.mkOption {
|
||||||
description = lib.mdDoc "Domain to serve sites under.";
|
description = "Domain to serve sites under.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
example = "domain.com";
|
example = "domain.com";
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
domain = lib.mkOption {
|
domain = lib.mkOption {
|
||||||
description = lib.mdDoc "Domain to serve Nextcloud under.";
|
description = "Domain to serve Nextcloud under.";
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
example = "domain.com";
|
example = "domain.com";
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue