diff options
Diffstat (limited to 'nixos/modules/services/web-apps/outline.nix')
-rw-r--r-- | nixos/modules/services/web-apps/outline.nix | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/nixos/modules/services/web-apps/outline.nix b/nixos/modules/services/web-apps/outline.nix index 891d78d4045b4..4c1de579ecc5d 100644 --- a/nixos/modules/services/web-apps/outline.nix +++ b/nixos/modules/services/web-apps/outline.nix @@ -16,7 +16,7 @@ in # https://github.com/outline/outline/blob/v0.67.0/shared/types.ts # The order is kept the same here to make updating easier. options.services.outline = { - enable = lib.mkEnableOption (lib.mdDoc "outline"); + enable = lib.mkEnableOption "outline"; package = lib.mkOption { default = pkgs.outline; @@ -33,13 +33,13 @@ in ${"''"}; }) ''; - description = lib.mdDoc "Outline package to use."; + description = "Outline package to use."; }; user = lib.mkOption { type = lib.types.str; default = defaultUser; - description = lib.mdDoc '' + description = '' User under which the service should run. If this is the default value, the user will be created, with the specified group as the primary group. @@ -49,7 +49,7 @@ in group = lib.mkOption { type = lib.types.str; default = defaultUser; - description = lib.mdDoc '' + description = '' Group under which the service should run. If this is the default value, the group will be created. ''; @@ -62,7 +62,7 @@ in secretKeyFile = lib.mkOption { type = lib.types.str; default = "/var/lib/outline/secret_key"; - description = lib.mdDoc '' + description = '' File path that contains the application secret key. It must be 32 bytes long and hex-encoded. If the file does not exist, a new key will be generated and saved here. @@ -72,7 +72,7 @@ in utilsSecretFile = lib.mkOption { type = lib.types.str; default = "/var/lib/outline/utils_secret"; - description = lib.mdDoc '' + description = '' File path that contains the utility secret key. If the file does not exist, a new key will be generated and saved here. ''; @@ -81,7 +81,7 @@ in databaseUrl = lib.mkOption { type = lib.types.str; default = "local"; - description = lib.mdDoc '' + description = '' URI to use for the main PostgreSQL database. If this needs to include credentials that shouldn't be world-readable in the Nix store, set an environment file on the systemd service and override the @@ -93,7 +93,7 @@ in redisUrl = lib.mkOption { type = lib.types.str; default = "local"; - description = lib.mdDoc '' + description = '' Connection to a redis server. If this needs to include credentials that shouldn't be world-readable in the Nix store, set an environment file on the systemd service and override the @@ -105,17 +105,17 @@ in publicUrl = lib.mkOption { type = lib.types.str; default = "http://localhost:3000"; - description = lib.mdDoc "The fully qualified, publicly accessible URL"; + description = "The fully qualified, publicly accessible URL"; }; port = lib.mkOption { type = lib.types.port; default = 3000; - description = lib.mdDoc "Listening port."; + description = "Listening port."; }; storage = lib.mkOption { - description = lib.mdDoc '' + description = '' To support uploading of images for avatars and document attachments an s3-compatible storage can be provided. AWS S3 is recommended for redundancy however if you want to keep all file storage local an @@ -139,12 +139,12 @@ in options = { storageType = lib.mkOption { type = lib.types.enum [ "local" "s3" ]; - description = lib.mdDoc "File storage type, it can be local or s3."; + description = "File storage type, it can be local or s3."; default = "s3"; }; localRootDir = lib.mkOption { type = lib.types.str; - description = lib.mdDoc '' + description = '' If `storageType` is `local`, this sets the parent directory under which all attachments/images go. ''; @@ -152,42 +152,42 @@ in }; accessKey = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "S3 access key."; + description = "S3 access key."; }; secretKeyFile = lib.mkOption { type = lib.types.path; - description = lib.mdDoc "File path that contains the S3 secret key."; + description = "File path that contains the S3 secret key."; }; region = lib.mkOption { type = lib.types.str; default = "xx-xxxx-x"; - description = lib.mdDoc "AWS S3 region name."; + description = "AWS S3 region name."; }; uploadBucketUrl = lib.mkOption { type = lib.types.str; - description = lib.mdDoc '' + description = '' URL endpoint of an S3-compatible API where uploads should be stored. ''; }; uploadBucketName = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Name of the bucket where uploads should be stored."; + description = "Name of the bucket where uploads should be stored."; }; uploadMaxSize = lib.mkOption { type = lib.types.int; default = 26214400; - description = lib.mdDoc "Maxmium file size for uploads."; + description = "Maxmium file size for uploads."; }; forcePathStyle = lib.mkOption { type = lib.types.bool; default = true; - description = lib.mdDoc "Force S3 path style."; + description = "Force S3 path style."; }; acl = lib.mkOption { type = lib.types.str; default = "private"; - description = lib.mdDoc "ACL setting."; + description = "ACL setting."; }; }; }; @@ -198,7 +198,7 @@ in # slackAuthentication = lib.mkOption { - description = lib.mdDoc '' + description = '' To configure Slack auth, you'll need to create an Application at https://api.slack.com/apps @@ -210,18 +210,18 @@ in options = { clientId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Authentication key."; + description = "Authentication key."; }; secretFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "File path containing the authentication secret."; + description = "File path containing the authentication secret."; }; }; }); }; googleAuthentication = lib.mkOption { - description = lib.mdDoc '' + description = '' To configure Google auth, you'll need to create an OAuth Client ID at https://console.cloud.google.com/apis/credentials @@ -233,18 +233,18 @@ in options = { clientId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Authentication client identifier."; + description = "Authentication client identifier."; }; clientSecretFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "File path containing the authentication secret."; + description = "File path containing the authentication secret."; }; }; }); }; azureAuthentication = lib.mkOption { - description = lib.mdDoc '' + description = '' To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See [the guide](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4) @@ -255,22 +255,22 @@ in options = { clientId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Authentication client identifier."; + description = "Authentication client identifier."; }; clientSecretFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "File path containing the authentication secret."; + description = "File path containing the authentication secret."; }; resourceAppId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Authentication application resource ID."; + description = "Authentication application resource ID."; }; }; }); }; oidcAuthentication = lib.mkOption { - description = lib.mdDoc '' + description = '' To configure generic OIDC auth, you'll need some kind of identity provider. See the documentation for whichever IdP you use to fill out all the fields. The redirect URL is @@ -281,27 +281,27 @@ in options = { clientId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Authentication client identifier."; + description = "Authentication client identifier."; }; clientSecretFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "File path containing the authentication secret."; + description = "File path containing the authentication secret."; }; authUrl = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "OIDC authentication URL endpoint."; + description = "OIDC authentication URL endpoint."; }; tokenUrl = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "OIDC token URL endpoint."; + description = "OIDC token URL endpoint."; }; userinfoUrl = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "OIDC userinfo URL endpoint."; + description = "OIDC userinfo URL endpoint."; }; usernameClaim = lib.mkOption { type = lib.types.str; - description = lib.mdDoc '' + description = '' Specify which claims to derive user information from. Supports any valid JSON path with the JWT payload ''; @@ -309,12 +309,12 @@ in }; displayName = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Display name for OIDC authentication."; + description = "Display name for OIDC authentication."; default = "OpenID"; }; scopes = lib.mkOption { type = lib.types.listOf lib.types.str; - description = lib.mdDoc "OpenID authentication scopes."; + description = "OpenID authentication scopes."; default = [ "openid" "profile" "email" ]; }; }; @@ -328,7 +328,7 @@ in sslKeyFile = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' File path that contains the Base64-encoded private key for HTTPS termination. This is only required if you do not use an external reverse proxy. See @@ -338,7 +338,7 @@ in sslCertFile = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' File path that contains the Base64-encoded certificate for HTTPS termination. This is only required if you do not use an external reverse proxy. See @@ -349,7 +349,7 @@ in cdnUrl = lib.mkOption { type = lib.types.str; default = ""; - description = lib.mdDoc '' + description = '' If using a Cloudfront/Cloudflare distribution or similar it can be set using this option. This will cause paths to JavaScript files, stylesheets and images to be updated to the hostname defined here. In @@ -360,7 +360,7 @@ in forceHttps = lib.mkOption { type = lib.types.bool; default = true; - description = lib.mdDoc '' + description = '' Auto-redirect to HTTPS in production. The default is `true` but you may set this to `false` if you can be sure that SSL is terminated at an external loadbalancer. @@ -370,7 +370,7 @@ in enableUpdateCheck = lib.mkOption { type = lib.types.bool; default = false; - description = lib.mdDoc '' + description = '' Have the installation check for updates by sending anonymized statistics to the maintainers. ''; @@ -379,7 +379,7 @@ in concurrency = lib.mkOption { type = lib.types.int; default = 1; - description = lib.mdDoc '' + description = '' How many processes should be spawned. For a rough estimate, divide your server's available memory by 512. ''; @@ -388,7 +388,7 @@ in maximumImportSize = lib.mkOption { type = lib.types.int; default = 5120000; - description = lib.mdDoc '' + description = '' The maximum size of document imports. Overriding this could be required if you have especially large Word documents with embedded imagery. ''; @@ -397,11 +397,11 @@ in debugOutput = lib.mkOption { type = lib.types.nullOr (lib.types.enum [ "http" ]); default = null; - description = lib.mdDoc "Set this to `http` log HTTP requests."; + description = "Set this to `http` log HTTP requests."; }; slackIntegration = lib.mkOption { - description = lib.mdDoc '' + description = '' For a complete Slack integration with search and posting to channels this configuration is also needed. See here for details: https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a @@ -411,16 +411,16 @@ in options = { verificationTokenFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "File path containing the verification token."; + description = "File path containing the verification token."; }; appId = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Application ID."; + description = "Application ID."; }; messageActions = lib.mkOption { type = lib.types.bool; default = true; - description = lib.mdDoc "Whether to enable message actions."; + description = "Whether to enable message actions."; }; }; }); @@ -429,7 +429,7 @@ in googleAnalyticsId = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' Optionally enable Google Analytics to track page views in the knowledge base. ''; @@ -438,7 +438,7 @@ in sentryDsn = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' Optionally enable [Sentry](https://sentry.io/) to track errors and performance. ''; @@ -447,7 +447,7 @@ in sentryTunnel = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' Optionally add a [Sentry proxy tunnel](https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option) for bypassing ad blockers in the UI. @@ -457,14 +457,14 @@ in logo = lib.mkOption { type = lib.types.nullOr lib.types.str; default = null; - description = lib.mdDoc '' + description = '' Custom logo displayed on the authentication screen. This will be scaled to a height of 60px. ''; }; smtp = lib.mkOption { - description = lib.mdDoc '' + description = '' To support sending outgoing transactional emails such as "document updated" or "you've been invited" you'll need to provide authentication for an SMTP server. @@ -474,39 +474,39 @@ in options = { host = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Host name or IP address of the SMTP server."; + description = "Host name or IP address of the SMTP server."; }; port = lib.mkOption { type = lib.types.port; - description = lib.mdDoc "TCP port of the SMTP server."; + description = "TCP port of the SMTP server."; }; username = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Username to authenticate with."; + description = "Username to authenticate with."; }; passwordFile = lib.mkOption { type = lib.types.str; - description = lib.mdDoc '' + description = '' File path containing the password to authenticate with. ''; }; fromEmail = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Sender email in outgoing mail."; + description = "Sender email in outgoing mail."; }; replyEmail = lib.mkOption { type = lib.types.str; - description = lib.mdDoc "Reply address in outgoing mail."; + description = "Reply address in outgoing mail."; }; tlsCiphers = lib.mkOption { type = lib.types.str; default = ""; - description = lib.mdDoc "Override SMTP cipher configuration."; + description = "Override SMTP cipher configuration."; }; secure = lib.mkOption { type = lib.types.bool; default = true; - description = lib.mdDoc "Use a secure SMTP connection."; + description = "Use a secure SMTP connection."; }; }; }); @@ -535,7 +535,7 @@ in "zh_TW" ]; default = "en_US"; - description = lib.mdDoc '' + description = '' The default interface language. See [translate.getoutline.com](https://translate.getoutline.com/) for a list of available language codes and their rough percentage @@ -543,16 +543,16 @@ in ''; }; - rateLimiter.enable = lib.mkEnableOption (lib.mdDoc "rate limiter for the application web server"); + rateLimiter.enable = lib.mkEnableOption "rate limiter for the application web server"; rateLimiter.requests = lib.mkOption { type = lib.types.int; default = 5000; - description = lib.mdDoc "Maximum number of requests in a throttling window."; + description = "Maximum number of requests in a throttling window."; }; rateLimiter.durationWindow = lib.mkOption { type = lib.types.int; default = 60; - description = lib.mdDoc "Length of a throttling window."; + description = "Length of a throttling window."; }; }; |