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.
···7777 environment.memoryAllocator.provider = mkOption {
7878 type = types.enum ([ "libc" ] ++ attrNames providers);
7979 default = "libc";
8080- description = ''
8080+ description = lib.mdDoc ''
8181 The system-wide memory allocator.
82828383 Briefly, the system-wide memory allocator providers are:
8484- <itemizedlist>
8585- <listitem><para><literal>libc</literal>: the standard allocator provided by libc</para></listitem>
8686- ${toString (mapAttrsToList
8787- (name: value: "<listitem><para><literal>${name}</literal>: ${value.description}</para></listitem>")
8484+8585+ - `libc`: the standard allocator provided by libc
8686+ ${concatStringsSep "\n" (mapAttrsToList
8787+ (name: value: "- `${name}`: ${replaceStrings [ "\n" ] [ " " ] value.description}")
8888 providers)}
8989- </itemizedlist>
90899191- <warning>
9292- <para>
9090+ ::: {.warning}
9391 Selecting an alternative allocator (i.e., anything other than
9494- <literal>libc</literal>) may result in instability, data loss,
9292+ `libc`) may result in instability, data loss,
9593 and/or service failure.
9696- </para>
9797- </warning>
9494+ :::
9895 '';
9996 };
10097 };
+34-86
nixos/modules/config/mysql.nix
···6161 type = types.nullOr types.str;
6262 default = null;
6363 example = "status";
6464- description = ''
6464+ description = lib.mdDoc ''
6565 The name of the column or an SQL expression that indicates the status of
6666 the user. The status is expressed by the combination of two bitfields
6767 shown below:
68686969- <itemizedlist>
7070- <listitem>
7171- <para>
7272- <literal>bit 0 (0x01)</literal>:
7373- if flagged, <literal>pam_mysql</literal> deems the account to be expired and
7474- returns <literal>PAM_ACCT_EXPIRED</literal>. That is, the account is supposed
7575- to no longer be available. Note this doesn't mean that <literal>pam_mysql</literal>
7676- rejects further authentication operations.
7777- </para>
7878- </listitem>
7979- <listitem>
8080- <para>
8181- <literal>bit 1 (0x02)</literal>:
8282- if flagged, <literal>pam_mysql</literal> deems the authentication token
8383- (password) to be expired and returns <literal>PAM_NEW_AUTHTOK_REQD</literal>.
8484- This ends up requiring that the user enter a new password.
8585- </para>
8686- </listitem>
8787- </itemizedlist>
6969+ - `bit 0 (0x01)`:
7070+ if flagged, `pam_mysql` deems the account to be expired and
7171+ returns `PAM_ACCT_EXPIRED`. That is, the account is supposed
7272+ to no longer be available. Note this doesn't mean that `pam_mysql`
7373+ rejects further authentication operations.
7474+ - `bit 1 (0x02)`:
7575+ if flagged, `pam_mysql` deems the authentication token
7676+ (password) to be expired and returns `PAM_NEW_AUTHTOK_REQD`.
7777+ This ends up requiring that the user enter a new password.
8878 '';
8979 };
9080 passwordCrypt = mkOption {
···10191 "8" "sha512"
10292 "9" "sha256"
10393 ];
104104- description = ''
9494+ description = lib.mdDoc ''
10595 The method to encrypt the user's password:
10696107107- <itemizedlist>
108108- <listitem>
109109- <para>
110110- <literal>0</literal> (or <literal>"plain"</literal>):
111111- No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED.
112112- </para>
113113- </listitem>
114114- <listitem>
115115- <para>
116116- <literal>1</literal> (or <literal>"Y"</literal>):
117117- Use crypt(3) function.
118118- </para>
119119- </listitem>
120120- <listitem>
121121- <para>
122122- <literal>2</literal> (or <literal>"mysql"</literal>):
123123- Use the MySQL PASSWORD() function. It is possible that the encryption function used
124124- by <literal>pam_mysql</literal> is different from that of the MySQL server, as
125125- <literal>pam_mysql</literal> uses the function defined in MySQL's C-client API
126126- instead of using PASSWORD() SQL function in the query.
127127- </para>
128128- </listitem>
129129- <listitem>
130130- <para>
131131- <literal>3</literal> (or <literal>"md5"</literal>):
132132- Use plain hex MD5.
133133- </para>
134134- </listitem>
135135- <listitem>
136136- <para>
137137- <literal>4</literal> (or <literal>"sha1"</literal>):
138138- Use plain hex SHA1.
139139- </para>
140140- </listitem>
141141- <listitem>
142142- <para>
143143- <literal>5</literal> (or <literal>"drupal7"</literal>):
144144- Use Drupal7 salted passwords.
145145- </para>
146146- </listitem>
147147- <listitem>
148148- <para>
149149- <literal>6</literal> (or <literal>"joomla15"</literal>):
150150- Use Joomla15 salted passwords.
151151- </para>
152152- </listitem>
153153- <listitem>
154154- <para>
155155- <literal>7</literal> (or <literal>"ssha"</literal>):
156156- Use ssha hashed passwords.
157157- </para>
158158- </listitem>
159159- <listitem>
160160- <para>
161161- <literal>8</literal> (or <literal>"sha512"</literal>):
162162- Use sha512 hashed passwords.
163163- </para>
164164- </listitem>
165165- <listitem>
166166- <para>
167167- <literal>9</literal> (or <literal>"sha256"</literal>):
168168- Use sha256 hashed passwords.
169169- </para>
170170- </listitem>
171171- </itemizedlist>
9797+ - `0` (or `"plain"`):
9898+ No encryption. Passwords are stored in plaintext. HIGHLY DISCOURAGED.
9999+ - `1` (or `"Y"`):
100100+ Use crypt(3) function.
101101+ - `2` (or `"mysql"`):
102102+ Use the MySQL PASSWORD() function. It is possible that the encryption function used
103103+ by `pam_mysql` is different from that of the MySQL server, as
104104+ `pam_mysql` uses the function defined in MySQL's C-client API
105105+ instead of using PASSWORD() SQL function in the query.
106106+ - `3` (or `"md5"`):
107107+ Use plain hex MD5.
108108+ - `4` (or `"sha1"`):
109109+ Use plain hex SHA1.
110110+ - `5` (or `"drupal7"`):
111111+ Use Drupal7 salted passwords.
112112+ - `6` (or `"joomla15"`):
113113+ Use Joomla15 salted passwords.
114114+ - `7` (or `"ssha"`):
115115+ Use ssha hashed passwords.
116116+ - `8` (or `"sha512"`):
117117+ Use sha512 hashed passwords.
118118+ - `9` (or `"sha256"`):
119119+ Use sha256 hashed passwords.
172120 '';
173121 };
174122 cryptDefault = mkOption {
+8-10
nixos/modules/i18n/input-method/default.nix
···3232 type = types.nullOr (types.enum [ "ibus" "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]);
3333 default = null;
3434 example = "fcitx";
3535- description = ''
3535+ description = lib.mdDoc ''
3636 Select the enabled input method. Input methods is a software to input symbols that are not available on standard input devices.
37373838 Input methods are specially used to input Chinese, Japanese and Korean characters.
39394040 Currently the following input methods are available in NixOS:
41414242- <itemizedlist>
4343- <listitem><para>ibus: The intelligent input bus, extra input engines can be added using <literal>i18n.inputMethod.ibus.engines</literal>.</para></listitem>
4444- <listitem><para>fcitx: A customizable lightweight input method, extra input engines can be added using <literal>i18n.inputMethod.fcitx.engines</literal>.</para></listitem>
4545- <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>
4646- <listitem><para>nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.</para></listitem>
4747- <listitem><para>uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.</para></listitem>
4848- <listitem><para>hime: An extremely easy-to-use input method framework.</para></listitem>
4949- <listitem><para>kime: Koream IME.</para></listitem>
5050- </itemizedlist>
4242+ - ibus: The intelligent input bus, extra input engines can be added using `i18n.inputMethod.ibus.engines`.
4343+ - fcitx: A customizable lightweight input method, extra input engines can be added using `i18n.inputMethod.fcitx.engines`.
4444+ - fcitx5: The next generation of fcitx, addons (including engines, dictionaries, skins) can be added using `i18n.inputMethod.fcitx5.addons`.
4545+ - nabi: A Korean input method based on XIM. Nabi doesn't support Qt 5.
4646+ - uim: The universal input method, is a library with a XIM bridge. uim mainly support Chinese, Japanese and Korean.
4747+ - hime: An extremely easy-to-use input method framework.
4848+ - kime: Koream IME.
5149 '';
5250 };
5351
+7-8
nixos/modules/misc/documentation.nix
···226226 nixos.enable = mkOption {
227227 type = types.bool;
228228 default = true;
229229- description = ''
229229+ description = lib.mdDoc ''
230230 Whether to install NixOS's own documentation.
231231- <itemizedlist>
232232- <listitem><para>This includes man pages like
233233- <citerefentry><refentrytitle>configuration.nix</refentrytitle><manvolnum>5</manvolnum></citerefentry> if <option>documentation.man.enable</option> is
234234- set.</para></listitem>
235235- <listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if
236236- <option>documentation.doc.enable</option> is set.</para></listitem>
237237- </itemizedlist>
231231+232232+ - This includes man pages like
233233+ {manpage}`configuration.nix(5)` if {option}`documentation.man.enable` is
234234+ set.
235235+ - This includes the HTML manual and the {command}`nixos-help` command if
236236+ {option}`documentation.doc.enable` is set.
238237 '';
239238 };
240239
···3939 enableWattsUpPro = mkOption {
4040 type = types.bool;
4141 default = false;
4242- description = ''
4242+ description = lib.mdDoc ''
4343 Enable the Watts Up Pro device.
44444545 The Watts Up Pro contains a generic FTDI USB device without a specific
···49495050 The generic FTDI device is known to also be used on:
51515252- <itemizedlist>
5353- <listitem><para>Sparkfun FT232 breakout board</para></listitem>
5454- <listitem><para>Parallax Propeller</para></listitem>
5555- </itemizedlist>
5252+ - Sparkfun FT232 breakout board
5353+ - Parallax Propeller
5654 '';
5755 };
5856
···6262 mode = mkOption {
6363 default = "default";
6464 type = types.enum [ "default" "reusable" "clustered" ];
6565- description = ''
6666- Rendering mode of <literal>grafana-image-renderer</literal>:
6767- <itemizedlist>
6868- <listitem><para><literal>default:</literal> Creates on browser-instance
6969- per rendering request.</para></listitem>
7070- <listitem><para><literal>reusable:</literal> One browser instance
7171- will be started and reused for each rendering request.</para></listitem>
7272- <listitem><para><literal>clustered:</literal> allows to precisely
6565+ description = lib.mdDoc ''
6666+ Rendering mode of `grafana-image-renderer`:
6767+6868+ - `default:` Creates on browser-instance
6969+ per rendering request.
7070+ - `reusable:` One browser instance
7171+ will be started and reused for each rendering request.
7272+ - `clustered:` allows to precisely
7373 configure how many browser-instances are supposed to be used. The values
7474- for that mode can be declared in <literal>rendering.clustering</literal>.
7575- </para></listitem>
7676- </itemizedlist>
7474+ for that mode can be declared in `rendering.clustering`.
7775 '';
7876 };
7977 args = mkOption {
+18-50
nixos/modules/services/networking/3proxy.nix
···5555 "udppm"
5656 ];
5757 example = "proxy";
5858- description = ''
5858+ description = lib.mdDoc ''
5959 Service type. The following values are valid:
60606161- <itemizedlist>
6262- <listitem><para>
6363- <literal>"proxy"</literal>: HTTP/HTTPS proxy (default port 3128).
6464- </para></listitem>
6565- <listitem><para>
6666- <literal>"socks"</literal>: SOCKS 4/4.5/5 proxy (default port 1080).
6767- </para></listitem>
6868- <listitem><para>
6969- <literal>"pop3p"</literal>: POP3 proxy (default port 110).
7070- </para></listitem>
7171- <listitem><para>
7272- <literal>"ftppr"</literal>: FTP proxy (default port 21).
7373- </para></listitem>
7474- <listitem><para>
7575- <literal>"admin"</literal>: Web interface (default port 80).
7676- </para></listitem>
7777- <listitem><para>
7878- <literal>"dnspr"</literal>: Caching DNS proxy (default port 53).
7979- </para></listitem>
8080- <listitem><para>
8181- <literal>"tcppm"</literal>: TCP portmapper.
8282- </para></listitem>
8383- <listitem><para>
8484- <literal>"udppm"</literal>: UDP portmapper.
8585- </para></listitem>
8686- </itemizedlist>
6161+ - `"proxy"`: HTTP/HTTPS proxy (default port 3128).
6262+ - `"socks"`: SOCKS 4/4.5/5 proxy (default port 1080).
6363+ - `"pop3p"`: POP3 proxy (default port 110).
6464+ - `"ftppr"`: FTP proxy (default port 21).
6565+ - `"admin"`: Web interface (default port 80).
6666+ - `"dnspr"`: Caching DNS proxy (default port 53).
6767+ - `"tcppm"`: TCP portmapper.
6868+ - `"udppm"`: UDP portmapper.
8769 '';
8870 };
8971 bindAddress = mkOption {
···11395 auth = mkOption {
11496 type = types.listOf (types.enum [ "none" "iponly" "strong" ]);
11597 example = [ "iponly" "strong" ];
116116- description = ''
9898+ description = lib.mdDoc ''
11799 Authentication type. The following values are valid:
118100119119- <itemizedlist>
120120- <listitem><para>
121121- <literal>"none"</literal>: disables both authentication and authorization. You can not use ACLs.
122122- </para></listitem>
123123- <listitem><para>
124124- <literal>"iponly"</literal>: specifies no authentication. ACLs authorization is used.
125125- </para></listitem>
126126- <listitem><para>
127127- <literal>"strong"</literal>: authentication by username/password. If user is not registered their access is denied regardless of ACLs.
128128- </para></listitem>
129129- </itemizedlist>
101101+ - `"none"`: disables both authentication and authorization. You can not use ACLs.
102102+ - `"iponly"`: specifies no authentication. ACLs authorization is used.
103103+ - `"strong"`: authentication by username/password. If user is not registered their access is denied regardless of ACLs.
130104131105 Double authentication is possible, e.g.
132106133133- <programlisting>
107107+ ```
134108 {
135109 auth = [ "iponly" "strong" ];
136110 acl = [
···144118 }
145119 ];
146120 }
147147- </programlisting>
121121+ ```
148122 In this example strong username authentication is not required to access 192.168.0.0/16.
149123 '';
150124 };
···154128 rule = mkOption {
155129 type = types.enum [ "allow" "deny" ];
156130 example = "allow";
157157- description = ''
131131+ description = lib.mdDoc ''
158132 ACL rule. The following values are valid:
159133160160- <itemizedlist>
161161- <listitem><para>
162162- <literal>"allow"</literal>: connections allowed.
163163- </para></listitem>
164164- <listitem><para>
165165- <literal>"deny"</literal>: connections not allowed.
166166- </para></listitem>
167167- </itemizedlist>
134134+ - `"allow"`: connections allowed.
135135+ - `"deny"`: connections not allowed.
168136 '';
169137 };
170138 users = mkOption {
+17-25
nixos/modules/services/networking/nsd.nix
···213213 example = [ "192.0.2.0/24 NOKEY" "10.0.0.1-10.0.0.5 my_tsig_key_name"
214214 "10.0.3.4&255.255.0.0 BLOCKED"
215215 ];
216216- description = ''
216216+ description = lib.mdDoc ''
217217 Listed primary servers are allowed to notify this secondary server.
218218219219- Format: <literal><ip> <key-name | NOKEY | BLOCKED></literal>
219219+ Format: `<ip> <key-name | NOKEY | BLOCKED>`
220220221221- <literal><ip></literal> either a plain IPv4/IPv6 address or range.
221221+ `<ip>` either a plain IPv4/IPv6 address or range.
222222 Valid patters for ranges:
223223- <itemizedlist>
224224- <listitem><para><literal>10.0.0.0/24</literal>: via subnet size</para></listitem>
225225- <listitem><para><literal>10.0.0.0&255.255.255.0</literal>: via subnet mask</para></listitem>
226226- <listitem><para><literal>10.0.0.1-10.0.0.254</literal>: via range</para></listitem>
227227- </itemizedlist>
223223+ * `10.0.0.0/24`: via subnet size
224224+ * `10.0.0.0&255.255.255.0`: via subnet mask
225225+ * `10.0.0.1-10.0.0.254`: via range
228226229227 A optional port number could be added with a '@':
230230- <itemizedlist>
231231- <listitem><para><literal>2001:1234::1@1234</literal></para></listitem>
232232- </itemizedlist>
228228+ * `2001:1234::1@1234`
233229234234- <literal><key-name | NOKEY | BLOCKED></literal>
235235- <itemizedlist>
236236- <listitem><para><literal><key-name></literal> will use the specified TSIG key</para></listitem>
237237- <listitem><para><literal>NOKEY</literal> no TSIG signature is required</para></listitem>
238238- <listitem><para><literal>BLOCKED</literal>notifies from non-listed or blocked IPs will be ignored</para></listitem>
239239- </itemizedlist>
230230+ `<key-name | NOKEY | BLOCKED>`
231231+ * `<key-name>` will use the specified TSIG key
232232+ * `NOKEY` no TSIG signature is required
233233+ * `BLOCKED`notifies from non-listed or blocked IPs will be ignored
240234 '';
241235 };
242236···350344 type = types.listOf types.str;
351345 default = [];
352346 example = [ "10.0.0.1@3721 my_key" "::5 NOKEY" ];
353353- description = ''
347347+ description = lib.mdDoc ''
354348 This primary server will notify all given secondary servers about
355349 zone changes.
356350357357- Format: <literal><ip> <key-name | NOKEY></literal>
351351+ Format: `<ip> <key-name | NOKEY>`
358352359359- <literal><ip></literal> a plain IPv4/IPv6 address with on optional port number (ip@port)
353353+ `<ip>` a plain IPv4/IPv6 address with on optional port number (ip@port)
360354361361- <literal><key-name | NOKEY></literal>
362362- <itemizedlist>
363363- <listitem><para><literal><key-name></literal> sign notifies with the specified key</para></listitem>
364364- <listitem><para><literal>NOKEY</literal> don't sign notifies</para></listitem>
365365- </itemizedlist>
355355+ `<key-name | NOKEY>`
356356+ - `<key-name>` sign notifies with the specified key
357357+ - `NOKEY` don't sign notifies
366358 '';
367359 };
368360
···533533 The nextcloud-occ program preconfigured to target this Nextcloud instance.
534534 '';
535535 };
536536- globalProfiles = mkEnableOption "global profiles" // {
537537- description = ''
538538- Makes user-profiles globally available under <literal>nextcloud.tld/u/user.name</literal>.
536536+ globalProfiles = mkEnableOption (lib.mdDoc "global profiles") // {
537537+ description = lib.mdDoc ''
538538+ Makes user-profiles globally available under `nextcloud.tld/u/user.name`.
539539 Even though it's enabled by default in Nextcloud, it must be explicitly enabled
540540 here because it has the side-effect that personal information is even accessible to
541541 unauthenticated users by default.
542542543543 By default, the following properties are set to “Show to everyone”
544544 if this flag is enabled:
545545- <itemizedlist>
546546- <listitem><para>About</para></listitem>
547547- <listitem><para>Full name</para></listitem>
548548- <listitem><para>Headline</para></listitem>
549549- <listitem><para>Organisation</para></listitem>
550550- <listitem><para>Profile picture</para></listitem>
551551- <listitem><para>Role</para></listitem>
552552- <listitem><para>Twitter</para></listitem>
553553- <listitem><para>Website</para></listitem>
554554- </itemizedlist>
545545+ - About
546546+ - Full name
547547+ - Headline
548548+ - Organisation
549549+ - Profile picture
550550+ - Role
551551+ - Twitter
552552+ - Website
555553556554 Only has an effect in Nextcloud 23 and later.
557555 '';
+7-9
nixos/modules/services/web-apps/wiki-js.nix
···9393 };
9494 };
9595 };
9696- description = ''
9797- Settings to configure <literal>wiki-js</literal>. This directly
9898- corresponds to <link xlink:href="https://docs.requarks.io/install/config">the upstream configuration options</link>.
9696+ description = lib.mdDoc ''
9797+ Settings to configure `wiki-js`. This directly
9898+ corresponds to [the upstream configuration options](https://docs.requarks.io/install/config).
9999100100 Secrets can be injected via the environment by
101101- <itemizedlist>
102102- <listitem><para>specifying <xref linkend="opt-services.wiki-js.environmentFile"/>
103103- to contain secrets</para></listitem>
104104- <listitem><para>and setting sensitive values to <literal>$(ENVIRONMENT_VAR)</literal>
105105- with this value defined in the environment-file.</para></listitem>
106106- </itemizedlist>
101101+ - specifying [](#opt-services.wiki-js.environmentFile)
102102+ to contain secrets
103103+ - and setting sensitive values to `$(ENVIRONMENT_VAR)`
104104+ with this value defined in the environment-file.
107105 '';
108106 };
109107 };
···499499 config = mkOption {
500500 type = types.str;
501501 default = "";
502502- description = ''
503503- Verbatim <filename>nginx.conf</filename> configuration.
502502+ description = lib.mdDoc ''
503503+ Verbatim {file}`nginx.conf` configuration.
504504 This is mutually exclusive to any other config option for
505505- <filename>nginx.conf</filename> except for
506506- <itemizedlist>
507507- <listitem><para><xref linkend="opt-services.nginx.appendConfig"/>
508508- </para></listitem>
509509- <listitem><para><xref linkend="opt-services.nginx.httpConfig"/>
510510- </para></listitem>
511511- <listitem><para><xref linkend="opt-services.nginx.logError"/>
512512- </para></listitem>
513513- </itemizedlist>
505505+ {file}`nginx.conf` except for
506506+ - [](#opt-services.nginx.appendConfig)
507507+ - [](#opt-services.nginx.httpConfig)
508508+ - [](#opt-services.nginx.logError)
514509515510 If additional verbatim config in addition to other options is needed,
516516- <xref linkend="opt-services.nginx.appendConfig"/> should be used instead.
511511+ [](#opt-services.nginx.appendConfig) should be used instead.
517512 '';
518513 };
519514
+16-18
nixos/modules/system/boot/loader/grub/grub.nix
···622622 efiInstallAsRemovable = mkOption {
623623 default = false;
624624 type = types.bool;
625625- description = ''
626626- Whether to invoke <literal>grub-install</literal> with
627627- <literal>--removable</literal>.
625625+ description = lib.mdDoc ''
626626+ Whether to invoke `grub-install` with
627627+ `--removable`.
628628629629 Unless you turn this on, GRUB will install itself somewhere in
630630- <literal>boot.loader.efi.efiSysMountPoint</literal> (exactly where
630630+ `boot.loader.efi.efiSysMountPoint` (exactly where
631631 depends on other config variables). If you've set
632632- <literal>boot.loader.efi.canTouchEfiVariables</literal> *AND* you
632632+ `boot.loader.efi.canTouchEfiVariables` *AND* you
633633 are currently booted in UEFI mode, then GRUB will use
634634- <literal>efibootmgr</literal> to modify the boot order in the
634634+ `efibootmgr` to modify the boot order in the
635635 EFI variables of your firmware to include this location. If you are
636636 *not* booted in UEFI mode at the time GRUB is being installed, the
637637 NVRAM will not be modified, and your system will not find GRUB at
638638 boot time. However, GRUB will still return success so you may miss
639639- the warning that gets printed ("<literal>efibootmgr: EFI variables
640640- are not supported on this system.</literal>").
639639+ the warning that gets printed ("`efibootmgr: EFI variables
640640+ are not supported on this system.`").
641641642642 If you turn this feature on, GRUB will install itself in a
643643- special location within <literal>efiSysMountPoint</literal> (namely
644644- <literal>EFI/boot/boot$arch.efi</literal>) which the firmwares
643643+ special location within `efiSysMountPoint` (namely
644644+ `EFI/boot/boot$arch.efi`) which the firmwares
645645 are hardcoded to try first, regardless of NVRAM EFI variables.
646646647647 To summarize, turn this on if:
648648- <itemizedlist>
649649- <listitem><para>You are installing NixOS and want it to boot in UEFI mode,
650650- but you are currently booted in legacy mode</para></listitem>
651651- <listitem><para>You want to make a drive that will boot regardless of
652652- the NVRAM state of the computer (like a USB "removable" drive)</para></listitem>
653653- <listitem><para>You simply dislike the idea of depending on NVRAM
654654- state to make your drive bootable</para></listitem>
655655- </itemizedlist>
648648+ - You are installing NixOS and want it to boot in UEFI mode,
649649+ but you are currently booted in legacy mode
650650+ - You want to make a drive that will boot regardless of
651651+ the NVRAM state of the computer (like a USB "removable" drive)
652652+ - You simply dislike the idea of depending on NVRAM
653653+ state to make your drive bootable
656654 '';
657655 };
658656
+13-29
nixos/modules/system/boot/loader/grub/memtest.nix
···3131 default = [];
3232 example = [ "console=ttyS0,115200" ];
3333 type = types.listOf types.str;
3434- description = ''
3434+ description = lib.mdDoc ''
3535 Parameters added to the Memtest86+ command line. As of memtest86+ 5.01
3636 the following list of (apparently undocumented) parameters are
3737 accepted:
38383939- <itemizedlist>
4040-4141- <listitem>
4242- <para><literal>console=...</literal>, set up a serial console.
3939+ - `console=...`, set up a serial console.
4340 Examples:
4444- <literal>console=ttyS0</literal>,
4545- <literal>console=ttyS0,9600</literal> or
4646- <literal>console=ttyS0,115200n8</literal>.</para>
4747- </listitem>
4141+ `console=ttyS0`,
4242+ `console=ttyS0,9600` or
4343+ `console=ttyS0,115200n8`.
48444949- <listitem>
5050- <para><literal>btrace</literal>, enable boot trace.</para>
5151- </listitem>
5252-5353- <listitem>
5454- <para><literal>maxcpus=N</literal>, limit number of CPUs.</para>
5555- </listitem>
4545+ - `btrace`, enable boot trace.
56465757- <listitem>
5858- <para><literal>onepass</literal>, run one pass and exit if there
5959- are no errors.</para>
6060- </listitem>
4747+ - `maxcpus=N`, limit number of CPUs.
61486262- <listitem>
6363- <para><literal>tstlist=...</literal>, list of tests to run.
6464- Example: <literal>0,1,2</literal>.</para>
6565- </listitem>
4949+ - `onepass`, run one pass and exit if there
5050+ are no errors.
66516767- <listitem>
6868- <para><literal>cpumask=...</literal>, set a CPU mask, to select CPUs
6969- to use for testing.</para>
7070- </listitem>
5252+ - `tstlist=...`, list of tests to run.
5353+ Example: `0,1,2`.
71547272- </itemizedlist>
5555+ - `cpumask=...`, set a CPU mask, to select CPUs
5656+ to use for testing.
73577458 This list of command line options was obtained by reading the
7559 Memtest86+ source code.
···104104105105 type = types.enum [ "0" "1" "2" "auto" "max" "keep" ];
106106107107- description = ''
107107+ description = lib.mdDoc ''
108108 The resolution of the console. The following values are valid:
109109110110- <itemizedlist>
111111- <listitem><para>
112112- <literal>"0"</literal>: Standard UEFI 80x25 mode
113113- </para></listitem>
114114- <listitem><para>
115115- <literal>"1"</literal>: 80x50 mode, not supported by all devices
116116- </para></listitem>
117117- <listitem><para>
118118- <literal>"2"</literal>: The first non-standard mode provided by the device firmware, if any
119119- </para></listitem>
120120- <listitem><para>
121121- <literal>"auto"</literal>: Pick a suitable mode automatically using heuristics
122122- </para></listitem>
123123- <listitem><para>
124124- <literal>"max"</literal>: Pick the highest-numbered available mode
125125- </para></listitem>
126126- <listitem><para>
127127- <literal>"keep"</literal>: Keep the mode selected by firmware (the default)
128128- </para></listitem>
129129- </itemizedlist>
110110+ - `"0"`: Standard UEFI 80x25 mode
111111+ - `"1"`: 80x50 mode, not supported by all devices
112112+ - `"2"`: The first non-standard mode provided by the device firmware, if any
113113+ - `"auto"`: Pick a suitable mode automatically using heuristics
114114+ - `"max"`: Pick the highest-numbered available mode
115115+ - `"keep"`: Keep the mode selected by firmware (the default)
130116 '';
131117 };
132118
+7-11
nixos/modules/system/boot/stage-1.nix
···613613 );
614614 defaultText = literalMD "`zstd` if the kernel supports it (5.9+), `gzip` if not";
615615 type = types.either types.str (types.functionTo types.str);
616616- description = ''
616616+ description = lib.mdDoc ''
617617 The compressor to use on the initrd image. May be any of:
618618619619- <itemizedlist>
620620- <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>
621621- <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>
622622- <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>
623623- </itemizedlist>
619619+ - The name of one of the predefined compressors, see {file}`pkgs/build-support/kernel/initrd-compressor-meta.nix` for the definitions.
620620+ - A function which, given the nixpkgs package set, returns the path to a compressor tool, e.g. `pkgs: "''${pkgs.pigz}/bin/pigz"`
621621+ - (not recommended, because it does not work when cross-compiling) the full path to a compressor tool, e.g. `"''${pkgs.pigz}/bin/pigz"`
624622625623 The given program should read data from stdin and write it to stdout compressed.
626624 '';
···662660 default = true;
663661 type = types.bool;
664662 description =
665665- ''
663663+ lib.mdDoc ''
666664 Verbosity of the initrd. Please note that disabling verbosity removes
667665 only the mandatory messages generated by the NixOS scripts. For a
668666 completely silent boot, you might also want to set the two following
669667 configuration options:
670668671671- <itemizedlist>
672672- <listitem><para><literal>boot.consoleLogLevel = 0;</literal></para></listitem>
673673- <listitem><para><literal>boot.kernelParams = [ "quiet" "udev.log_level=3" ];</literal></para></listitem>
674674- </itemizedlist>
669669+ - `boot.consoleLogLevel = 0;`
670670+ - `boot.kernelParams = [ "quiet" "udev.log_level=3" ];`
675671 '';
676672 };
677673