about summary refs log tree commit diff
path: root/nixos/modules/services/matrix
diff options
context:
space:
mode:
authorstuebinm <stuebinm@disroot.org>2024-04-13 14:54:15 +0200
committerJonathan Ringer <jonringer@users.noreply.github.com>2024-04-13 10:07:35 -0700
commit6afb255d976f85f3359e4929abd6f5149c323a02 (patch)
treeced23a118ee0852174d31005acd16f04cad3a781 /nixos/modules/services/matrix
parent1dd996e59a5e67694b7a252aacba71a88d51b41e (diff)
nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
Diffstat (limited to 'nixos/modules/services/matrix')
-rw-r--r--nixos/modules/services/matrix/appservice-discord.nix14
-rw-r--r--nixos/modules/services/matrix/appservice-irc.nix32
-rw-r--r--nixos/modules/services/matrix/conduit.nix28
-rw-r--r--nixos/modules/services/matrix/dendrite.nix54
-rw-r--r--nixos/modules/services/matrix/hebbot.nix6
-rw-r--r--nixos/modules/services/matrix/matrix-sliding-sync.nix16
-rw-r--r--nixos/modules/services/matrix/maubot.nix62
-rw-r--r--nixos/modules/services/matrix/mautrix-facebook.nix10
-rw-r--r--nixos/modules/services/matrix/mautrix-telegram.nix8
-rw-r--r--nixos/modules/services/matrix/mautrix-whatsapp.nix8
-rw-r--r--nixos/modules/services/matrix/mjolnir.nix26
-rw-r--r--nixos/modules/services/matrix/mx-puppet-discord.nix8
-rw-r--r--nixos/modules/services/matrix/pantalaimon-options.nix14
-rw-r--r--nixos/modules/services/matrix/pantalaimon.nix2
-rw-r--r--nixos/modules/services/matrix/synapse.nix110
15 files changed, 199 insertions, 199 deletions
diff --git a/nixos/modules/services/matrix/appservice-discord.nix b/nixos/modules/services/matrix/appservice-discord.nix
index c2c3abb79f97e..7f3a1ed3e20ac 100644
--- a/nixos/modules/services/matrix/appservice-discord.nix
+++ b/nixos/modules/services/matrix/appservice-discord.nix
@@ -13,7 +13,7 @@ let
 in {
   options = {
     services.matrix-appservice-discord = {
-      enable = mkEnableOption (lib.mdDoc "a bridge between Matrix and Discord");
+      enable = mkEnableOption "a bridge between Matrix and Discord";
 
       package = mkPackageOption pkgs "matrix-appservice-discord" { };
 
@@ -41,7 +41,7 @@ in {
             };
           }
         '';
-        description = lib.mdDoc ''
+        description = ''
           {file}`config.yaml` configuration as a Nix attribute set.
 
           Configuration options should match those described in
@@ -58,7 +58,7 @@ in {
       environmentFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc ''
+        description = ''
           File containing environment variables to be passed to the matrix-appservice-discord service,
           in which secret tokens can be specified securely by defining values for
           `APPSERVICE_DISCORD_AUTH_CLIENT_I_D` and
@@ -70,7 +70,7 @@ in {
         type = types.str;
         default = "http://localhost:${toString cfg.port}";
         defaultText = literalExpression ''"http://localhost:''${toString config.${opt.port}}"'';
-        description = lib.mdDoc ''
+        description = ''
           The URL where the application service is listening for HS requests.
         '';
       };
@@ -78,7 +78,7 @@ in {
       port = mkOption {
         type = types.port;
         default = 9005; # from https://github.com/Half-Shot/matrix-appservice-discord/blob/master/package.json#L11
-        description = lib.mdDoc ''
+        description = ''
           Port number on which the bridge should listen for internal communication with the Matrix homeserver.
         '';
       };
@@ -86,7 +86,7 @@ in {
       localpart = mkOption {
         type = with types; nullOr str;
         default = null;
-        description = lib.mdDoc ''
+        description = ''
           The user_id localpart to assign to the AS.
         '';
       };
@@ -97,7 +97,7 @@ in {
         defaultText = literalExpression ''
           optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
         '';
-        description = lib.mdDoc ''
+        description = ''
           List of Systemd services to require and wait for when starting the application service,
           such as the Matrix homeserver if it's running on the same host.
         '';
diff --git a/nixos/modules/services/matrix/appservice-irc.nix b/nixos/modules/services/matrix/appservice-irc.nix
index c79cd799b4d0e..90790169142aa 100644
--- a/nixos/modules/services/matrix/appservice-irc.nix
+++ b/nixos/modules/services/matrix/appservice-irc.nix
@@ -26,30 +26,30 @@ let
   registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
 in {
   options.services.matrix-appservice-irc = with types; {
-    enable = mkEnableOption (lib.mdDoc "the Matrix/IRC bridge");
+    enable = mkEnableOption "the Matrix/IRC bridge";
 
     port = mkOption {
       type = port;
-      description = lib.mdDoc "The port to listen on";
+      description = "The port to listen on";
       default = 8009;
     };
 
     needBindingCap = mkOption {
       type = bool;
-      description = lib.mdDoc "Whether the daemon needs to bind to ports below 1024 (e.g. for the ident service)";
+      description = "Whether the daemon needs to bind to ports below 1024 (e.g. for the ident service)";
       default = false;
     };
 
     passwordEncryptionKeyLength = mkOption {
       type = ints.unsigned;
-      description = lib.mdDoc "Length of the key to encrypt IRC passwords with";
+      description = "Length of the key to encrypt IRC passwords with";
       default = 4096;
       example = 8192;
     };
 
     registrationUrl = mkOption {
       type = str;
-      description = lib.mdDoc ''
+      description = ''
         The URL where the application service is listening for homeserver requests,
         from the Matrix homeserver perspective.
       '';
@@ -58,12 +58,12 @@ in {
 
     localpart = mkOption {
       type = str;
-      description = lib.mdDoc "The user_id localpart to assign to the appservice";
+      description = "The user_id localpart to assign to the appservice";
       default = "appservice-irc";
     };
 
     settings = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         Configuration for the appservice, see
         <https://github.com/matrix-org/matrix-appservice-irc/blob/${pkgs.matrix-appservice-irc.version}/config.sample.yaml>
         for supported values
@@ -74,7 +74,7 @@ in {
 
         options = {
           homeserver = mkOption {
-            description = lib.mdDoc "Homeserver configuration";
+            description = "Homeserver configuration";
             default = {};
             type = submodule {
               freeformType = jsonType;
@@ -82,12 +82,12 @@ in {
               options = {
                 url = mkOption {
                   type = str;
-                  description = lib.mdDoc "The URL to the home server for client-server API calls";
+                  description = "The URL to the home server for client-server API calls";
                 };
 
                 domain = mkOption {
                   type = str;
-                  description = lib.mdDoc ''
+                  description = ''
                     The 'domain' part for user IDs on this home server. Usually
                     (but not always) is the "domain name" part of the homeserver URL.
                   '';
@@ -98,21 +98,21 @@ in {
 
           database = mkOption {
             default = {};
-            description = lib.mdDoc "Configuration for the database";
+            description = "Configuration for the database";
             type = submodule {
               freeformType = jsonType;
 
               options = {
                 engine = mkOption {
                   type = str;
-                  description = lib.mdDoc "Which database engine to use";
+                  description = "Which database engine to use";
                   default = "nedb";
                   example = "postgres";
                 };
 
                 connectionString = mkOption {
                   type = str;
-                  description = lib.mdDoc "The database connection string";
+                  description = "The database connection string";
                   default = "nedb://var/lib/matrix-appservice-irc/data";
                   example = "postgres://username:password@host:port/databasename";
                 };
@@ -122,14 +122,14 @@ in {
 
           ircService = mkOption {
             default = {};
-            description = lib.mdDoc "IRC bridge configuration";
+            description = "IRC bridge configuration";
             type = submodule {
               freeformType = jsonType;
 
               options = {
                 passwordEncryptionKeyPath = mkOption {
                   type = str;
-                  description = lib.mdDoc ''
+                  description = ''
                     Location of the key with which IRC passwords are encrypted
                     for storage. Will be generated on first run if not present.
                   '';
@@ -138,7 +138,7 @@ in {
 
                 servers = mkOption {
                   type = submodule { freeformType = jsonType; };
-                  description = lib.mdDoc "IRC servers to connect to";
+                  description = "IRC servers to connect to";
                 };
               };
             };
diff --git a/nixos/modules/services/matrix/conduit.nix b/nixos/modules/services/matrix/conduit.nix
index b0fc85dbda7b0..e6685af562c0a 100644
--- a/nixos/modules/services/matrix/conduit.nix
+++ b/nixos/modules/services/matrix/conduit.nix
@@ -11,11 +11,11 @@ in
   {
     meta.maintainers = with maintainers; [ pstn piegames ];
     options.services.matrix-conduit = {
-      enable = mkEnableOption (lib.mdDoc "matrix-conduit");
+      enable = mkEnableOption "matrix-conduit";
 
       extraEnvironment = mkOption {
         type = types.attrsOf types.str;
-        description = lib.mdDoc "Extra Environment variables to pass to the conduit server.";
+        description = "Extra Environment variables to pass to the conduit server.";
         default = {};
         example = { RUST_BACKTRACE="yes"; };
       };
@@ -29,50 +29,50 @@ in
             global.server_name = mkOption {
               type = types.str;
               example = "example.com";
-              description = lib.mdDoc "The server_name is the name of this server. It is used as a suffix for user # and room ids.";
+              description = "The server_name is the name of this server. It is used as a suffix for user # and room ids.";
             };
             global.port = mkOption {
               type = types.port;
               default = 6167;
-              description = lib.mdDoc "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port";
+              description = "The port Conduit will be running on. You need to set up a reverse proxy in your web server (e.g. apache or nginx), so all requests to /_matrix on port 443 and 8448 will be forwarded to the Conduit instance running on this port";
             };
             global.max_request_size = mkOption {
               type = types.ints.positive;
               default = 20000000;
-              description = lib.mdDoc "Max request size in bytes. Don't forget to also change it in the proxy.";
+              description = "Max request size in bytes. Don't forget to also change it in the proxy.";
             };
             global.allow_registration = mkOption {
               type = types.bool;
               default = false;
-              description = lib.mdDoc "Whether new users can register on this server.";
+              description = "Whether new users can register on this server.";
             };
             global.allow_encryption = mkOption {
               type = types.bool;
               default = true;
-              description = lib.mdDoc "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
+              description = "Whether new encrypted rooms can be created. Note: existing rooms will continue to work.";
             };
             global.allow_federation = mkOption {
               type = types.bool;
               default = true;
-              description = lib.mdDoc ''
+              description = ''
                 Whether this server federates with other servers.
               '';
             };
             global.trusted_servers = mkOption {
               type = types.listOf types.str;
               default = [ "matrix.org" ];
-              description = lib.mdDoc "Servers trusted with signing server keys.";
+              description = "Servers trusted with signing server keys.";
             };
             global.address = mkOption {
               type = types.str;
               default = "::1";
-              description = lib.mdDoc "Address to listen on for connections by the reverse proxy/tls terminator.";
+              description = "Address to listen on for connections by the reverse proxy/tls terminator.";
             };
             global.database_path = mkOption {
               type = types.str;
               default = "/var/lib/matrix-conduit/";
               readOnly = true;
-              description = lib.mdDoc ''
+              description = ''
                 Path to the conduit database, the directory where conduit will save its data.
                 Note that due to using the DynamicUser feature of systemd, this value should not be changed
                 and is set to be read only.
@@ -82,7 +82,7 @@ in
               type = types.enum [ "sqlite" "rocksdb" ];
               default = "sqlite";
               example = "rocksdb";
-              description = lib.mdDoc ''
+              description = ''
                 The database backend for the service. Switching it on an existing
                 instance will require manual migration of data.
               '';
@@ -90,7 +90,7 @@ in
             global.allow_check_for_updates = mkOption {
               type = types.bool;
               default = false;
-              description = lib.mdDoc ''
+              description = ''
                 Whether to allow Conduit to automatically contact
                 <https://conduit.rs> hourly to check for important Conduit news.
 
@@ -100,7 +100,7 @@ in
           };
         };
         default = {};
-        description = lib.mdDoc ''
+        description = ''
             Generates the conduit.toml configuration file. Refer to
             <https://gitlab.com/famedly/conduit/-/blob/master/conduit-example.toml>
             for details on supported values.
diff --git a/nixos/modules/services/matrix/dendrite.nix b/nixos/modules/services/matrix/dendrite.nix
index 244c15fbf7a96..5152dfadf2e59 100644
--- a/nixos/modules/services/matrix/dendrite.nix
+++ b/nixos/modules/services/matrix/dendrite.nix
@@ -7,18 +7,18 @@ let
 in
 {
   options.services.dendrite = {
-    enable = lib.mkEnableOption (lib.mdDoc "matrix.org dendrite");
+    enable = lib.mkEnableOption "matrix.org dendrite";
     httpPort = lib.mkOption {
       type = lib.types.nullOr lib.types.port;
       default = 8008;
-      description = lib.mdDoc ''
+      description = ''
         The port to listen for HTTP requests on.
       '';
     };
     httpsPort = lib.mkOption {
       type = lib.types.nullOr lib.types.port;
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         The port to listen for HTTPS requests on.
       '';
     };
@@ -26,7 +26,7 @@ in
       type = lib.types.nullOr lib.types.path;
       example = "/var/lib/dendrite/server.cert";
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         The path to the TLS certificate.
 
         ```
@@ -38,7 +38,7 @@ in
       type = lib.types.nullOr lib.types.path;
       example = "/var/lib/dendrite/server.key";
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         The path to the TLS key.
 
         ```
@@ -50,7 +50,7 @@ in
       type = lib.types.nullOr lib.types.path;
       example = "/var/lib/dendrite/registration_secret";
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         Environment file as defined in {manpage}`systemd.exec(5)`.
         Secrets may be passed to the service without adding them to the world-readable
         Nix store, by specifying placeholder variables as the option value in Nix and
@@ -76,7 +76,7 @@ in
       type = lib.types.listOf lib.types.str;
       default = [ ];
       example = [ "private_key:/path/to/my_private_key" ];
-      description = lib.mdDoc ''
+      description = ''
         This can be used to pass secrets to the systemd service without adding them to
         the nix store.
         To use the example setting, see the example of
@@ -91,7 +91,7 @@ in
           server_name = lib.mkOption {
             type = lib.types.str;
             example = "example.com";
-            description = lib.mdDoc ''
+            description = ''
               The domain name of the server, with optional explicit port.
               This is used by remote servers to connect to this server.
               This is also the last part of your UserID.
@@ -102,7 +102,7 @@ in
               lib.types.path
               (lib.types.strMatching "^\\$CREDENTIALS_DIRECTORY/.+");
             example = "$CREDENTIALS_DIRECTORY/private_key";
-            description = lib.mdDoc ''
+            description = ''
               The path to the signing private key file, used to sign
               requests and events.
 
@@ -115,7 +115,7 @@ in
             type = lib.types.listOf lib.types.str;
             example = [ "matrix.org" ];
             default = [ "matrix.org" "vector.im" ];
-            description = lib.mdDoc ''
+            description = ''
               Lists of domains that the server will trust as identity
               servers to verify third party identifiers such as phone
               numbers and email addresses
@@ -126,7 +126,7 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:federationapi.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Appservice API.
             '';
           };
@@ -135,7 +135,7 @@ in
           registration_disabled = lib.mkOption {
             type = lib.types.bool;
             default = true;
-            description = lib.mdDoc ''
+            description = ''
               Whether to disable user registration to the server
               without the shared secret.
             '';
@@ -145,7 +145,7 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:federationapi.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Federation API.
             '';
           };
@@ -154,7 +154,7 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:keyserver.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Key Server (for end-to-end encryption).
             '';
           };
@@ -163,7 +163,7 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:relayapi.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Relay Server.
             '';
           };
@@ -173,7 +173,7 @@ in
             connection_string = lib.mkOption {
               type = lib.types.str;
               default = "file:mediaapi.db";
-              description = lib.mdDoc ''
+              description = ''
                 Database for the Media API.
               '';
             };
@@ -181,7 +181,7 @@ in
           base_path = lib.mkOption {
             type = lib.types.str;
             default = "${workingDir}/media_store";
-            description = lib.mdDoc ''
+            description = ''
               Storage path for uploaded media.
             '';
           };
@@ -190,7 +190,7 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:roomserver.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Room Server.
             '';
           };
@@ -199,24 +199,24 @@ in
           connection_string = lib.mkOption {
             type = lib.types.str;
             default = "file:syncserver.db";
-            description = lib.mdDoc ''
+            description = ''
               Database for the Sync API.
             '';
           };
         };
         options.sync_api.search = {
-          enable = lib.mkEnableOption (lib.mdDoc "Dendrite's full-text search engine");
+          enable = lib.mkEnableOption "Dendrite's full-text search engine";
           index_path = lib.mkOption {
             type = lib.types.str;
             default = "${workingDir}/searchindex";
-            description = lib.mdDoc ''
+            description = ''
               The path the search index will be created in.
             '';
           };
           language = lib.mkOption {
             type = lib.types.str;
             default = "en";
-            description = lib.mdDoc ''
+            description = ''
               The language most likely to be used on the server - used when indexing, to
               ensure the returned results match expectations. A full list of possible languages
               can be found at https://github.com/blevesearch/bleve/tree/master/analysis/lang
@@ -228,7 +228,7 @@ in
             connection_string = lib.mkOption {
               type = lib.types.str;
               default = "file:userapi_accounts.db";
-              description = lib.mdDoc ''
+              description = ''
                 Database for the User API, accounts.
               '';
             };
@@ -237,7 +237,7 @@ in
             connection_string = lib.mkOption {
               type = lib.types.str;
               default = "file:userapi_devices.db";
-              description = lib.mdDoc ''
+              description = ''
                 Database for the User API, devices.
               '';
             };
@@ -248,7 +248,7 @@ in
             connection_string = lib.mkOption {
               type = lib.types.str;
               default = "file:mscs.db";
-              description = lib.mdDoc ''
+              description = ''
                 Database for exerimental MSC's.
               '';
             };
@@ -256,7 +256,7 @@ in
         };
       };
       default = { };
-      description = lib.mdDoc ''
+      description = ''
         Configuration for dendrite, see:
         <https://github.com/matrix-org/dendrite/blob/master/dendrite-config.yaml>
         for available options with which to populate settings.
@@ -265,7 +265,7 @@ in
     openRegistration = lib.mkOption {
       type = lib.types.bool;
       default = false;
-      description = lib.mdDoc ''
+      description = ''
         Allow open registration without secondary verification (reCAPTCHA).
       '';
     };
diff --git a/nixos/modules/services/matrix/hebbot.nix b/nixos/modules/services/matrix/hebbot.nix
index ebf175464ddd1..9f344fbe08d07 100644
--- a/nixos/modules/services/matrix/hebbot.nix
+++ b/nixos/modules/services/matrix/hebbot.nix
@@ -11,7 +11,7 @@ let
   settingsFile = format.generate "config.toml" cfg.settings;
   mkTemplateOption = templateName: mkOption {
     type = types.path;
-    description = lib.mdDoc ''
+    description = ''
       A path to the Markdown file for the ${templateName}.
     '';
   };
@@ -22,7 +22,7 @@ in
       enable = mkEnableOption "hebbot";
       botPasswordFile = mkOption {
         type = types.path;
-        description = lib.mdDoc ''
+        description = ''
           A path to the password file for your bot.
 
           Consider using a path that does not end up in your Nix store
@@ -37,7 +37,7 @@ in
       settings = mkOption {
         type = format.type;
         default = { };
-        description = lib.mdDoc ''
+        description = ''
           Configuration for Hebbot, see, for examples:
 
           - <https://github.com/matrix-org/twim-config/blob/master/config.toml>
diff --git a/nixos/modules/services/matrix/matrix-sliding-sync.nix b/nixos/modules/services/matrix/matrix-sliding-sync.nix
index d62e41bebd647..d273bba3e52dc 100644
--- a/nixos/modules/services/matrix/matrix-sliding-sync.nix
+++ b/nixos/modules/services/matrix/matrix-sliding-sync.nix
@@ -9,7 +9,7 @@ in
   ];
 
   options.services.matrix-sliding-sync = {
-    enable = lib.mkEnableOption (lib.mdDoc "sliding sync");
+    enable = lib.mkEnableOption "sliding sync";
 
     package = lib.mkPackageOption pkgs "matrix-sliding-sync" { };
 
@@ -19,7 +19,7 @@ in
         options = {
           SYNCV3_SERVER = lib.mkOption {
             type = lib.types.str;
-            description = lib.mdDoc ''
+            description = ''
               The destination homeserver to talk to not including `/_matrix/` e.g `https://matrix.example.org`.
             '';
           };
@@ -27,7 +27,7 @@ in
           SYNCV3_DB = lib.mkOption {
             type = lib.types.str;
             default = "postgresql:///matrix-sliding-sync?host=/run/postgresql";
-            description = lib.mdDoc ''
+            description = ''
               The postgres connection string.
               Refer to <https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING>.
             '';
@@ -37,18 +37,18 @@ in
             type = lib.types.str;
             default = "127.0.0.1:8009";
             example = "[::]:8008";
-            description = lib.mdDoc "The interface and port or path (for unix socket) to listen on.";
+            description = "The interface and port or path (for unix socket) to listen on.";
           };
 
           SYNCV3_LOG_LEVEL = lib.mkOption {
             type = lib.types.enum [ "trace" "debug" "info" "warn" "error" "fatal" ];
             default = "info";
-            description = lib.mdDoc "The level of verbosity for messages logged.";
+            description = "The level of verbosity for messages logged.";
           };
         };
       };
       default = { };
-      description = lib.mdDoc ''
+      description = ''
         Freeform environment variables passed to the sliding sync proxy.
         Refer to <https://github.com/matrix-org/sliding-sync#setup> for all supported values.
       '';
@@ -57,7 +57,7 @@ in
     createDatabase = lib.mkOption {
       type = lib.types.bool;
       default = true;
-      description = lib.mdDoc ''
+      description = ''
         Whether to enable and configure `services.postgres` to ensure that the database user `matrix-sliding-sync`
         and the database `matrix-sliding-sync` exist.
       '';
@@ -65,7 +65,7 @@ in
 
     environmentFile = lib.mkOption {
       type = lib.types.str;
-      description = lib.mdDoc ''
+      description = ''
         Environment file as defined in {manpage}`systemd.exec(5)`.
 
         This must contain the {env}`SYNCV3_SECRET` variable which should
diff --git a/nixos/modules/services/matrix/maubot.nix b/nixos/modules/services/matrix/maubot.nix
index bc96ca03b1fc7..7aea88bd273d5 100644
--- a/nixos/modules/services/matrix/maubot.nix
+++ b/nixos/modules/services/matrix/maubot.nix
@@ -57,7 +57,7 @@ let
 in
 {
   options.services.maubot = with lib; {
-    enable = mkEnableOption (mdDoc "maubot");
+    enable = mkEnableOption "maubot";
 
     package = lib.mkPackageOption pkgs "maubot" { };
 
@@ -70,7 +70,7 @@ in
           xyz.maubot.rss
         ];
       '';
-      description = mdDoc ''
+      description = ''
         List of additional maubot plugins to make available.
       '';
     };
@@ -83,7 +83,7 @@ in
           aiohttp
         ];
       '';
-      description = mdDoc ''
+      description = ''
         List of additional Python packages to make available for maubot.
       '';
     };
@@ -91,7 +91,7 @@ in
     dataDir = mkOption {
       type = types.str;
       default = "/var/lib/maubot";
-      description = mdDoc ''
+      description = ''
         The directory where maubot stores its stateful data.
       '';
     };
@@ -100,7 +100,7 @@ in
       type = types.str;
       default = "./config.yaml";
       defaultText = literalExpression ''"''${config.services.maubot.dataDir}/config.yaml"'';
-      description = mdDoc ''
+      description = ''
         A file for storing secrets. You can pass homeserver registration keys here.
         If it already exists, **it must contain `server.unshared_secret`** which is used for signing API keys.
         If `configMutable` is not set to true, **maubot user must have write access to this file**.
@@ -110,14 +110,14 @@ in
     configMutable = mkOption {
       type = types.bool;
       default = false;
-      description = mdDoc ''
+      description = ''
         Whether maubot should write updated config into `extraConfigFile`. **This will make your Nix module settings have no effect besides the initial config, as extraConfigFile takes precedence over NixOS settings!**
       '';
     };
 
     settings = mkOption {
       default = { };
-      description = mdDoc ''
+      description = ''
         YAML settings for maubot. See the
         [example configuration](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml)
         for more info.
@@ -130,7 +130,7 @@ in
             type = str;
             default = "sqlite:maubot.db";
             example = "postgresql://username:password@hostname/dbname";
-            description = mdDoc ''
+            description = ''
               The full URI to the database. SQLite and Postgres are fully supported.
               Other DBMSes supported by SQLAlchemy may or may not work.
             '';
@@ -140,7 +140,7 @@ in
             type = str;
             default = "default";
             example = "postgresql://username:password@hostname/dbname";
-            description = mdDoc ''
+            description = ''
               Separate database URL for the crypto database. By default, the regular database is also used for crypto.
             '';
           };
@@ -148,21 +148,21 @@ in
           database_opts = mkOption {
             type = types.attrs;
             default = { };
-            description = mdDoc ''
+            description = ''
               Additional arguments for asyncpg.create_pool() or sqlite3.connect()
             '';
           };
 
           plugin_directories = mkOption {
             default = { };
-            description = mdDoc "Plugin directory paths";
+            description = "Plugin directory paths";
             type = submodule {
               options = {
                 upload = mkOption {
                   type = types.str;
                   default = "./plugins";
                   defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"'';
-                  description = mdDoc ''
+                  description = ''
                     The directory where uploaded new plugins should be stored.
                   '';
                 };
@@ -170,7 +170,7 @@ in
                   type = types.listOf types.str;
                   default = [ "./plugins" ];
                   defaultText = literalExpression ''[ "''${config.services.maubot.dataDir}/plugins" ]'';
-                  description = mdDoc ''
+                  description = ''
                     The directories from which plugins should be loaded. Duplicate plugin IDs will be moved to the trash.
                   '';
                 };
@@ -178,7 +178,7 @@ in
                   type = with types; nullOr str;
                   default = "./trash";
                   defaultText = literalExpression ''"''${config.services.maubot.dataDir}/trash"'';
-                  description = mdDoc ''
+                  description = ''
                     The directory where old plugin versions and conflicting plugins should be moved. Set to null to delete files immediately.
                   '';
                 };
@@ -187,7 +187,7 @@ in
           };
 
           plugin_databases = mkOption {
-            description = mdDoc "Plugin database settings";
+            description = "Plugin database settings";
             default = { };
             type = submodule {
               options = {
@@ -195,7 +195,7 @@ in
                   type = types.str;
                   default = "./plugins";
                   defaultText = literalExpression ''"''${config.services.maubot.dataDir}/plugins"'';
-                  description = mdDoc ''
+                  description = ''
                     The directory where SQLite plugin databases should be stored.
                   '';
                 };
@@ -204,7 +204,7 @@ in
                   type = types.nullOr types.str;
                   default = if isPostgresql cfg.settings.database then "default" else null;
                   defaultText = literalExpression ''if isPostgresql config.services.maubot.settings.database then "default" else null'';
-                  description = mdDoc ''
+                  description = ''
                     The connection URL for plugin database. See [example config](https://github.com/maubot/maubot/blob/master/maubot/example-config.yaml) for exact format.
                   '';
                 };
@@ -212,7 +212,7 @@ in
                 postgres_max_conns_per_plugin = mkOption {
                   type = types.nullOr types.int;
                   default = 3;
-                  description = mdDoc ''
+                  description = ''
                     Maximum number of connections per plugin instance.
                   '';
                 };
@@ -220,7 +220,7 @@ in
                 postgres_opts = mkOption {
                   type = types.attrs;
                   default = { };
-                  description = mdDoc ''
+                  description = ''
                     Overrides for the default database_opts when using a non-default postgres connection URL.
                   '';
                 };
@@ -230,20 +230,20 @@ in
 
           server = mkOption {
             default = { };
-            description = mdDoc "Listener config";
+            description = "Listener config";
             type = submodule {
               options = {
                 hostname = mkOption {
                   type = types.str;
                   default = "127.0.0.1";
-                  description = mdDoc ''
+                  description = ''
                     The IP to listen on
                   '';
                 };
                 port = mkOption {
                   type = types.port;
                   default = 29316;
-                  description = mdDoc ''
+                  description = ''
                     The port to listen on
                   '';
                 };
@@ -251,14 +251,14 @@ in
                   type = types.str;
                   default = "http://${cfg.settings.server.hostname}:${toString cfg.settings.server.port}";
                   defaultText = literalExpression ''"http://''${config.services.maubot.settings.server.hostname}:''${toString config.services.maubot.settings.server.port}"'';
-                  description = mdDoc ''
+                  description = ''
                     Public base URL where the server is visible.
                   '';
                 };
                 ui_base_path = mkOption {
                   type = types.str;
                   default = "/_matrix/maubot";
-                  description = mdDoc ''
+                  description = ''
                     The base path for the UI.
                   '';
                 };
@@ -268,14 +268,14 @@ in
                   defaultText = literalExpression ''
                     "''${config.services.maubot.settings.server.ui_base_path}/plugin/"
                   '';
-                  description = mdDoc ''
+                  description = ''
                     The base path for plugin endpoints. The instance ID will be appended directly.
                   '';
                 };
                 override_resource_path = mkOption {
                   type = types.nullOr types.str;
                   default = null;
-                  description = mdDoc ''
+                  description = ''
                     Override path from where to load UI resources.
                   '';
                 };
@@ -288,7 +288,7 @@ in
               options = {
                 url = mkOption {
                   type = types.str;
-                  description = mdDoc ''
+                  description = ''
                     Client-server API URL
                   '';
                 };
@@ -299,7 +299,7 @@ in
                 url = "https://matrix-client.matrix.org";
               };
             };
-            description = mdDoc ''
+            description = ''
               Known homeservers. This is required for the `mbc auth` command and also allows more convenient access from the management UI.
               If you want to specify registration secrets, pass this via extraConfigFile instead.
             '';
@@ -308,7 +308,7 @@ in
           admins = mkOption {
             type = types.attrsOf types.str;
             default = { root = ""; };
-            description = mdDoc ''
+            description = ''
               List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password
               to prevent normal login. Root is a special user that can't have a password and will always exist.
             '';
@@ -328,14 +328,14 @@ in
               dev_open = true;
               log = true;
             };
-            description = mdDoc ''
+            description = ''
               API feature switches.
             '';
           };
 
           logging = mkOption {
             type = types.attrs;
-            description = mdDoc ''
+            description = ''
               Python logging configuration. See [section 16.7.2 of the Python
               documentation](https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema)
               for more info.
diff --git a/nixos/modules/services/matrix/mautrix-facebook.nix b/nixos/modules/services/matrix/mautrix-facebook.nix
index d7cf024bb8077..4d5217ee4367a 100644
--- a/nixos/modules/services/matrix/mautrix-facebook.nix
+++ b/nixos/modules/services/matrix/mautrix-facebook.nix
@@ -17,7 +17,7 @@ let
 in {
   options = {
     services.mautrix-facebook = {
-      enable = mkEnableOption (lib.mdDoc "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge");
+      enable = mkEnableOption "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge";
 
       settings = mkOption rec {
         apply = recursiveUpdate default;
@@ -83,7 +83,7 @@ in {
             };
           }
         '';
-        description = lib.mdDoc ''
+        description = ''
           {file}`config.yaml` configuration as a Nix attribute set.
           Configuration options should match those described in
           [example-config.yaml](https://github.com/mautrix/facebook/blob/master/mautrix_facebook/example-config.yaml).
@@ -96,7 +96,7 @@ in {
       environmentFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc ''
+        description = ''
           File containing environment variables to be passed to the mautrix-facebook service.
 
           Any config variable can be overridden by setting `MAUTRIX_FACEBOOK_SOME_KEY` to override the `some.key` variable.
@@ -106,7 +106,7 @@ in {
       configurePostgresql = mkOption {
         type = types.bool;
         default = true;
-        description = lib.mdDoc ''
+        description = ''
           Enable PostgreSQL and create a user and database for mautrix-facebook. The default `settings` reference this database, if you disable this option you must provide a database URL.
         '';
       };
@@ -114,7 +114,7 @@ in {
       registrationData = mkOption {
         type = types.attrs;
         default = {};
-        description = lib.mdDoc ''
+        description = ''
           Output data for appservice registration. Simply make any desired changes and serialize to JSON. Note that this data contains secrets so think twice before putting it into the nix store.
 
           Currently `as_token` and `hs_token` need to be added as they are not known to this module.
diff --git a/nixos/modules/services/matrix/mautrix-telegram.nix b/nixos/modules/services/matrix/mautrix-telegram.nix
index 168c8bf436acc..a1ffaf9debe5a 100644
--- a/nixos/modules/services/matrix/mautrix-telegram.nix
+++ b/nixos/modules/services/matrix/mautrix-telegram.nix
@@ -13,7 +13,7 @@ let
 in {
   options = {
     services.mautrix-telegram = {
-      enable = mkEnableOption (lib.mdDoc "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge");
+      enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
 
       settings = mkOption rec {
         apply = recursiveUpdate default;
@@ -85,7 +85,7 @@ in {
             };
           }
         '';
-        description = lib.mdDoc ''
+        description = ''
           {file}`config.yaml` configuration as a Nix attribute set.
           Configuration options should match those described in
           [example-config.yaml](https://github.com/mautrix/telegram/blob/master/mautrix_telegram/example-config.yaml).
@@ -98,7 +98,7 @@ in {
       environmentFile = mkOption {
         type = types.nullOr types.path;
         default = null;
-        description = lib.mdDoc ''
+        description = ''
           File containing environment variables to be passed to the mautrix-telegram service,
           in which secret tokens can be specified securely by defining values for e.g.
           `MAUTRIX_TELEGRAM_APPSERVICE_AS_TOKEN`,
@@ -126,7 +126,7 @@ in {
         defaultText = literalExpression ''
           optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
         '';
-        description = lib.mdDoc ''
+        description = ''
           List of Systemd services to require and wait for when starting the application service.
         '';
       };
diff --git a/nixos/modules/services/matrix/mautrix-whatsapp.nix b/nixos/modules/services/matrix/mautrix-whatsapp.nix
index 4b561a4b07a38..31f64c16d7913 100644
--- a/nixos/modules/services/matrix/mautrix-whatsapp.nix
+++ b/nixos/modules/services/matrix/mautrix-whatsapp.nix
@@ -47,12 +47,12 @@
 
 in {
   options.services.mautrix-whatsapp = {
-    enable = lib.mkEnableOption (lib.mdDoc "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.");
+    enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
 
     settings = lib.mkOption {
       type = settingsFormat.type;
       default = defaultConfig;
-      description = lib.mdDoc ''
+      description = ''
         {file}`config.yaml` configuration as a Nix attribute set.
         Configuration options should match those described in
         [example-config.yaml](https://github.com/mautrix/whatsapp/blob/master/example-config.yaml).
@@ -91,7 +91,7 @@ in {
     environmentFile = lib.mkOption {
       type = lib.types.nullOr lib.types.path;
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         File containing environment variables to be passed to the mautrix-whatsapp service,
         in which secret tokens can be specified securely by optionally defining a value for
         `MAUTRIX_WHATSAPP_BRIDGE_LOGIN_SHARED_SECRET`.
@@ -104,7 +104,7 @@ in {
       defaultText = lib.literalExpression ''
         optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnits
       '';
-      description = lib.mdDoc ''
+      description = ''
         List of Systemd services to require and wait for when starting the application service.
       '';
     };
diff --git a/nixos/modules/services/matrix/mjolnir.nix b/nixos/modules/services/matrix/mjolnir.nix
index 4e9a915c23c7b..d01c058e7396c 100644
--- a/nixos/modules/services/matrix/mjolnir.nix
+++ b/nixos/modules/services/matrix/mjolnir.nix
@@ -65,12 +65,12 @@ let
 in
 {
   options.services.mjolnir = {
-    enable = mkEnableOption (lib.mdDoc "Mjolnir, a moderation tool for Matrix");
+    enable = mkEnableOption "Mjolnir, a moderation tool for Matrix";
 
     homeserverUrl = mkOption {
       type = types.str;
       default = "https://matrix.org";
-      description = lib.mdDoc ''
+      description = ''
         Where the homeserver is located (client-server URL).
 
         If `pantalaimon.enable` is `true`, this option will become the homeserver to which `pantalaimon` connects.
@@ -81,13 +81,13 @@ in
     accessTokenFile = mkOption {
       type = with types; nullOr path;
       default = null;
-      description = lib.mdDoc ''
+      description = ''
         File containing the matrix access token for the `mjolnir` user.
       '';
     };
 
     pantalaimon = mkOption {
-      description = lib.mdDoc ''
+      description = ''
         `pantalaimon` options (enables E2E Encryption support).
 
         This will create a `pantalaimon` instance with the name "mjolnir".
@@ -95,20 +95,20 @@ in
       default = { };
       type = types.submodule {
         options = {
-          enable = mkEnableOption (lib.mdDoc ''
+          enable = mkEnableOption ''
             ignoring the accessToken. If true, accessToken is ignored and the username/password below will be
             used instead. The access token of the bot will be stored in the dataPath
-          '');
+          '';
 
           username = mkOption {
             type = types.str;
-            description = lib.mdDoc "The username to login with.";
+            description = "The username to login with.";
           };
 
           passwordFile = mkOption {
             type = with types; nullOr path;
             default = null;
-            description = lib.mdDoc ''
+            description = ''
               File containing the matrix password for the `mjolnir` user.
             '';
           };
@@ -116,7 +116,7 @@ in
           options = mkOption {
             type = types.submodule (import ./pantalaimon-options.nix);
             default = { };
-            description = lib.mdDoc ''
+            description = ''
               passthrough additional options to the `pantalaimon` service.
             '';
           };
@@ -127,7 +127,7 @@ in
     dataPath = mkOption {
       type = types.path;
       default = "/var/lib/mjolnir";
-      description = lib.mdDoc ''
+      description = ''
         The directory the bot should store various bits of information in.
       '';
     };
@@ -135,7 +135,7 @@ in
     managementRoom = mkOption {
       type = types.str;
       default = "#moderators:example.org";
-      description = lib.mdDoc ''
+      description = ''
         The room ID where people can use the bot. The bot has no access controls, so
         anyone in this room can use the bot - secure your room!
         This should be a room alias or room ID - not a matrix.to URL.
@@ -152,7 +152,7 @@ in
           "https://matrix.to/#/#anotherroom:example.org"
         ]
       '';
-      description = lib.mdDoc ''
+      description = ''
         A list of rooms to protect (matrix.to URLs).
       '';
     };
@@ -166,7 +166,7 @@ in
           automaticallyRedactForReasons = [ "spam" "advertising" ];
         }
       '';
-      description = lib.mdDoc ''
+      description = ''
         Additional settings (see [mjolnir default config](https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml) for available settings). These settings will override settings made by the module config.
       '';
     };
diff --git a/nixos/modules/services/matrix/mx-puppet-discord.nix b/nixos/modules/services/matrix/mx-puppet-discord.nix
index 70828804b556c..2b3a46193177a 100644
--- a/nixos/modules/services/matrix/mx-puppet-discord.nix
+++ b/nixos/modules/services/matrix/mx-puppet-discord.nix
@@ -12,10 +12,10 @@ let
 in {
   options = {
     services.mx-puppet-discord = {
-      enable = mkEnableOption (lib.mdDoc ''
+      enable = mkEnableOption ''
         mx-puppet-discord is a discord puppeting bridge for matrix.
         It handles bridging private and group DMs, as well as Guilds (servers)
-      '');
+      '';
 
       settings = mkOption rec {
         apply = recursiveUpdate default;
@@ -57,7 +57,7 @@ in {
             relay.whitelist = [ "@.*:example.com" ];
           }
         '';
-        description = lib.mdDoc ''
+        description = ''
           {file}`config.yaml` configuration as a Nix attribute set.
           Configuration options should match those described in
           [
@@ -70,7 +70,7 @@ in {
         defaultText = literalExpression ''
           optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit
         '';
-        description = lib.mdDoc ''
+        description = ''
           List of Systemd services to require and wait for when starting the application service.
         '';
       };
diff --git a/nixos/modules/services/matrix/pantalaimon-options.nix b/nixos/modules/services/matrix/pantalaimon-options.nix
index 3945a70fc86be..4243513788b5a 100644
--- a/nixos/modules/services/matrix/pantalaimon-options.nix
+++ b/nixos/modules/services/matrix/pantalaimon-options.nix
@@ -6,7 +6,7 @@ with lib;
     dataPath = mkOption {
       type = types.path;
       default = "/var/lib/pantalaimon-${name}";
-      description = lib.mdDoc ''
+      description = ''
         The directory where `pantalaimon` should store its state such as the database file.
       '';
     };
@@ -14,7 +14,7 @@ with lib;
     logLevel = mkOption {
       type = types.enum [ "info" "warning" "error" "debug" ];
       default = "warning";
-      description = lib.mdDoc ''
+      description = ''
         Set the log level of the daemon.
       '';
     };
@@ -22,7 +22,7 @@ with lib;
     homeserver = mkOption {
       type = types.str;
       example = "https://matrix.org";
-      description = lib.mdDoc ''
+      description = ''
         The URI of the homeserver that the `pantalaimon` proxy should
         forward requests to, without the matrix API path but including
         the http(s) schema.
@@ -32,7 +32,7 @@ with lib;
     ssl = mkOption {
       type = types.bool;
       default = true;
-      description = lib.mdDoc ''
+      description = ''
         Whether or not SSL verification should be enabled for outgoing
         connections to the homeserver.
       '';
@@ -41,7 +41,7 @@ with lib;
     listenAddress = mkOption {
       type = types.str;
       default = "localhost";
-      description = lib.mdDoc ''
+      description = ''
         The address where the daemon will listen to client connections
         for this homeserver.
       '';
@@ -50,7 +50,7 @@ with lib;
     listenPort = mkOption {
       type = types.port;
       default = 8009;
-      description = lib.mdDoc ''
+      description = ''
         The port where the daemon will listen to client connections for
         this homeserver. Note that the listen address/port combination
         needs to be unique between different homeservers.
@@ -60,7 +60,7 @@ with lib;
     extraSettings = mkOption {
       type = types.attrs;
       default = { };
-      description = lib.mdDoc ''
+      description = ''
         Extra configuration options. See
         [pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
         for available options.
diff --git a/nixos/modules/services/matrix/pantalaimon.nix b/nixos/modules/services/matrix/pantalaimon.nix
index 591ba9a7ab557..6f3fefdb34302 100644
--- a/nixos/modules/services/matrix/pantalaimon.nix
+++ b/nixos/modules/services/matrix/pantalaimon.nix
@@ -51,7 +51,7 @@ in
   options.services.pantalaimon-headless.instances = mkOption {
     default = { };
     type = types.attrsOf (types.submodule (import ./pantalaimon-options.nix));
-    description = lib.mdDoc ''
+    description = ''
       Declarative instance config.
 
       Note: to use pantalaimon interactively, e.g. for a Matrix client which does not
diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix
index e6b8462642dda..bc88fb53012b7 100644
--- a/nixos/modules/services/matrix/synapse.nix
+++ b/nixos/modules/services/matrix/synapse.nix
@@ -219,7 +219,7 @@ in {
           type = types.nullOr types.port;
           default = null;
           example = 8448;
-          description = lib.mdDoc ''
+          description = ''
             The port to listen for HTTP(S) requests on.
           '';
         };
@@ -245,7 +245,7 @@ in {
               "0.0.0.0"
             ]
           '';
-          description = lib.mdDoc ''
+          description = ''
             IP addresses to bind the listener to.
           '';
         };
@@ -288,7 +288,7 @@ in {
           ];
           default = "http";
           example = "metrics";
-          description = lib.mdDoc ''
+          description = ''
             The type of the listener, usually http.
           '';
         };
@@ -303,7 +303,7 @@ in {
             Enabled for the main instance listener, unless it is configured with a UNIX domain socket path.
           '';
           example = false;
-          description = lib.mdDoc ''
+          description = ''
             Whether to enable TLS on the listener socket.
 
             ::: {.note}
@@ -319,7 +319,7 @@ in {
             Enabled if the listener is configured with a UNIX domain socket path
           '';
           example = true;
-          description = lib.mdDoc ''
+          description = ''
             Use the X-Forwarded-For (XFF) header as the client IP and not the
             actual client IP.
           '';
@@ -341,7 +341,7 @@ in {
                   "replication"
                   "static"
                 ]);
-                description = lib.mdDoc ''
+                description = ''
                   List of resources to host on this listener.
                 '';
                 example = [
@@ -351,7 +351,7 @@ in {
               compress = mkOption {
                 default = false;
                 type = types.bool;
-                description = lib.mdDoc ''
+                description = ''
                   Whether synapse should compress HTTP responses to clients that support it.
                   This should be disabled if running synapse behind a load balancer
                   that can do automatic compression.
@@ -359,7 +359,7 @@ in {
               };
             };
           });
-          description = lib.mdDoc ''
+          description = ''
             List of HTTP resources to serve on this listener.
           '';
         };
@@ -367,7 +367,7 @@ in {
     });
   in {
     services.matrix-synapse = {
-      enable = mkEnableOption (lib.mdDoc "matrix.org synapse, the reference homeserver");
+      enable = mkEnableOption "matrix.org synapse, the reference homeserver";
 
       enableRegistrationScript = mkOption {
         type = types.bool;
@@ -389,7 +389,7 @@ in {
       serviceUnit = lib.mkOption {
         type = lib.types.str;
         readOnly = true;
-        description = lib.mdDoc ''
+        description = ''
           The systemd unit (a service or a target) for other services to depend on if they
           need to be started after matrix-synapse.
 
@@ -401,7 +401,7 @@ in {
       configFile = mkOption {
         type = types.path;
         readOnly = true;
-        description = lib.mdDoc ''
+        description = ''
           Path to the configuration file on the target system. Useful to configure e.g. workers
           that also need this.
         '';
@@ -410,7 +410,7 @@ in {
       package = mkOption {
         type = types.package;
         readOnly = true;
-        description = lib.mdDoc ''
+        description = ''
           Reference to the `matrix-synapse` wrapper with all extras
           (e.g. for `oidc` or `saml2`) added to the `PYTHONPATH` of all executables.
 
@@ -445,7 +445,7 @@ in {
             "user-search"  # Support internationalized domain names in user-search
           ]
         '';
-        description = lib.mdDoc ''
+        description = ''
           Explicitly install extras provided by matrix-synapse. Most
           will require some additional configuration.
 
@@ -467,7 +467,7 @@ in {
             matrix-synapse-pam
           ];
         '';
-        description = lib.mdDoc ''
+        description = ''
           List of additional Matrix plugins to make available.
         '';
       };
@@ -475,7 +475,7 @@ in {
       withJemalloc = mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc ''
+        description = ''
           Whether to preload jemalloc to reduce memory fragmentation and overall usage.
         '';
       };
@@ -483,7 +483,7 @@ in {
       dataDir = mkOption {
         type = types.str;
         default = "/var/lib/matrix-synapse";
-        description = lib.mdDoc ''
+        description = ''
           The directory where matrix-synapse stores its stateful data such as
           certificates, media and uploads.
         '';
@@ -492,7 +492,7 @@ in {
       log = mkOption {
         type = types.attrsOf format.type;
         defaultText = literalExpression defaultCommonLogConfigText;
-        description = mdDoc ''
+        description = ''
           Default configuration for the loggers used by `matrix-synapse` and its workers.
           The defaults are added with the default priority which means that
           these will be merged with additional declarations. These additional
@@ -534,7 +534,7 @@ in {
 
       settings = mkOption {
         default = { };
-        description = mdDoc ''
+        description = ''
           The primary synapse configuration. See the
           [sample configuration](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml)
           for possible values.
@@ -553,7 +553,7 @@ in {
               example = "example.com";
               default = config.networking.hostName;
               defaultText = literalExpression "config.networking.hostName";
-              description = lib.mdDoc ''
+              description = ''
                 The domain name of the server, with optional explicit port.
                 This is used by remote servers to look up the server address.
                 This is also the last part of your UserID.
@@ -565,7 +565,7 @@ in {
             enable_registration = mkOption {
               type = types.bool;
               default = false;
-              description = lib.mdDoc ''
+              description = ''
                 Enable registration for new users.
               '';
             };
@@ -573,7 +573,7 @@ in {
             registration_shared_secret = mkOption {
               type = types.nullOr types.str;
               default = null;
-              description = mdDoc ''
+              description = ''
                 If set, allows registration by anyone who also has the shared
                 secret, even if registration is otherwise disabled.
 
@@ -584,7 +584,7 @@ in {
             macaroon_secret_key = mkOption {
               type = types.nullOr types.str;
               default = null;
-              description = mdDoc ''
+              description = ''
                 Secret key for authentication tokens. If none is specified,
                 the registration_shared_secret is used, if one is given; otherwise,
                 a secret key is derived from the signing key.
@@ -596,7 +596,7 @@ in {
             enable_metrics = mkOption {
               type = types.bool;
               default = false;
-              description = lib.mdDoc ''
+              description = ''
                 Enable collection and rendering of performance metrics
               '';
             };
@@ -604,7 +604,7 @@ in {
             report_stats = mkOption {
               type = types.bool;
               default = false;
-              description = lib.mdDoc ''
+              description = ''
                 Whether or not to report anonymized homeserver usage statistics.
               '';
             };
@@ -612,7 +612,7 @@ in {
             signing_key_path = mkOption {
               type = types.path;
               default = "${cfg.dataDir}/homeserver.signing.key";
-              description = lib.mdDoc ''
+              description = ''
                 Path to the signing key to sign messages with.
               '';
             };
@@ -621,7 +621,7 @@ in {
               type = types.path;
               default = "/run/matrix-synapse.pid";
               readOnly = true;
-              description = lib.mdDoc ''
+              description = ''
                 The file to store the PID in.
               '';
             };
@@ -630,7 +630,7 @@ in {
               type = types.path;
               default = genLogConfigFile "synapse";
               defaultText = logConfigText "synapse";
-              description = lib.mdDoc ''
+              description = ''
                 The file that holds the logging configuration.
               '';
             };
@@ -641,7 +641,7 @@ in {
                 then "${cfg.dataDir}/media_store"
                 else "${cfg.dataDir}/media";
               defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
-              description = lib.mdDoc ''
+              description = ''
                 Directory where uploaded images and attachments are stored.
               '';
             };
@@ -650,7 +650,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "https://example.com:8448/";
-              description = lib.mdDoc ''
+              description = ''
                 The public-facing base URL for the client API (not including _matrix/...)
               '';
             };
@@ -659,7 +659,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "/var/lib/acme/example.com/fullchain.pem";
-              description = lib.mdDoc ''
+              description = ''
                 PEM encoded X509 certificate for TLS.
                 You can replace the self-signed certificate that synapse
                 autogenerates on launch with your own SSL certificate + key pair
@@ -672,7 +672,7 @@ in {
               type = types.nullOr types.str;
               default = null;
               example = "/var/lib/acme/example.com/key.pem";
-              description = lib.mdDoc ''
+              description = ''
                 PEM encoded private key for TLS. Specify null if synapse is not
                 speaking TLS directly.
               '';
@@ -682,7 +682,7 @@ in {
               type = types.bool;
               default = true;
               example = false;
-              description = lib.mdDoc ''
+              description = ''
                 Whether to enable presence tracking.
 
                 Presence tracking allows users to see the state (e.g online/offline)
@@ -713,7 +713,7 @@ in {
                   compress = false;
                 }];
               };
-              description = lib.mdDoc ''
+              description = ''
                 List of ports that Synapse should listen on, their purpose and their configuration.
 
                 By default, synapse will be configured for client and federation traffic on port 8008, and
@@ -735,7 +735,7 @@ in {
                 then "psycopg2"
                 else "sqlite3"
               '';
-              description = lib.mdDoc ''
+              description = ''
                 The database engine name. Can be sqlite3 or psycopg2.
               '';
             };
@@ -752,7 +752,7 @@ in {
                   psycopg2 = "matrix-synapse";
                 }.''${${options.services.matrix-synapse.settings}.database.name};
               '';
-              description = lib.mdDoc ''
+              description = ''
                 Name of the database when using the psycopg2 backend,
                 path to the database location when using sqlite3.
               '';
@@ -770,7 +770,7 @@ in {
                   psycopg2 = "matrix-synapse";
                 }.''${cfg.settings.database.name};
               '';
-              description = lib.mdDoc ''
+              description = ''
                 Username to connect with psycopg2, set to null
                 when using sqlite3.
               '';
@@ -780,7 +780,7 @@ in {
               type = types.bool;
               default = true;
               example = false;
-              description = lib.mdDoc ''
+              description = ''
                 Is the preview URL API enabled?  If enabled, you *must* specify an
                 explicit url_preview_ip_range_blacklist of IPs that the spider is
                 denied from accessing.
@@ -810,7 +810,7 @@ in {
                 "fec0::/10"
                 "ff00::/8"
               ];
-              description = lib.mdDoc ''
+              description = ''
                 List of IP address CIDR ranges that the URL preview spider is denied
                 from accessing.
               '';
@@ -819,7 +819,7 @@ in {
             url_preview_ip_range_whitelist = mkOption {
               type = types.listOf types.str;
               default = [ ];
-              description = lib.mdDoc ''
+              description = ''
                 List of IP address CIDR ranges that the URL preview spider is allowed
                 to access even if they are specified in url_preview_ip_range_blacklist.
               '';
@@ -847,7 +847,7 @@ in {
                   { netloc = "www.acme.com"; path = "/foo"; } # block http(s)://www.acme.com/foo
                 ]
               '';
-              description = lib.mdDoc ''
+              description = ''
                 Optional list of URL matches that the URL preview spider is
                 denied from accessing.
               '';
@@ -857,7 +857,7 @@ in {
               type = types.str;
               default = "50M";
               example = "100M";
-              description = lib.mdDoc ''
+              description = ''
                 The largest allowed upload size in bytes
               '';
             };
@@ -866,7 +866,7 @@ in {
               type = types.str;
               default = "32M";
               example = "64M";
-              description = lib.mdDoc ''
+              description = ''
                 Maximum number of pixels that will be thumbnailed
               '';
             };
@@ -875,7 +875,7 @@ in {
               type = types.bool;
               default = false;
               example = true;
-              description = lib.mdDoc ''
+              description = ''
                 Whether to generate new thumbnails on the fly to precisely match
                 the resolution requested by the client. If true then whenever
                 a new resolution is requested by the client the server will
@@ -893,7 +893,7 @@ in {
                 "turns:turn.example.com:5349?transport=udp"
                 "turns:turn.example.com:5349?transport=tcp"
               ];
-              description = lib.mdDoc ''
+              description = ''
                 The public URIs of the TURN server to give to clients
               '';
             };
@@ -903,7 +903,7 @@ in {
               example = literalExpression ''
                 config.services.coturn.static-auth-secret
               '';
-              description = mdDoc ''
+              description = ''
                 The shared secret used to compute passwords for the TURN server.
 
                 Secrets should be passed in via `extraConfigFiles`!
@@ -917,7 +917,7 @@ in {
                   server_name = mkOption {
                     type = types.str;
                     example = "matrix.org";
-                    description = lib.mdDoc ''
+                    description = ''
                       Hostname of the trusted server.
                     '';
                   };
@@ -929,7 +929,7 @@ in {
                   "ed25519:auto" = "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw";
                 };
               }];
-              description = lib.mdDoc ''
+              description = ''
                 The trusted servers to download signing keys from.
               '';
             };
@@ -937,7 +937,7 @@ in {
             app_service_config_files = mkOption {
               type = types.listOf types.path;
               default = [ ];
-              description = lib.mdDoc ''
+              description = ''
                 A list of application service config file to use
               '';
             };
@@ -949,14 +949,14 @@ in {
                   enabled = lib.mkOption {
                     type = types.bool;
                     default = false;
-                    description = lib.mdDoc ''
+                    description = ''
                       Whether to use redis support
                     '';
                   };
                 };
               };
               default = { };
-              description = lib.mdDoc ''
+              description = ''
                 Redis configuration for synapse.
 
                 See the
@@ -970,7 +970,7 @@ in {
 
       workers = lib.mkOption {
         default = { };
-        description = lib.mdDoc ''
+        description = ''
           Options for configuring workers. Worker support will be enabled if at least one worker is configured here.
 
           See the [worker documention](https://element-hq.github.io/synapse/latest/workers.html#worker-configuration)
@@ -1007,7 +1007,7 @@ in {
             worker_listeners = lib.mkOption {
               default = [ ];
               type = types.listOf (listenerType true);
-              description = lib.mdDoc ''
+              description = ''
                 List of ports that this worker should listen on, their purpose and their configuration.
               '';
             };
@@ -1015,7 +1015,7 @@ in {
               type = types.path;
               default = genLogConfigFile "synapse-${name}";
               defaultText = logConfigText "synapse-${name}";
-              description = lib.mdDoc ''
+              description = ''
                 The file for log configuration.
 
                 See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema)
@@ -1050,7 +1050,7 @@ in {
       extraConfigFiles = mkOption {
         type = types.listOf types.path;
         default = [ ];
-        description = lib.mdDoc ''
+        description = ''
           Extra config files to include.
 
           The configuration files will be included based on the command line
@@ -1063,7 +1063,7 @@ in {
       configureRedisLocally = lib.mkOption {
         type = types.bool;
         default = false;
-        description = lib.mdDoc ''
+        description = ''
           Whether to automatically configure a local redis server for matrix-synapse.
         '';
       };