lol

nixos/*: md-convert options with unordered lists

mostly no rendering changes. some lists (like simplelist) don't have an
exact translation to markdown, so we use a comma-separated list of
literals instead.

pennae c915b915 1013069f

+196 -369
+8 -11
nixos/modules/config/malloc.nix
··· 77 77 environment.memoryAllocator.provider = mkOption { 78 78 type = types.enum ([ "libc" ] ++ attrNames providers); 79 79 default = "libc"; 80 - description = '' 80 + description = lib.mdDoc '' 81 81 The system-wide memory allocator. 82 82 83 83 Briefly, the system-wide memory allocator providers are: 84 - <itemizedlist> 85 - <listitem><para><literal>libc</literal>: the standard allocator provided by libc</para></listitem> 86 - ${toString (mapAttrsToList 87 - (name: value: "<listitem><para><literal>${name}</literal>: ${value.description}</para></listitem>") 84 + 85 + - `libc`: the standard allocator provided by libc 86 + ${concatStringsSep "\n" (mapAttrsToList 87 + (name: value: "- `${name}`: ${replaceStrings [ "\n" ] [ " " ] value.description}") 88 88 providers)} 89 - </itemizedlist> 90 89 91 - <warning> 92 - <para> 90 + ::: {.warning} 93 91 Selecting an alternative allocator (i.e., anything other than 94 - <literal>libc</literal>) may result in instability, data loss, 92 + `libc`) may result in instability, data loss, 95 93 and/or service failure. 96 - </para> 97 - </warning> 94 + ::: 98 95 ''; 99 96 }; 100 97 };
+34 -86
nixos/modules/config/mysql.nix
··· 61 61 type = types.nullOr types.str; 62 62 default = null; 63 63 example = "status"; 64 - description = '' 64 + description = lib.mdDoc '' 65 65 The name of the column or an SQL expression that indicates the status of 66 66 the user. The status is expressed by the combination of two bitfields 67 67 shown below: 68 68 69 - <itemizedlist> 70 - <listitem> 71 - <para> 72 - <literal>bit 0 (0x01)</literal>: 73 - if flagged, <literal>pam_mysql</literal> deems the account to be expired and 74 - returns <literal>PAM_ACCT_EXPIRED</literal>. That is, the account is supposed 75 - to no longer be available. Note this doesn't mean that <literal>pam_mysql</literal> 76 - rejects further authentication operations. 77 - </para> 78 - </listitem> 79 - <listitem> 80 - <para> 81 - <literal>bit 1 (0x02)</literal>: 82 - if flagged, <literal>pam_mysql</literal> deems the authentication token 83 - (password) to be expired and returns <literal>PAM_NEW_AUTHTOK_REQD</literal>. 84 - This ends up requiring that the user enter a new password. 85 - </para> 86 - </listitem> 87 - </itemizedlist> 69 + - `bit 0 (0x01)`: 70 + if flagged, `pam_mysql` deems the account to be expired and 71 + returns `PAM_ACCT_EXPIRED`. That is, the account is supposed 72 + to no longer be available. Note this doesn't mean that `pam_mysql` 73 + rejects further authentication operations. 74 + - `bit 1 (0x02)`: 75 + if flagged, `pam_mysql` deems the authentication token 76 + (password) to be expired and returns `PAM_NEW_AUTHTOK_REQD`. 77 + This ends up requiring that the user enter a new password. 88 78 ''; 89 79 }; 90 80 passwordCrypt = mkOption { ··· 101 91 "8" "sha512" 102 92 "9" "sha256" 103 93 ]; 104 - description = '' 94 + description = lib.mdDoc '' 105 95 The method to encrypt the user's password: 106 96 107 - <itemizedlist> 108 - <listitem> 109 - <para> 110 - <literal>0</literal> (or <literal>"plain"</literal>): 111 - No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED. 112 - </para> 113 - </listitem> 114 - <listitem> 115 - <para> 116 - <literal>1</literal> (or <literal>"Y"</literal>): 117 - Use crypt(3) function. 118 - </para> 119 - </listitem> 120 - <listitem> 121 - <para> 122 - <literal>2</literal> (or <literal>"mysql"</literal>): 123 - Use the MySQL PASSWORD() function. It is possible that the encryption function used 124 - by <literal>pam_mysql</literal> is different from that of the MySQL server, as 125 - <literal>pam_mysql</literal> uses the function defined in MySQL's C-client API 126 - instead of using PASSWORD() SQL function in the query. 127 - </para> 128 - </listitem> 129 - <listitem> 130 - <para> 131 - <literal>3</literal> (or <literal>"md5"</literal>): 132 - Use plain hex MD5. 133 - </para> 134 - </listitem> 135 - <listitem> 136 - <para> 137 - <literal>4</literal> (or <literal>"sha1"</literal>): 138 - Use plain hex SHA1. 139 - </para> 140 - </listitem> 141 - <listitem> 142 - <para> 143 - <literal>5</literal> (or <literal>"drupal7"</literal>): 144 - Use Drupal7 salted passwords. 145 - </para> 146 - </listitem> 147 - <listitem> 148 - <para> 149 - <literal>6</literal> (or <literal>"joomla15"</literal>): 150 - Use Joomla15 salted passwords. 151 - </para> 152 - </listitem> 153 - <listitem> 154 - <para> 155 - <literal>7</literal> (or <literal>"ssha"</literal>): 156 - Use ssha hashed passwords. 157 - </para> 158 - </listitem> 159 - <listitem> 160 - <para> 161 - <literal>8</literal> (or <literal>"sha512"</literal>): 162 - Use sha512 hashed passwords. 163 - </para> 164 - </listitem> 165 - <listitem> 166 - <para> 167 - <literal>9</literal> (or <literal>"sha256"</literal>): 168 - Use sha256 hashed passwords. 169 - </para> 170 - </listitem> 171 - </itemizedlist> 97 + - `0` (or `"plain"`): 98 + No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED. 99 + - `1` (or `"Y"`): 100 + Use crypt(3) function. 101 + - `2` (or `"mysql"`): 102 + Use the MySQL PASSWORD() function. It is possible that the encryption function used 103 + by `pam_mysql` is different from that of the MySQL server, as 104 + `pam_mysql` uses the function defined in MySQL's C-client API 105 + instead of using PASSWORD() SQL function in the query. 106 + - `3` (or `"md5"`): 107 + Use plain hex MD5. 108 + - `4` (or `"sha1"`): 109 + Use plain hex SHA1. 110 + - `5` (or `"drupal7"`): 111 + Use Drupal7 salted passwords. 112 + - `6` (or `"joomla15"`): 113 + Use Joomla15 salted passwords. 114 + - `7` (or `"ssha"`): 115 + Use ssha hashed passwords. 116 + - `8` (or `"sha512"`): 117 + Use sha512 hashed passwords. 118 + - `9` (or `"sha256"`): 119 + Use sha256 hashed passwords. 172 120 ''; 173 121 }; 174 122 cryptDefault = mkOption {
+8 -10
nixos/modules/i18n/input-method/default.nix
··· 32 32 type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]); 33 33 default = null; 34 34 example = "fcitx"; 35 - description = '' 35 + description = lib.mdDoc '' 36 36 Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices. 37 37 38 38 Input methods are specially used to input Chinese, Japanese and Korean characters. 39 39 40 40 Currently the following input methods are available in NixOS: 41 41 42 - <itemizedlist> 43 - <listitem><para>ibus: The intelligent input bus, extra input engines can be added using <literal>i18n.inputMethod.ibus.engines</literal>.</para></listitem> 44 - <listitem><para>fcitx: A customizable lightweight input method, extra input engines can be added using <literal>i18n.inputMethod.fcitx.engines</literal>.</para></listitem> 45 - <listitem><para>fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using <literal>i18n.inputMethod.fcitx5.addons</literal>.</para></listitem> 46 - <listitem><para>nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.</para></listitem> 47 - <listitem><para>uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.</para></listitem> 48 - <listitem><para>hime: An extremely easy-to-use input method framework.</para></listitem> 49 - <listitem><para>kime: Koream IME.</para></listitem> 50 - </itemizedlist> 42 + - ibus: The intelligent input bus, extra input engines can be added using `i18n.inputMethod.ibus.engines`. 43 + - fcitx: A customizable lightweight input method, extra input engines can be added using `i18n.inputMethod.fcitx.engines`. 44 + - fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `i18n.inputMethod.fcitx5.addons`. 45 + - nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5. 46 + - uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean. 47 + - hime: An extremely easy-to-use input method framework. 48 + - kime: Koream IME. 51 49 ''; 52 50 }; 53 51
+7 -8
nixos/modules/misc/documentation.nix
··· 226 226 nixos.enable = mkOption { 227 227 type = types.bool; 228 228 default = true; 229 - description = '' 229 + description = lib.mdDoc '' 230 230 Whether to install NixOS's own documentation. 231 - <itemizedlist> 232 - <listitem><para>This includes man pages like 233 - <citerefentry><refentrytitle>configuration.nix</refentrytitle><manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is 234 - set.</para></listitem> 235 - <listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if 236 - <option>documentation.doc.enable</option> is set.</para></listitem> 237 - </itemizedlist> 231 + 232 + - This includes man pages like 233 + {manpage}`configuration.nix(5)` if {option}`documentation.man.enable` is 234 + set. 235 + - This includes the HTML manual and the {command}`nixos-help` command if 236 + {option}`documentation.doc.enable` is set. 238 237 ''; 239 238 }; 240 239
+4 -5
nixos/modules/security/acme/default.nix
··· 576 576 ocspMustStaple = mkOption { 577 577 type = types.bool; 578 578 inherit (defaultAndText "ocspMustStaple" false) default defaultText; 579 - description = '' 579 + description = lib.mdDoc '' 580 580 Turns on the OCSP Must-Staple TLS extension. 581 581 Make sure you know what you're doing! See: 582 - <itemizedlist> 583 - <listitem><para><link xlink:href="https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/"/></para></listitem> 584 - <listitem><para><link xlink:href="https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html"/></para></listitem> 585 - </itemizedlist> 582 + 583 + - <https://blog.apnic.net/2019/01/15/is-the-web-ready-for-ocsp-must-staple/> 584 + - <https://blog.hboeck.de/archives/886-The-Problem-with-OCSP-Stapling-and-Must-Staple-and-why-Certificate-Revocation-is-still-broken.html> 586 585 ''; 587 586 }; 588 587
+3 -13
nixos/modules/security/tpm2.nix
··· 76 76 77 77 tctiEnvironment = { 78 78 enable = lib.mkOption { 79 - description = '' 79 + description = lib.mdDoc '' 80 80 Set common TCTI environment variables to the specified value. 81 81 The variables are 82 - <itemizedlist> 83 - <listitem> 84 - <para> 85 - <literal>TPM2TOOLS_TCTI</literal> 86 - </para> 87 - </listitem> 88 - <listitem> 89 - <para> 90 - <literal>TPM2_PKCS11_TCTI</literal> 91 - </para> 92 - </listitem> 93 - </itemizedlist> 82 + - `TPM2TOOLS_TCTI` 83 + - `TPM2_PKCS11_TCTI` 94 84 ''; 95 85 type = lib.types.bool; 96 86 default = false;
+5 -7
nixos/modules/services/admin/meshcentral.nix
··· 13 13 defaultText = literalExpression "pkgs.meshcentral"; 14 14 }; 15 15 settings = mkOption { 16 - description = '' 16 + description = lib.mdDoc '' 17 17 Settings for MeshCentral. Refer to upstream documentation for details: 18 18 19 - <itemizedlist> 20 - <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json">JSON Schema definition</link></para></listitem> 21 - <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json">simple sample configuration</link></para></listitem> 22 - <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json">complex sample configuration</link></para></listitem> 23 - <listitem><para><link xlink:href="https://www.meshcommander.com/meshcentral2">Old homepage) with documentation link</link></para></listitem> 24 - </itemizedlist> 19 + - [JSON Schema definition](https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json) 20 + - [simple sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json) 21 + - [complex sample configuration](https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json) 22 + - [Old homepage with documentation link](https://www.meshcommander.com/meshcentral2) 25 23 ''; 26 24 type = types.submodule { 27 25 freeformType = configFormat.type;
+3 -5
nixos/modules/services/hardware/upower.nix
··· 39 39 enableWattsUpPro = mkOption { 40 40 type = types.bool; 41 41 default = false; 42 - description = '' 42 + description = lib.mdDoc '' 43 43 Enable the Watts Up Pro device. 44 44 45 45 The Watts Up Pro contains a generic FTDI USB device without a specific ··· 49 49 50 50 The generic FTDI device is known to also be used on: 51 51 52 - <itemizedlist> 53 - <listitem><para>Sparkfun FT232 breakout board</para></listitem> 54 - <listitem><para>Parallax Propeller</para></listitem> 55 - </itemizedlist> 52 + - Sparkfun FT232 breakout board 53 + - Parallax Propeller 56 54 ''; 57 55 }; 58 56
+9 -11
nixos/modules/services/monitoring/grafana-image-renderer.nix
··· 62 62 mode = mkOption { 63 63 default = "default"; 64 64 type = types.enum [ "default" "reusable" "clustered" ]; 65 - description = '' 66 - Rendering mode of <literal>grafana-image-renderer</literal>: 67 - <itemizedlist> 68 - <listitem><para><literal>default:</literal> Creates on browser-instance 69 - per rendering request.</para></listitem> 70 - <listitem><para><literal>reusable:</literal> One browser instance 71 - will be started and reused for each rendering request.</para></listitem> 72 - <listitem><para><literal>clustered:</literal> allows to precisely 65 + description = lib.mdDoc '' 66 + Rendering mode of `grafana-image-renderer`: 67 + 68 + - `default:` Creates on browser-instance 69 + per rendering request. 70 + - `reusable:` One browser instance 71 + will be started and reused for each rendering request. 72 + - `clustered:` allows to precisely 73 73 configure how many browser-instances are supposed to be used. The values 74 - for that mode can be declared in <literal>rendering.clustering</literal>. 75 - </para></listitem> 76 - </itemizedlist> 74 + for that mode can be declared in `rendering.clustering`. 77 75 ''; 78 76 }; 79 77 args = mkOption {
+18 -50
nixos/modules/services/networking/3proxy.nix
··· 55 55 "udppm" 56 56 ]; 57 57 example = "proxy"; 58 - description = '' 58 + description = lib.mdDoc '' 59 59 Service type. The following values are valid: 60 60 61 - <itemizedlist> 62 - <listitem><para> 63 - <literal>"proxy"</literal>: HTTP/HTTPS proxy (default port 3128). 64 - </para></listitem> 65 - <listitem><para> 66 - <literal>"socks"</literal>: SOCKS 4/4.5/5 proxy (default port 1080). 67 - </para></listitem> 68 - <listitem><para> 69 - <literal>"pop3p"</literal>: POP3 proxy (default port 110). 70 - </para></listitem> 71 - <listitem><para> 72 - <literal>"ftppr"</literal>: FTP proxy (default port 21). 73 - </para></listitem> 74 - <listitem><para> 75 - <literal>"admin"</literal>: Web interface (default port 80). 76 - </para></listitem> 77 - <listitem><para> 78 - <literal>"dnspr"</literal>: Caching DNS proxy (default port 53). 79 - </para></listitem> 80 - <listitem><para> 81 - <literal>"tcppm"</literal>: TCP portmapper. 82 - </para></listitem> 83 - <listitem><para> 84 - <literal>"udppm"</literal>: UDP portmapper. 85 - </para></listitem> 86 - </itemizedlist> 61 + - `"proxy"`: HTTP/HTTPS proxy (default port 3128). 62 + - `"socks"`: SOCKS 4/4.5/5 proxy (default port 1080). 63 + - `"pop3p"`: POP3 proxy (default port 110). 64 + - `"ftppr"`: FTP proxy (default port 21). 65 + - `"admin"`: Web interface (default port 80). 66 + - `"dnspr"`: Caching DNS proxy (default port 53). 67 + - `"tcppm"`: TCP portmapper. 68 + - `"udppm"`: UDP portmapper. 87 69 ''; 88 70 }; 89 71 bindAddress = mkOption { ··· 113 95 auth = mkOption { 114 96 type = types.listOf (types.enum [ "none" "iponly" "strong" ]); 115 97 example = [ "iponly" "strong" ]; 116 - description = '' 98 + description = lib.mdDoc '' 117 99 Authentication type. The following values are valid: 118 100 119 - <itemizedlist> 120 - <listitem><para> 121 - <literal>"none"</literal>: disables both authentication and authorization. You can not use ACLs. 122 - </para></listitem> 123 - <listitem><para> 124 - <literal>"iponly"</literal>: specifies no authentication. ACLs authorization is used. 125 - </para></listitem> 126 - <listitem><para> 127 - <literal>"strong"</literal>: authentication by username/password. If user is not registered their access is denied regardless of ACLs. 128 - </para></listitem> 129 - </itemizedlist> 101 + - `"none"`: disables both authentication and authorization. You can not use ACLs. 102 + - `"iponly"`: specifies no authentication. ACLs authorization is used. 103 + - `"strong"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs. 130 104 131 105 Double authentication is possible, e.g. 132 106 133 - <programlisting> 107 + ``` 134 108 { 135 109 auth = [ "iponly" "strong" ]; 136 110 acl = [ ··· 144 118 } 145 119 ]; 146 120 } 147 - </programlisting> 121 + ``` 148 122 In this example strong username authentication is not required to access 192.168.0.0/16. 149 123 ''; 150 124 }; ··· 154 128 rule = mkOption { 155 129 type = types.enum [ "allow" "deny" ]; 156 130 example = "allow"; 157 - description = '' 131 + description = lib.mdDoc '' 158 132 ACL rule. The following values are valid: 159 133 160 - <itemizedlist> 161 - <listitem><para> 162 - <literal>"allow"</literal>: connections allowed. 163 - </para></listitem> 164 - <listitem><para> 165 - <literal>"deny"</literal>: connections not allowed. 166 - </para></listitem> 167 - </itemizedlist> 134 + - `"allow"`: connections allowed. 135 + - `"deny"`: connections not allowed. 168 136 ''; 169 137 }; 170 138 users = mkOption {
+17 -25
nixos/modules/services/networking/nsd.nix
··· 213 213 example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name" 214 214 "10.0.3.4&255.255.0.0 BLOCKED" 215 215 ]; 216 - description = '' 216 + description = lib.mdDoc '' 217 217 Listed primary servers are allowed to notify this secondary server. 218 218 219 - Format: <literal>&lt;ip&gt; &lt;key-name | NOKEY | BLOCKED&gt;</literal> 219 + Format: `<ip> <key-name | NOKEY | BLOCKED>` 220 220 221 - <literal>&lt;ip&gt;</literal> either a plain IPv4/IPv6 address or range. 221 + `<ip>` either a plain IPv4/IPv6 address or range. 222 222 Valid patters for ranges: 223 - <itemizedlist> 224 - <listitem><para><literal>10.0.0.0/24</literal>: via subnet size</para></listitem> 225 - <listitem><para><literal>10.0.0.0&amp;255.255.255.0</literal>: via subnet mask</para></listitem> 226 - <listitem><para><literal>10.0.0.1-10.0.0.254</literal>: via range</para></listitem> 227 - </itemizedlist> 223 + * `10.0.0.0/24`: via subnet size 224 + * `10.0.0.0&255.255.255.0`: via subnet mask 225 + * `10.0.0.1-10.0.0.254`: via range 228 226 229 227 A optional port number could be added with a '@': 230 - <itemizedlist> 231 - <listitem><para><literal>2001:1234::1@1234</literal></para></listitem> 232 - </itemizedlist> 228 + * `2001:1234::1@1234` 233 229 234 - <literal>&lt;key-name | NOKEY | BLOCKED&gt;</literal> 235 - <itemizedlist> 236 - <listitem><para><literal>&lt;key-name&gt;</literal> will use the specified TSIG key</para></listitem> 237 - <listitem><para><literal>NOKEY</literal> no TSIG signature is required</para></listitem> 238 - <listitem><para><literal>BLOCKED</literal>notifies from non-listed or blocked IPs will be ignored</para></listitem> 239 - </itemizedlist> 230 + `<key-name | NOKEY | BLOCKED>` 231 + * `<key-name>` will use the specified TSIG key 232 + * `NOKEY` no TSIG signature is required 233 + * `BLOCKED`notifies from non-listed or blocked IPs will be ignored 240 234 ''; 241 235 }; 242 236 ··· 350 344 type = types.listOf types.str; 351 345 default = []; 352 346 example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ]; 353 - description = '' 347 + description = lib.mdDoc '' 354 348 This primary server will notify all given secondary servers about 355 349 zone changes. 356 350 357 - Format: <literal>&lt;ip&gt; &lt;key-name | NOKEY&gt;</literal> 351 + Format: `<ip> <key-name | NOKEY>` 358 352 359 - <literal>&lt;ip&gt;</literal> a plain IPv4/IPv6 address with on optional port number (ip@port) 353 + `<ip>` a plain IPv4/IPv6 address with on optional port number (ip@port) 360 354 361 - <literal>&lt;key-name | NOKEY&gt;</literal> 362 - <itemizedlist> 363 - <listitem><para><literal>&lt;key-name&gt;</literal> sign notifies with the specified key</para></listitem> 364 - <listitem><para><literal>NOKEY</literal> don't sign notifies</para></listitem> 365 - </itemizedlist> 355 + `<key-name | NOKEY>` 356 + - `<key-name>` sign notifies with the specified key 357 + - `NOKEY` don't sign notifies 366 358 ''; 367 359 }; 368 360
+12 -25
nixos/modules/services/web-apps/documize.nix
··· 85 85 dbtype = mkOption { 86 86 type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ]; 87 87 default = "postgresql"; 88 - description = '' 89 - Specify the database provider: 90 - <simplelist type='inline'> 91 - <member><literal>mysql</literal></member> 92 - <member><literal>percona</literal></member> 93 - <member><literal>mariadb</literal></member> 94 - <member><literal>postgresql</literal></member> 95 - <member><literal>sqlserver</literal></member> 96 - </simplelist> 88 + description = lib.mdDoc '' 89 + Specify the database provider: `mysql`, `percona`, `mariadb`, `postgresql`, `sqlserver` 97 90 ''; 98 91 }; 99 92 100 93 db = mkOption { 101 94 type = types.str; 102 - description = '' 95 + description = lib.mdDoc '' 103 96 Database specific connection string for example: 104 - <itemizedlist> 105 - <listitem><para>MySQL/Percona/MariaDB: 106 - <literal>user:password@tcp(host:3306)/documize</literal> 107 - </para></listitem> 108 - <listitem><para>MySQLv8+: 109 - <literal>user:password@tcp(host:3306)/documize?allowNativePasswords=true</literal> 110 - </para></listitem> 111 - <listitem><para>PostgreSQL: 112 - <literal>host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable</literal> 113 - </para></listitem> 114 - <listitem><para>MSSQL: 115 - <literal>sqlserver://username:password@localhost:1433?database=Documize</literal> or 116 - <literal>sqlserver://sa@localhost/SQLExpress?database=Documize</literal> 117 - </para></listitem> 118 - </itemizedlist> 97 + - MySQL/Percona/MariaDB: 98 + `user:password@tcp(host:3306)/documize` 99 + - MySQLv8+: 100 + `user:password@tcp(host:3306)/documize?allowNativePasswords=true` 101 + - PostgreSQL: 102 + `host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable` 103 + - MSSQL: 104 + `sqlserver://username:password@localhost:1433?database=Documize` or 105 + `sqlserver://sa@localhost/SQLExpress?database=Documize` 119 106 ''; 120 107 }; 121 108
+11 -13
nixos/modules/services/web-apps/nextcloud.nix
··· 533 533 The nextcloud-occ program preconfigured to target this Nextcloud instance. 534 534 ''; 535 535 }; 536 - globalProfiles = mkEnableOption "global profiles" // { 537 - description = '' 538 - Makes user-profiles globally available under <literal>nextcloud.tld/u/user.name</literal>. 536 + globalProfiles = mkEnableOption (lib.mdDoc "global profiles") // { 537 + description = lib.mdDoc '' 538 + Makes user-profiles globally available under `nextcloud.tld/u/user.name`. 539 539 Even though it's enabled by default in Nextcloud, it must be explicitly enabled 540 540 here because it has the side-effect that personal information is even accessible to 541 541 unauthenticated users by default. 542 542 543 543 By default, the following properties are set to “Show to everyone” 544 544 if this flag is enabled: 545 - <itemizedlist> 546 - <listitem><para>About</para></listitem> 547 - <listitem><para>Full name</para></listitem> 548 - <listitem><para>Headline</para></listitem> 549 - <listitem><para>Organisation</para></listitem> 550 - <listitem><para>Profile picture</para></listitem> 551 - <listitem><para>Role</para></listitem> 552 - <listitem><para>Twitter</para></listitem> 553 - <listitem><para>Website</para></listitem> 554 - </itemizedlist> 545 + - About 546 + - Full name 547 + - Headline 548 + - Organisation 549 + - Profile picture 550 + - Role 551 + - Twitter 552 + - Website 555 553 556 554 Only has an effect in Nextcloud 23 and later. 557 555 '';
+7 -9
nixos/modules/services/web-apps/wiki-js.nix
··· 93 93 }; 94 94 }; 95 95 }; 96 - description = '' 97 - Settings to configure <literal>wiki-js</literal>. This directly 98 - corresponds to <link xlink:href="https://docs.requarks.io/install/config">the upstream configuration options</link>. 96 + description = lib.mdDoc '' 97 + Settings to configure `wiki-js`. This directly 98 + corresponds to [the upstream configuration options](https://docs.requarks.io/install/config). 99 99 100 100 Secrets can be injected via the environment by 101 - <itemizedlist> 102 - <listitem><para>specifying <xref linkend="opt-services.wiki-js.environmentFile"/> 103 - to contain secrets</para></listitem> 104 - <listitem><para>and setting sensitive values to <literal>$(ENVIRONMENT_VAR)</literal> 105 - with this value defined in the environment-file.</para></listitem> 106 - </itemizedlist> 101 + - specifying [](#opt-services.wiki-js.environmentFile) 102 + to contain secrets 103 + - and setting sensitive values to `$(ENVIRONMENT_VAR)` 104 + with this value defined in the environment-file. 107 105 ''; 108 106 }; 109 107 };
+7 -12
nixos/modules/services/web-servers/nginx/default.nix
··· 499 499 config = mkOption { 500 500 type = types.str; 501 501 default = ""; 502 - description = '' 503 - Verbatim <filename>nginx.conf</filename> configuration. 502 + description = lib.mdDoc '' 503 + Verbatim {file}`nginx.conf` configuration. 504 504 This is mutually exclusive to any other config option for 505 - <filename>nginx.conf</filename> except for 506 - <itemizedlist> 507 - <listitem><para><xref linkend="opt-services.nginx.appendConfig"/> 508 - </para></listitem> 509 - <listitem><para><xref linkend="opt-services.nginx.httpConfig"/> 510 - </para></listitem> 511 - <listitem><para><xref linkend="opt-services.nginx.logError"/> 512 - </para></listitem> 513 - </itemizedlist> 505 + {file}`nginx.conf` except for 506 + - [](#opt-services.nginx.appendConfig) 507 + - [](#opt-services.nginx.httpConfig) 508 + - [](#opt-services.nginx.logError) 514 509 515 510 If additional verbatim config in addition to other options is needed, 516 - <xref linkend="opt-services.nginx.appendConfig"/> should be used instead. 511 + [](#opt-services.nginx.appendConfig) should be used instead. 517 512 ''; 518 513 }; 519 514
+16 -18
nixos/modules/system/boot/loader/grub/grub.nix
··· 622 622 efiInstallAsRemovable = mkOption { 623 623 default = false; 624 624 type = types.bool; 625 - description = '' 626 - Whether to invoke <literal>grub-install</literal> with 627 - <literal>--removable</literal>. 625 + description = lib.mdDoc '' 626 + Whether to invoke `grub-install` with 627 + `--removable`. 628 628 629 629 Unless you turn this on, GRUB will install itself somewhere in 630 - <literal>boot.loader.efi.efiSysMountPoint</literal> (exactly where 630 + `boot.loader.efi.efiSysMountPoint` (exactly where 631 631 depends on other config variables). If you've set 632 - <literal>boot.loader.efi.canTouchEfiVariables</literal> *AND* you 632 + `boot.loader.efi.canTouchEfiVariables` *AND* you 633 633 are currently booted in UEFI mode, then GRUB will use 634 - <literal>efibootmgr</literal> to modify the boot order in the 634 + `efibootmgr` to modify the boot order in the 635 635 EFI variables of your firmware to include this location. If you are 636 636 *not* booted in UEFI mode at the time GRUB is being installed, the 637 637 NVRAM will not be modified, and your system will not find GRUB at 638 638 boot time. However, GRUB will still return success so you may miss 639 - the warning that gets printed ("<literal>efibootmgr: EFI variables 640 - are not supported on this system.</literal>"). 639 + the warning that gets printed ("`efibootmgr: EFI variables 640 + are not supported on this system.`"). 641 641 642 642 If you turn this feature on, GRUB will install itself in a 643 - special location within <literal>efiSysMountPoint</literal> (namely 644 - <literal>EFI/boot/boot$arch.efi</literal>) which the firmwares 643 + special location within `efiSysMountPoint` (namely 644 + `EFI/boot/boot$arch.efi`) which the firmwares 645 645 are hardcoded to try first, regardless of NVRAM EFI variables. 646 646 647 647 To summarize, turn this on if: 648 - <itemizedlist> 649 - <listitem><para>You are installing NixOS and want it to boot in UEFI mode, 650 - but you are currently booted in legacy mode</para></listitem> 651 - <listitem><para>You want to make a drive that will boot regardless of 652 - the NVRAM state of the computer (like a USB "removable" drive)</para></listitem> 653 - <listitem><para>You simply dislike the idea of depending on NVRAM 654 - state to make your drive bootable</para></listitem> 655 - </itemizedlist> 648 + - You are installing NixOS and want it to boot in UEFI mode, 649 + but you are currently booted in legacy mode 650 + - You want to make a drive that will boot regardless of 651 + the NVRAM state of the computer (like a USB "removable" drive) 652 + - You simply dislike the idea of depending on NVRAM 653 + state to make your drive bootable 656 654 ''; 657 655 }; 658 656
+13 -29
nixos/modules/system/boot/loader/grub/memtest.nix
··· 31 31 default = []; 32 32 example = [ "console=ttyS0,115200" ]; 33 33 type = types.listOf types.str; 34 - description = '' 34 + description = lib.mdDoc '' 35 35 Parameters added to the Memtest86+ command line. As of memtest86+ 5.01 36 36 the following list of (apparently undocumented) parameters are 37 37 accepted: 38 38 39 - <itemizedlist> 40 - 41 - <listitem> 42 - <para><literal>console=...</literal>, set up a serial console. 39 + - `console=...`, set up a serial console. 43 40 Examples: 44 - <literal>console=ttyS0</literal>, 45 - <literal>console=ttyS0,9600</literal> or 46 - <literal>console=ttyS0,115200n8</literal>.</para> 47 - </listitem> 41 + `console=ttyS0`, 42 + `console=ttyS0,9600` or 43 + `console=ttyS0,115200n8`. 48 44 49 - <listitem> 50 - <para><literal>btrace</literal>, enable boot trace.</para> 51 - </listitem> 52 - 53 - <listitem> 54 - <para><literal>maxcpus=N</literal>, limit number of CPUs.</para> 55 - </listitem> 45 + - `btrace`, enable boot trace. 56 46 57 - <listitem> 58 - <para><literal>onepass</literal>, run one pass and exit if there 59 - are no errors.</para> 60 - </listitem> 47 + - `maxcpus=N`, limit number of CPUs. 61 48 62 - <listitem> 63 - <para><literal>tstlist=...</literal>, list of tests to run. 64 - Example: <literal>0,1,2</literal>.</para> 65 - </listitem> 49 + - `onepass`, run one pass and exit if there 50 + are no errors. 66 51 67 - <listitem> 68 - <para><literal>cpumask=...</literal>, set a CPU mask, to select CPUs 69 - to use for testing.</para> 70 - </listitem> 52 + - `tstlist=...`, list of tests to run. 53 + Example: `0,1,2`. 71 54 72 - </itemizedlist> 55 + - `cpumask=...`, set a CPU mask, to select CPUs 56 + to use for testing. 73 57 74 58 This list of command line options was obtained by reading the 75 59 Memtest86+ source code.
+7 -21
nixos/modules/system/boot/loader/systemd-boot/systemd-boot.nix
··· 104 104 105 105 type = types.enum [ "0" "1" "2" "auto" "max" "keep" ]; 106 106 107 - description = '' 107 + description = lib.mdDoc '' 108 108 The resolution of the console. The following values are valid: 109 109 110 - <itemizedlist> 111 - <listitem><para> 112 - <literal>"0"</literal>: Standard UEFI 80x25 mode 113 - </para></listitem> 114 - <listitem><para> 115 - <literal>"1"</literal>: 80x50 mode, not supported by all devices 116 - </para></listitem> 117 - <listitem><para> 118 - <literal>"2"</literal>: The first non-standard mode provided by the device firmware, if any 119 - </para></listitem> 120 - <listitem><para> 121 - <literal>"auto"</literal>: Pick a suitable mode automatically using heuristics 122 - </para></listitem> 123 - <listitem><para> 124 - <literal>"max"</literal>: Pick the highest-numbered available mode 125 - </para></listitem> 126 - <listitem><para> 127 - <literal>"keep"</literal>: Keep the mode selected by firmware (the default) 128 - </para></listitem> 129 - </itemizedlist> 110 + - `"0"`: Standard UEFI 80x25 mode 111 + - `"1"`: 80x50 mode, not supported by all devices 112 + - `"2"`: The first non-standard mode provided by the device firmware, if any 113 + - `"auto"`: Pick a suitable mode automatically using heuristics 114 + - `"max"`: Pick the highest-numbered available mode 115 + - `"keep"`: Keep the mode selected by firmware (the default) 130 116 ''; 131 117 }; 132 118
+7 -11
nixos/modules/system/boot/stage-1.nix
··· 613 613 ); 614 614 defaultText = literalMD "`zstd` if the kernel supports it (5.9+), `gzip` if not"; 615 615 type = types.either types.str (types.functionTo types.str); 616 - description = '' 616 + description = lib.mdDoc '' 617 617 The compressor to use on the initrd image. May be any of: 618 618 619 - <itemizedlist> 620 - <listitem><para>The name of one of the predefined compressors, see <filename>pkgs/build-support/kernel/initrd-compressor-meta.nix</filename> for the definitions.</para></listitem> 621 - <listitem><para>A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. <literal>pkgs: "''${pkgs.pigz}/bin/pigz"</literal></para></listitem> 622 - <listitem><para>(not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. <literal>"''${pkgs.pigz}/bin/pigz"</literal></para></listitem> 623 - </itemizedlist> 619 + - The name of one of the predefined compressors, see {file}`pkgs/build-support/kernel/initrd-compressor-meta.nix` for the definitions. 620 + - A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. `pkgs: "''${pkgs.pigz}/bin/pigz"` 621 + - (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. `"''${pkgs.pigz}/bin/pigz"` 624 622 625 623 The given program should read data from stdin and write it to stdout compressed. 626 624 ''; ··· 662 660 default = true; 663 661 type = types.bool; 664 662 description = 665 - '' 663 + lib.mdDoc '' 666 664 Verbosity of the initrd. Please note that disabling verbosity removes 667 665 only the mandatory messages generated by the NixOS scripts. For a 668 666 completely silent boot, you might also want to set the two following 669 667 configuration options: 670 668 671 - <itemizedlist> 672 - <listitem><para><literal>boot.consoleLogLevel = 0;</literal></para></listitem> 673 - <listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_level=3" ];</literal></para></listitem> 674 - </itemizedlist> 669 + - `boot.consoleLogLevel = 0;` 670 + - `boot.kernelParams = [ "quiet" "udev.log_level=3" ];` 675 671 ''; 676 672 }; 677 673