about summary refs log tree commit diff
path: root/nixos/modules/services/web-apps/outline.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/web-apps/outline.nix')
-rw-r--r--nixos/modules/services/web-apps/outline.nix138
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.";
     };
   };