Merge pull request #183491 from pennae/automatic-md-conversions

treewide: automatically md-convert option descriptions
This commit is contained in:
pennae 2022-08-02 02:15:30 +02:00 committed by GitHub
commit 6b13dd0e9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
1052 changed files with 9634 additions and 9621 deletions

View file

@ -99,6 +99,14 @@ let
optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList);
pythonMD =
let
self = (pkgs.python3Minimal.override {
inherit self;
includeSiteCustomize = true;
});
in self.withPackages (p: [ p.mistune_2_0 ]);
in rec {
inherit optionsNix;
@ -116,17 +124,20 @@ in rec {
optionsJSON = pkgs.runCommand "options.json"
{ meta.description = "List of NixOS options in JSON format";
buildInputs = [
pkgs.brotli
(let
self = (pkgs.python3Minimal.override {
inherit self;
includeSiteCustomize = true;
});
in self.withPackages (p: [ p.mistune_2_0 ]))
];
buildInputs = [ pkgs.brotli pythonMD ];
options = builtins.toFile "options.json"
(builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
# convert markdown to docbook in its own derivation to cache the
# conversion results. the conversion is surprisingly expensive.
baseJSON =
if baseOptionsJSON != null
then
pkgs.runCommand "base-json-md-converted" {
buildInputs = [ pythonMD ];
} ''
python ${./mergeJSON.py} ${baseOptionsJSON} <(echo '{}') > $out
''
else null;
}
''
# Export list of options in different format.
@ -143,7 +154,7 @@ in rec {
else ''
python ${./mergeJSON.py} \
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
${baseOptionsJSON} $options \
$baseJSON $options \
> $dst/options.json
''
}

View file

@ -53,12 +53,14 @@ def convertMD(options: Dict[str, Any]) -> str:
'.note': 'note'
}
class Renderer(mistune.renderers.BaseRenderer):
def __init__(self, path):
self.path = path
def _get_method(self, name):
try:
return super(Renderer, self)._get_method(name)
except AttributeError:
def not_supported(*args, **kwargs):
raise NotImplementedError("md node not supported yet", name, args, **kwargs)
raise NotImplementedError("md node not supported yet", self.path, name, args, **kwargs)
return not_supported
def text(self, text):
@ -166,8 +168,8 @@ def convertMD(options: Dict[str, Any]) -> str:
md.block.rules.append('admonition')
plugins.append(admonition)
def convertString(text: str) -> str:
rendered = mistune.markdown(text, renderer=Renderer(), plugins=plugins)
def convertString(path: str, text: str) -> str:
rendered = mistune.markdown(text, renderer=Renderer(path), plugins=plugins)
# keep trailing spaces so we can diff the generated XML to check for conversion bugs.
return rendered.rstrip() + text[len(text.rstrip()):]
@ -179,12 +181,12 @@ def convertMD(options: Dict[str, Any]) -> str:
for (name, option) in options.items():
if optionIs(option, 'description', 'mdDoc'):
option['description'] = convertString(option['description']['text'])
option['description'] = convertString(name, option['description']['text'])
if optionIs(option, 'example', 'literalMD'):
docbook = convertString(option['example']['text'])
docbook = convertString(name, option['example']['text'])
option['example'] = { '_type': 'literalDocBook', 'text': docbook }
if optionIs(option, 'default', 'literalMD'):
docbook = convertString(option['default']['text'])
docbook = convertString(name, option['default']['text'])
option['default'] = { '_type': 'literalDocBook', 'text': docbook }
return options

View file

@ -58,7 +58,7 @@ in
type = with types; either str path;
default = "us";
example = "fr";
description = ''
description = lib.mdDoc ''
The keyboard mapping table for the virtual consoles.
'';
};
@ -72,7 +72,7 @@ in
"002b36" "cb4b16" "586e75" "657b83"
"839496" "6c71c4" "93a1a1" "fdf6e3"
];
description = ''
description = lib.mdDoc ''
The 16 colors palette used by the virtual consoles.
Leave empty to use the default colors.
Colors must be in hexadecimal format and listed in
@ -84,7 +84,7 @@ in
packages = mkOption {
type = types.listOf types.package;
default = [ ];
description = ''
description = lib.mdDoc ''
List of additional packages that provide console fonts, keymaps and
other resources for virtual consoles use.
'';
@ -93,7 +93,7 @@ in
useXkbConfig = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If set, configure the virtual console keymap from the xserver
keyboard settings.
'';
@ -102,7 +102,7 @@ in
earlySetup = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Enable setting virtual console options as early as possible (in initrd).
'';
};

View file

@ -246,7 +246,7 @@ in
enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
If enabled, a Fontconfig configuration file will be built
pointing to a set of default fonts. If you don't care about
running X11 applications or any other program that uses
@ -267,7 +267,7 @@ in
antialias = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Enable font antialiasing. At high resolution (> 200 DPI),
antialiasing has no visible effect; users of such displays may want
to disable this option.
@ -277,9 +277,9 @@ in
localConf = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
System-wide customization file contents, has higher priority than
<literal>defaultFonts</literal> settings.
`defaultFonts` settings.
'';
};
@ -287,7 +287,7 @@ in
monospace = mkOption {
type = types.listOf types.str;
default = ["DejaVu Sans Mono"];
description = ''
description = lib.mdDoc ''
System-wide default monospace font(s). Multiple fonts may be
listed in case multiple languages must be supported.
'';
@ -296,7 +296,7 @@ in
sansSerif = mkOption {
type = types.listOf types.str;
default = ["DejaVu Sans"];
description = ''
description = lib.mdDoc ''
System-wide default sans serif font(s). Multiple fonts may be
listed in case multiple languages must be supported.
'';
@ -305,7 +305,7 @@ in
serif = mkOption {
type = types.listOf types.str;
default = ["DejaVu Serif"];
description = ''
description = lib.mdDoc ''
System-wide default serif font(s). Multiple fonts may be listed
in case multiple languages must be supported.
'';
@ -314,7 +314,7 @@ in
emoji = mkOption {
type = types.listOf types.str;
default = ["Noto Color Emoji"];
description = ''
description = lib.mdDoc ''
System-wide default emoji font(s). Multiple fonts may be listed
in case a font does not support all emoji.
@ -331,7 +331,7 @@ in
enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Enable font hinting. Hinting aligns glyphs to pixel boundaries to
improve rendering sharpness at low resolution. At high resolution
(> 200 dpi) hinting will do nothing (at best); users of such
@ -342,7 +342,7 @@ in
autohint = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable the autohinter in place of the default interpreter.
The results are usually lower quality than correctly-hinted
fonts, but better than unhinted fonts.
@ -352,7 +352,7 @@ in
style = mkOption {
type = types.enum [ "hintnone" "hintslight" "hintmedium" "hintfull" ];
default = "hintslight";
description = ''
description = lib.mdDoc ''
Hintstyle is the amount of font reshaping done to line up
to the grid.
@ -367,10 +367,10 @@ in
includeUserConf = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Include the user configuration from
<filename>~/.config/fontconfig/fonts.conf</filename> or
<filename>~/.config/fontconfig/conf.d</filename>.
{file}`~/.config/fontconfig/fonts.conf` or
{file}`~/.config/fontconfig/conf.d`.
'';
};
@ -379,26 +379,26 @@ in
rgba = mkOption {
default = "rgb";
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
description = ''
description = lib.mdDoc ''
Subpixel order. The overwhelming majority of displays are
<literal>rgb</literal> in their normal orientation. Select
<literal>vrgb</literal> for mounting such a display 90 degrees
clockwise from its normal orientation or <literal>vbgr</literal>
`rgb` in their normal orientation. Select
`vrgb` for mounting such a display 90 degrees
clockwise from its normal orientation or `vbgr`
for mounting 90 degrees counter-clockwise. Select
<literal>bgr</literal> in the unlikely event of mounting 180
`bgr` in the unlikely event of mounting 180
degrees from the normal orientation. Reverse these directions in
the improbable event that the display's native subpixel order is
<literal>bgr</literal>.
`bgr`.
'';
};
lcdfilter = mkOption {
default = "default";
type = types.enum ["none" "default" "light" "legacy"];
description = ''
description = lib.mdDoc ''
FreeType LCD filter. At high resolution (> 200 DPI), LCD filtering
has no visible effect; users of such displays may want to select
<literal>none</literal>.
`none`.
'';
};
@ -407,7 +407,7 @@ in
cache32Bit = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Generate system fonts cache for 32-bit applications.
'';
};
@ -415,8 +415,8 @@ in
allowBitmaps = mkOption {
type = types.bool;
default = true;
description = ''
Allow bitmap fonts. Set to <literal>false</literal> to ban all
description = lib.mdDoc ''
Allow bitmap fonts. Set to `false` to ban all
bitmap fonts.
'';
};
@ -424,8 +424,8 @@ in
allowType1 = mkOption {
type = types.bool;
default = false;
description = ''
Allow Type-1 fonts. Default is <literal>false</literal> because of
description = lib.mdDoc ''
Allow Type-1 fonts. Default is `false` because of
poor rendering.
'';
};
@ -433,7 +433,7 @@ in
useEmbeddedBitmaps = mkOption {
type = types.bool;
default = false;
description = "Use embedded bitmaps in fonts like Calibri.";
description = lib.mdDoc "Use embedded bitmaps in fonts like Calibri.";
};
};

View file

@ -57,13 +57,13 @@ in
type = types.listOf types.path;
default = [];
example = literalExpression "[ pkgs.dejavu_fonts ]";
description = "List of primary font paths.";
description = lib.mdDoc "List of primary font paths.";
};
enableDefaultFonts = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable a basic set of fonts providing several font styles
and families and reasonable coverage of Unicode.
'';

View file

@ -11,7 +11,7 @@ with lib;
enableGhostscriptFonts = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to add the fonts provided by Ghostscript (such as
various URW fonts and the Base-14 Postscript fonts) to the
list of system fonts, making them available to X11

View file

@ -5,7 +5,7 @@
gnu = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
description = lib.mdDoc ''
When enabled, GNU software is chosen by default whenever a there is
a choice between GNU and non-GNU software (e.g., GNU lsh
vs. OpenSSH).

View file

@ -7,7 +7,7 @@ with lib;
type = types.bool;
default = config.services.xserver.enable;
defaultText = literalExpression "config.services.xserver.enable";
description = ''
description = lib.mdDoc ''
Whether to build icon theme caches for GTK applications.
'';
};

View file

@ -21,7 +21,7 @@ with lib;
}
'';
example = literalExpression "pkgs.glibcLocales";
description = ''
description = lib.mdDoc ''
Customized pkg.glibcLocales package.
Changing this option can disable handling of i18n.defaultLocale
@ -33,7 +33,7 @@ with lib;
type = types.str;
default = "en_US.UTF-8";
example = "nl_NL.UTF-8";
description = ''
description = lib.mdDoc ''
The default locale. It determines the language for program
messages, the format for dates and times, sort order, and so on.
It also determines the character set, such as UTF-8.
@ -44,10 +44,10 @@ with lib;
type = types.attrsOf types.str;
default = {};
example = { LC_MESSAGES = "en_US.UTF-8"; LC_TIME = "de_DE.UTF-8"; };
description = ''
description = lib.mdDoc ''
A set of additional system-wide locale settings other than
<literal>LANG</literal> which can be configured with
<option>i18n.defaultLocale</option>.
`LANG` which can be configured with
{option}`i18n.defaultLocale`.
'';
};

View file

@ -11,7 +11,7 @@ in
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
Verbatim lines to add to /etc/iproute2/rt_tables
'';
};

View file

@ -85,9 +85,9 @@ in {
default = pkgs.krb5Full;
defaultText = literalExpression "pkgs.krb5Full";
example = literalExpression "pkgs.heimdal";
description = ''
description = lib.mdDoc ''
The Kerberos implementation that will be present in
<literal>environment.systemPackages</literal> after enabling this
`environment.systemPackages` after enabling this
service.
'';
};
@ -101,7 +101,7 @@ in {
default_realm = "ATHENA.MIT.EDU";
};
'';
description = ''
description = lib.mdDoc ''
Settings used by the Kerberos V5 library.
'';
};
@ -121,7 +121,7 @@ in {
};
'';
apply = attrs: filterEmbeddedMetadata attrs;
description = "Realm-specific contact information and settings.";
description = lib.mdDoc "Realm-specific contact information and settings.";
};
domain_realm = mkOption {
@ -134,7 +134,7 @@ in {
};
'';
apply = attrs: filterEmbeddedMetadata attrs;
description = ''
description = lib.mdDoc ''
Map of server hostnames to Kerberos realms.
'';
};
@ -153,7 +153,7 @@ in {
};
'';
apply = attrs: filterEmbeddedMetadata attrs;
description = ''
description = lib.mdDoc ''
Authentication paths for non-hierarchical cross-realm authentication.
'';
};
@ -174,7 +174,7 @@ in {
};
'';
apply = attrs: filterEmbeddedMetadata attrs;
description = ''
description = lib.mdDoc ''
Settings used by some Kerberos V5 applications.
'';
};
@ -190,7 +190,7 @@ in {
};
'';
apply = attrs: filterEmbeddedMetadata attrs;
description = ''
description = lib.mdDoc ''
Controls plugin module registration.
'';
};
@ -235,14 +235,14 @@ in {
admin_server = SYSLOG:NOTICE
default = SYSLOG:NOTICE
'';
description = ''
Verbatim <literal>krb5.conf</literal> configuration. Note that this
description = lib.mdDoc ''
Verbatim `krb5.conf` configuration. Note that this
is mutually exclusive with configuration via
<literal>libdefaults</literal>, <literal>realms</literal>,
<literal>domain_realm</literal>, <literal>capaths</literal>,
<literal>appdefaults</literal>, <literal>plugins</literal> and
<literal>extraConfig</literal> configuration options. Consult
<literal>man krb5.conf</literal> for documentation.
`libdefaults`, `realms`,
`domain_realm`, `capaths`,
`appdefaults`, `plugins` and
`extraConfig` configuration options. Consult
`man krb5.conf` for documentation.
'';
};
@ -250,9 +250,9 @@ in {
type = with types; nullOr str;
default = null;
example = "ATHENA.MIT.EDU";
description = ''
description = lib.mdDoc ''
DEPRECATED, please use
<literal>krb5.libdefaults.default_realm</literal>.
`krb5.libdefaults.default_realm`.
'';
};
@ -260,9 +260,9 @@ in {
type = with types; nullOr str;
default = null;
example = "athena.mit.edu";
description = ''
description = lib.mdDoc ''
DEPRECATED, please create a map of server hostnames to Kerberos realms
in <literal>krb5.domain_realm</literal>.
in `krb5.domain_realm`.
'';
};
@ -270,9 +270,9 @@ in {
type = with types; nullOr str;
default = null;
example = "kerberos.mit.edu";
description = ''
DEPRECATED, please pass a <literal>kdc</literal> attribute to a realm
in <literal>krb5.realms</literal>.
description = lib.mdDoc ''
DEPRECATED, please pass a `kdc` attribute to a realm
in `krb5.realms`.
'';
};
@ -280,9 +280,9 @@ in {
type = with types; nullOr str;
default = null;
example = "kerberos.mit.edu";
description = ''
DEPRECATED, please pass an <literal>admin_server</literal> attribute
to a realm in <literal>krb5.realms</literal>.
description = lib.mdDoc ''
DEPRECATED, please pass an `admin_server` attribute
to a realm in `krb5.realms`.
'';
};
};

View file

@ -64,34 +64,34 @@ in
loginPam = mkOption {
type = types.bool;
default = true;
description = "Whether to include authentication against LDAP in login PAM.";
description = lib.mdDoc "Whether to include authentication against LDAP in login PAM.";
};
nsswitch = mkOption {
type = types.bool;
default = true;
description = "Whether to include lookup against LDAP in NSS.";
description = lib.mdDoc "Whether to include lookup against LDAP in NSS.";
};
server = mkOption {
type = types.str;
example = "ldap://ldap.example.org/";
description = "The URL of the LDAP server.";
description = lib.mdDoc "The URL of the LDAP server.";
};
base = mkOption {
type = types.str;
example = "dc=example,dc=org";
description = "The distinguished name of the search base.";
description = lib.mdDoc "The distinguished name of the search base.";
};
useTLS = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If enabled, use TLS (encryption) over an LDAP (port 389)
connection. The alternative is to specify an LDAPS server (port
636) in <option>users.ldap.server</option> or to forego
636) in {option}`users.ldap.server` or to forego
security.
'';
};
@ -99,7 +99,7 @@ in
timeLimit = mkOption {
default = 0;
type = types.int;
description = ''
description = lib.mdDoc ''
Specifies the time limit (in seconds) to use when performing
searches. A value of zero (0), which is the default, is to
wait indefinitely for searches to be completed.
@ -110,7 +110,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to let the nslcd daemon (nss-pam-ldapd) handle the
LDAP lookups for NSS and PAM. This can improve performance,
and if you need to bind to the LDAP server with a password,
@ -125,9 +125,9 @@ in
extraConfig = mkOption {
default = "";
type = types.lines;
description = ''
description = lib.mdDoc ''
Extra configuration options that will be added verbatim at
the end of the nslcd configuration file (<literal>nslcd.conf(5)</literal>).
the end of the nslcd configuration file (`nslcd.conf(5)`).
'' ;
} ;
@ -135,7 +135,7 @@ in
default = "";
example = "cn=admin,dc=example,dc=com";
type = types.str;
description = ''
description = lib.mdDoc ''
The distinguished name to use to bind to the LDAP server
when the root user tries to modify a user's password.
'';
@ -145,7 +145,7 @@ in
default = "";
example = "/run/keys/nslcd.rootpwmodpw";
type = types.str;
description = ''
description = lib.mdDoc ''
The path to a file containing the credentials with which to bind to
the LDAP server if the root user tries to change a user's password.
'';
@ -157,7 +157,7 @@ in
default = "";
example = "cn=admin,dc=example,dc=com";
type = types.str;
description = ''
description = lib.mdDoc ''
The distinguished name to bind to the LDAP server with. If this
is not specified, an anonymous bind will be done.
'';
@ -166,7 +166,7 @@ in
passwordFile = mkOption {
default = "/etc/ldap/bind.password";
type = types.str;
description = ''
description = lib.mdDoc ''
The path to a file containing the credentials to use when binding
to the LDAP server (if not binding anonymously).
'';
@ -175,10 +175,10 @@ in
timeLimit = mkOption {
default = 30;
type = types.int;
description = ''
description = lib.mdDoc ''
Specifies the time limit (in seconds) to use when connecting
to the directory server. This is distinct from the time limit
specified in <option>users.ldap.timeLimit</option> and affects
specified in {option}`users.ldap.timeLimit` and affects
the initial server connection only.
'';
};
@ -205,12 +205,12 @@ in
extraConfig = mkOption {
default = "";
type = types.lines;
description = ''
description = lib.mdDoc ''
Extra configuration options that will be added verbatim at
the end of the ldap configuration file (<literal>ldap.conf(5)</literal>).
If <option>users.ldap.daemon</option> is enabled, this
the end of the ldap configuration file (`ldap.conf(5)`).
If {option}`users.ldap.daemon` is enabled, this
configuration will not be used. In that case, use
<option>users.ldap.daemon.extraConfig</option> instead.
{option}`users.ldap.daemon.extraConfig` instead.
'' ;
};

View file

@ -28,7 +28,7 @@ in
"192.168.0.2" = [ "fileserver.local" "nameserver.local" ];
};
'';
description = ''
description = lib.mdDoc ''
Locally defined maps of hostnames to IP addresses.
'';
};
@ -37,8 +37,8 @@ in
type = types.listOf types.path;
defaultText = literalDocBook "Hosts from <option>networking.hosts</option> and <option>networking.extraHosts</option>";
example = literalExpression ''[ "''${pkgs.my-blocklist-package}/share/my-blocklist/hosts" ]'';
description = ''
Files that should be concatenated together to form <filename>/etc/hosts</filename>.
description = lib.mdDoc ''
Files that should be concatenated together to form {file}`/etc/hosts`.
'';
};
@ -46,9 +46,9 @@ in
type = types.lines;
default = "";
example = "192.168.0.1 lanlocalhost";
description = ''
Additional verbatim entries to be appended to <filename>/etc/hosts</filename>.
For adding hosts from derivation results, use <option>networking.hostFiles</option> instead.
description = lib.mdDoc ''
Additional verbatim entries to be appended to {file}`/etc/hosts`.
For adding hosts from derivation results, use {option}`networking.hostFiles` instead.
'';
};
@ -60,7 +60,7 @@ in
"3.nixos.pool.ntp.org"
];
type = types.listOf types.str;
description = ''
description = lib.mdDoc ''
The set of NTP servers from which to synchronise.
'';
};
@ -70,7 +70,7 @@ in
default = lib.mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
This option specifies the default value for httpProxy, httpsProxy, ftpProxy and rsyncProxy.
'';
example = "http://127.0.0.1:3128";
@ -80,7 +80,7 @@ in
type = types.nullOr types.str;
default = cfg.proxy.default;
defaultText = literalExpression "config.${opt.proxy.default}";
description = ''
description = lib.mdDoc ''
This option specifies the http_proxy environment variable.
'';
example = "http://127.0.0.1:3128";
@ -90,7 +90,7 @@ in
type = types.nullOr types.str;
default = cfg.proxy.default;
defaultText = literalExpression "config.${opt.proxy.default}";
description = ''
description = lib.mdDoc ''
This option specifies the https_proxy environment variable.
'';
example = "http://127.0.0.1:3128";
@ -100,7 +100,7 @@ in
type = types.nullOr types.str;
default = cfg.proxy.default;
defaultText = literalExpression "config.${opt.proxy.default}";
description = ''
description = lib.mdDoc ''
This option specifies the ftp_proxy environment variable.
'';
example = "http://127.0.0.1:3128";
@ -110,7 +110,7 @@ in
type = types.nullOr types.str;
default = cfg.proxy.default;
defaultText = literalExpression "config.${opt.proxy.default}";
description = ''
description = lib.mdDoc ''
This option specifies the rsync_proxy environment variable.
'';
example = "http://127.0.0.1:3128";
@ -120,7 +120,7 @@ in
type = types.nullOr types.str;
default = cfg.proxy.default;
defaultText = literalExpression "config.${opt.proxy.default}";
description = ''
description = lib.mdDoc ''
This option specifies the all_proxy environment variable.
'';
example = "http://127.0.0.1:3128";
@ -129,7 +129,7 @@ in
noProxy = lib.mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
This option specifies the no_proxy environment variable.
If a default proxy is used and noProxy is null,
then noProxy will be set to 127.0.0.1,localhost.

View file

@ -10,7 +10,7 @@ with lib;
environment.noXlibs = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Switch off the options in the default configuration that
require X11 libraries. This includes client-side font
configuration and SSH forwarding of X11 authentication

View file

@ -20,7 +20,7 @@ in
type = types.bool;
default = true;
description =
''
lib.mdDoc ''
Whether to enable power management. This includes support
for suspend-to-RAM and powersave features on laptops.
'';
@ -29,7 +29,7 @@ in
resumeCommands = mkOption {
type = types.lines;
default = "";
description = "Commands executed after the system resumes from suspend-to-RAM.";
description = lib.mdDoc "Commands executed after the system resumes from suspend-to-RAM.";
};
powerUpCommands = mkOption {
@ -39,7 +39,7 @@ in
"''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"
'';
description =
''
lib.mdDoc ''
Commands executed when the machine powers up. That is,
they're executed both when the system first boots and when
it resumes from suspend or hibernation.
@ -53,7 +53,7 @@ in
"''${pkgs.hdparm}/sbin/hdparm -B 255 /dev/sda"
'';
description =
''
lib.mdDoc ''
Commands executed when the machine powers down. That is,
they're executed both when the system shuts down and when
it goes to suspend or hibernation.

View file

@ -49,7 +49,7 @@ in
type = types.bool;
default = !(config.environment.etc ? "resolv.conf");
defaultText = literalExpression ''!(config.environment.etc ? "resolv.conf")'';
description = ''
description = lib.mdDoc ''
Whether DNS configuration is managed by resolvconf.
'';
};
@ -58,9 +58,9 @@ in
type = types.package;
default = pkgs.openresolv;
defaultText = literalExpression "pkgs.openresolv";
description = ''
The package that provides the system-wide resolvconf command. Defaults to <literal>openresolv</literal>
if this module is enabled. Otherwise, can be used by other modules (for example <option>services.resolved</option>) to
description = lib.mdDoc ''
The package that provides the system-wide resolvconf command. Defaults to `openresolv`
if this module is enabled. Otherwise, can be used by other modules (for example {option}`services.resolved`) to
provide a compatibility layer.
This option generally shouldn't be set by the user.
@ -70,7 +70,7 @@ in
dnsSingleRequest = lib.mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Recent versions of glibc will issue both ipv4 (A) and ipv6 (AAAA)
address queries at the same time, from the same port. Sometimes upstream
routers will systemically drop the ipv4 queries. The symptom of this problem is
@ -95,8 +95,8 @@ in
type = types.lines;
default = "";
example = "libc=NO";
description = ''
Extra configuration to append to <filename>resolvconf.conf</filename>.
description = lib.mdDoc ''
Extra configuration to append to {file}`resolvconf.conf`.
'';
};
@ -104,15 +104,15 @@ in
type = types.listOf types.str;
default = [];
example = [ "ndots:1" "rotate" ];
description = ''
Set the options in <filename>/etc/resolv.conf</filename>.
description = lib.mdDoc ''
Set the options in {file}`/etc/resolv.conf`.
'';
};
useLocalResolver = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Use local DNS server for resolving.
'';
};

View file

@ -35,7 +35,7 @@ in
environment.variables = mkOption {
default = {};
example = { EDITOR = "nvim"; VISUAL = "nvim"; };
description = ''
description = lib.mdDoc ''
A set of environment variables used in the global environment.
These variables will be set on shell initialisation (e.g. in /etc/profile).
The value of each variable can be either a string or a list of
@ -48,7 +48,7 @@ in
environment.profiles = mkOption {
default = [];
description = ''
description = lib.mdDoc ''
A list of profiles used to setup the global environment.
'';
type = types.listOf types.str;
@ -57,10 +57,10 @@ in
environment.profileRelativeEnvVars = mkOption {
type = types.attrsOf (types.listOf types.str);
example = { PATH = [ "/bin" ]; MANPATH = [ "/man" "/share/man" ]; };
description = ''
description = lib.mdDoc ''
Attribute set of environment variable. Each attribute maps to a list
of relative paths. Each relative path is appended to the each profile
of <option>environment.profiles</option> to form the content of the
of {option}`environment.profiles` to form the content of the
corresponding environment variable.
'';
};
@ -68,7 +68,7 @@ in
# !!! isn't there a better way?
environment.extraInit = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Shell script code called during global environment initialisation
after all variables and profileVariables have been set.
This code is assumed to be shell-independent, which means you should
@ -79,7 +79,7 @@ in
environment.shellInit = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Shell script code called during shell initialisation.
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
@ -89,7 +89,7 @@ in
environment.loginShellInit = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Shell script code called during login shell initialisation.
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
@ -99,7 +99,7 @@ in
environment.interactiveShellInit = mkOption {
default = "";
description = ''
description = lib.mdDoc ''
Shell script code called during interactive shell initialisation.
This code is assumed to be shell-independent, which means you should
stick to pure sh without sh word split.
@ -119,7 +119,7 @@ in
};
environment.homeBinInPath = mkOption {
description = ''
description = lib.mdDoc ''
Include ~/bin/ in $PATH.
'';
default = false;
@ -127,7 +127,7 @@ in
};
environment.localBinInPath = mkOption {
description = ''
description = lib.mdDoc ''
Add ~/.local/bin/ to $PATH
'';
default = false;
@ -151,9 +151,9 @@ in
environment.shells = mkOption {
default = [];
example = literalExpression "[ pkgs.bashInteractive pkgs.zsh ]";
description = ''
description = lib.mdDoc ''
A list of permissible login shells for user accounts.
No need to mention <literal>/bin/sh</literal>
No need to mention `/bin/sh`
here, it is placed into this list implicitly.
'';
type = types.listOf (types.either types.shellPackage types.path);

View file

@ -14,7 +14,7 @@ let
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Encrypt swap device with a random key. This way you won't have a persistent swap device.
WARNING: Don't try to hibernate when you have at least one swap partition with
@ -31,7 +31,7 @@ let
default = "aes-xts-plain64";
example = "serpent-xts-plain64";
type = types.str;
description = ''
description = lib.mdDoc ''
Use specified cipher for randomEncryption.
Hint: Run "cryptsetup benchmark" to see which one is fastest on your machine.
@ -42,7 +42,7 @@ let
default = "/dev/urandom";
example = "/dev/random";
type = types.str;
description = ''
description = lib.mdDoc ''
Define the source of randomness to obtain a random key for encryption.
'';
};
@ -50,7 +50,7 @@ let
allowDiscards = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to allow TRIM requests to the underlying device. This option
has security implications; please read the LUKS documentation before
activating it.
@ -67,7 +67,7 @@ let
device = mkOption {
example = "/dev/sda3";
type = types.str;
description = "Path of the device or swap file.";
description = lib.mdDoc "Path of the device or swap file.";
};
label = mkOption {
@ -82,7 +82,7 @@ let
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
description = lib.mdDoc ''
If this option is set, device is interpreted as the
path of a swapfile that will be created automatically
with the indicated size (in megabytes).
@ -93,7 +93,7 @@ let
default = null;
example = 2048;
type = types.nullOr types.int;
description = ''
description = lib.mdDoc ''
Specify the priority of the swap device. Priority is a value between 0 and 32767.
Higher numbers indicate higher priority.
null lets the kernel choose a priority, which will show up as a negative value.
@ -108,7 +108,7 @@ let
source = "/dev/random";
};
type = types.coercedTo types.bool randomEncryptionCoerce (types.submodule randomEncryptionOpts);
description = ''
description = lib.mdDoc ''
Encrypt swap device with a random key. This way you won't have a persistent swap device.
HINT: run "cryptsetup benchmark" to test cipher performance on your machine.
@ -127,7 +127,7 @@ let
default = null;
example = "once";
type = types.nullOr (types.enum ["once" "pages" "both" ]);
description = ''
description = lib.mdDoc ''
Specify the discard policy for the swap device. If "once", then the
whole swap space is discarded at swapon invocation. If "pages",
asynchronous discard on freed pages is performed, before returning to
@ -140,7 +140,7 @@ let
default = [ "defaults" ];
example = [ "nofail" ];
type = types.listOf types.nonEmptyStr;
description = ''
description = lib.mdDoc ''
Options used to mount the swap.
'';
};
@ -181,13 +181,13 @@ in
{ device = "/var/swapfile"; }
{ label = "bigswap"; }
];
description = ''
description = lib.mdDoc ''
The swap devices and swap files. These must have been
initialised using <command>mkswap</command>. Each element
initialised using {command}`mkswap`. Each element
should be an attribute set specifying either the path of the
swap device or file (<literal>device</literal>) or the label
of the swap device (<literal>label</literal>, see
<command>mkswap -L</command>). Using a label is
swap device or file (`device`) or the label
of the swap device (`label`, see
{command}`mkswap -L`). Using a label is
recommended.
'';

View file

@ -64,14 +64,14 @@ in
type = types.listOf types.package;
default = [];
example = literalExpression "[ pkgs.firefox pkgs.thunderbird ]";
description = ''
description = lib.mdDoc ''
The set of packages that appear in
/run/current-system/sw. These packages are
automatically available to all users, and are
automatically updated every time you rebuild the system
configuration. (The latter is the main difference with
installing them in the default profile,
<filename>/nix/var/nix/profiles/default</filename>.
{file}`/nix/var/nix/profiles/default`.
'';
};
@ -109,20 +109,20 @@ in
# to work.
default = [];
example = ["/"];
description = "List of directories to be symlinked in <filename>/run/current-system/sw</filename>.";
description = lib.mdDoc "List of directories to be symlinked in {file}`/run/current-system/sw`.";
};
extraOutputsToInstall = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "doc" "info" "devdoc" ];
description = "List of additional package outputs to be symlinked into <filename>/run/current-system/sw</filename>.";
description = lib.mdDoc "List of additional package outputs to be symlinked into {file}`/run/current-system/sw`.";
};
extraSetup = mkOption {
type = types.lines;
default = "";
description = "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out.";
description = lib.mdDoc "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out.";
};
};

View file

@ -9,7 +9,7 @@ with lib;
options.environment.enableAllTerminfo = with lib; mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to install all terminfo outputs
'';
};

View file

@ -56,7 +56,7 @@ let
name = mkOption {
type = types.passwdEntry types.str;
apply = x: assert (builtins.stringLength x < 32 || abort "Username '${x}' is longer than 31 characters which is not allowed!"); x;
description = ''
description = lib.mdDoc ''
The name of the user account. If undefined, the name of the
attribute set will be used.
'';
@ -66,17 +66,17 @@ let
type = types.passwdEntry types.str;
default = "";
example = "Alice Q. User";
description = ''
description = lib.mdDoc ''
A short description of the user account, typically the
user's full name. This is actually the GECOS or comment
field in <filename>/etc/passwd</filename>.
field in {file}`/etc/passwd`.
'';
};
uid = mkOption {
type = with types; nullOr int;
default = null;
description = ''
description = lib.mdDoc ''
The account UID. If the UID is null, a free UID is picked on
activation.
'';
@ -85,15 +85,15 @@ let
isSystemUser = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Indicates if the user is a system user or not. This option
only has an effect if <option>uid</option> is
<option>null</option>, in which case it determines whether
only has an effect if {option}`uid` is
{option}`null`, in which case it determines whether
the user's UID is allocated in the range for system users
(below 500) or in the range for normal users (starting at
1000).
Exactly one of <literal>isNormalUser</literal> and
<literal>isSystemUser</literal> must be true.
Exactly one of `isNormalUser` and
`isSystemUser` must be true.
'';
};
@ -118,31 +118,31 @@ let
type = types.str;
apply = x: assert (builtins.stringLength x < 32 || abort "Group name '${x}' is longer than 31 characters which is not allowed!"); x;
default = "";
description = "The user's primary group.";
description = lib.mdDoc "The user's primary group.";
};
extraGroups = mkOption {
type = types.listOf types.str;
default = [];
description = "The user's auxiliary groups.";
description = lib.mdDoc "The user's auxiliary groups.";
};
home = mkOption {
type = types.passwdEntry types.path;
default = "/var/empty";
description = "The user's home directory.";
description = lib.mdDoc "The user's home directory.";
};
homeMode = mkOption {
type = types.strMatching "[0-7]{1,5}";
default = "700";
description = "The user's home directory mode in numeric format. See chmod(1). The mode is only applied if <option>users.users.&lt;name&gt;.createHome</option> is true.";
description = lib.mdDoc "The user's home directory mode in numeric format. See chmod(1). The mode is only applied if {option}`users.users.<name>.createHome` is true.";
};
cryptHomeLuks = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
Path to encrypted luks device that contains
the user's home directory.
'';
@ -183,10 +183,10 @@ let
{ startUid = 1000; count = 1; }
{ startUid = 100001; count = 65534; }
];
description = ''
description = lib.mdDoc ''
Subordinate user ids that user is allowed to use.
They are set into <filename>/etc/subuid</filename> and are used
by <literal>newuidmap</literal> for user namespaces.
They are set into {file}`/etc/subuid` and are used
by `newuidmap` for user namespaces.
'';
};
@ -197,10 +197,10 @@ let
{ startGid = 100; count = 1; }
{ startGid = 1001; count = 999; }
];
description = ''
description = lib.mdDoc ''
Subordinate group ids that user is allowed to use.
They are set into <filename>/etc/subgid</filename> and are used
by <literal>newgidmap</literal> for user namespaces.
They are set into {file}`/etc/subgid` and are used
by `newgidmap` for user namespaces.
'';
};
@ -208,7 +208,7 @@ let
type = types.bool;
default = false;
example = true;
description = ''
description = lib.mdDoc ''
Automatically allocate subordinate user and group ids for this user.
Allocated range is currently always of size 65536.
'';
@ -217,7 +217,7 @@ let
createHome = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to create the home directory and ensure ownership as well as
permissions to match the user.
'';
@ -226,9 +226,9 @@ let
useDefaultShell = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If true, the user's shell will be set to
<option>users.defaultUserShell</option>.
{option}`users.defaultUserShell`.
'';
};
@ -284,13 +284,13 @@ let
initialPassword = mkOption {
type = with types; nullOr str;
default = null;
description = ''
description = lib.mdDoc ''
Specifies the initial password for the user, i.e. the
password assigned if the user does not already exist. If
<option>users.mutableUsers</option> is true, the password
{option}`users.mutableUsers` is true, the password
can be changed subsequently using the
<command>passwd</command> command. Otherwise, it's
equivalent to setting the <option>password</option>
{command}`passwd` command. Otherwise, it's
equivalent to setting the {option}`password`
option. The same caveat applies: the password specified here
is world-readable in the Nix store, so it should only be
used for guest accounts or passwords that will be changed
@ -302,9 +302,9 @@ let
type = types.listOf types.package;
default = [];
example = literalExpression "[ pkgs.firefox pkgs.thunderbird ]";
description = ''
description = lib.mdDoc ''
The set of packages that should be made available to the user.
This is in contrast to <option>environment.systemPackages</option>,
This is in contrast to {option}`environment.systemPackages`,
which adds packages to all users.
'';
};
@ -344,7 +344,7 @@ let
name = mkOption {
type = types.passwdEntry types.str;
description = ''
description = lib.mdDoc ''
The name of the group. If undefined, the name of the attribute set
will be used.
'';
@ -353,7 +353,7 @@ let
gid = mkOption {
type = with types; nullOr int;
default = null;
description = ''
description = lib.mdDoc ''
The group GID. If the GID is null, a free GID is picked on
activation.
'';
@ -362,9 +362,9 @@ let
members = mkOption {
type = with types; listOf (passwdEntry str);
default = [];
description = ''
description = lib.mdDoc ''
The user names of the group members, added to the
<literal>/etc/group</literal> file.
`/etc/group` file.
'';
};
@ -384,7 +384,7 @@ let
options = {
startUid = mkOption {
type = types.int;
description = ''
description = lib.mdDoc ''
Start of the range of subordinate user ids that user is
allowed to use.
'';
@ -392,7 +392,7 @@ let
count = mkOption {
type = types.int;
default = 1;
description = "Count of subordinate user ids";
description = lib.mdDoc "Count of subordinate user ids";
};
};
};
@ -401,7 +401,7 @@ let
options = {
startGid = mkOption {
type = types.int;
description = ''
description = lib.mdDoc ''
Start of the range of subordinate group ids that user is
allowed to use.
'';
@ -409,7 +409,7 @@ let
count = mkOption {
type = types.int;
default = 1;
description = "Count of subordinate group ids";
description = lib.mdDoc "Count of subordinate group ids";
};
};
};
@ -484,7 +484,7 @@ in {
users.enforceIdUniqueness = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to require that no two users/groups share the same uid/gid.
'';
};
@ -503,7 +503,7 @@ in {
shell = "/bin/sh";
};
};
description = ''
description = lib.mdDoc ''
Additional user accounts to be created automatically by the system.
This can also be used to set options for root.
'';
@ -516,7 +516,7 @@ in {
hackers = { };
};
type = with types; attrsOf (submodule groupOpts);
description = ''
description = lib.mdDoc ''
Additional groups to be created automatically by the system.
'';
};
@ -525,8 +525,8 @@ in {
users.allowNoPasswordLogin = mkOption {
type = types.bool;
default = false;
description = ''
Disable checking that at least the <literal>root</literal> user or a user in the <literal>wheel</literal> group can log in using
description = lib.mdDoc ''
Disable checking that at least the `root` user or a user in the `wheel` group can log in using
a password or an SSH key.
WARNING: enabling this can lock you out of your system. Enable this only if you know what are you doing.

View file

@ -25,7 +25,7 @@ in
programs.bash.vteIntegration = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to enable Bash integration for VTE terminals.
This allows it to preserve the current directory of the shell
across terminals.
@ -35,7 +35,7 @@ in
programs.zsh.vteIntegration = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to enable Zsh integration for VTE terminals.
This allows it to preserve the current directory of the shell
across terminals.

View file

@ -18,10 +18,10 @@ in
xdg.mime.enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to install files to support the
<link xlink:href="https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html">XDG Shared MIME-info specification</link> and the
<link xlink:href="https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html">XDG MIME Applications specification</link>.
[XDG Shared MIME-info specification](https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html) and the
[XDG MIME Applications specification](https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html).
'';
};
@ -32,10 +32,10 @@ in
"application/pdf" = "firefox.desktop";
"text/xml" = [ "nvim.desktop" "codium.desktop" ];
};
description = ''
description = lib.mdDoc ''
Adds associations between mimetypes and applications. See the
<link xlink:href="https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#associations">
specifications</link> for more information.
[
specifications](https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#associations) for more information.
'';
};
@ -46,10 +46,10 @@ in
"application/pdf" = "firefox.desktop";
"image/png" = [ "sxiv.desktop" "gimp.desktop" ];
};
description = ''
description = lib.mdDoc ''
Sets the default applications for given mimetypes. See the
<link xlink:href="https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#default">
specifications</link> for more information.
[
specifications](https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#default) for more information.
'';
};
@ -60,10 +60,10 @@ in
"audio/mp3" = [ "mpv.desktop" "umpv.desktop" ];
"inode/directory" = "codium.desktop";
};
description = ''
description = lib.mdDoc ''
Removes associations between mimetypes and applications. See the
<link xlink:href="https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#associations">
specifications</link> for more information.
[
specifications](https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-latest.html#associations) for more information.
'';
};
};

View file

@ -40,21 +40,21 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Enable in-memory compressed devices and swap space provided by the zram
kernel module.
See <link xlink:href="https://www.kernel.org/doc/Documentation/blockdev/zram.txt">
See [
https://www.kernel.org/doc/Documentation/blockdev/zram.txt
</link>.
](https://www.kernel.org/doc/Documentation/blockdev/zram.txt).
'';
};
numDevices = mkOption {
default = 1;
type = types.int;
description = ''
description = lib.mdDoc ''
Number of zram devices to create. See also
<literal>zramSwap.swapDevices</literal>
`zramSwap.swapDevices`
'';
};
@ -62,20 +62,20 @@ in
default = null;
example = 1;
type = with types; nullOr int;
description = ''
description = lib.mdDoc ''
Number of zram devices to be used as swap. Must be
<literal>&lt;= zramSwap.numDevices</literal>.
Default is same as <literal>zramSwap.numDevices</literal>, recommended is 1.
`<= zramSwap.numDevices`.
Default is same as `zramSwap.numDevices`, recommended is 1.
'';
};
memoryPercent = mkOption {
default = 50;
type = types.int;
description = ''
description = lib.mdDoc ''
Maximum amount of memory that can be used by the zram swap devices
(as a percentage of your total memory). Defaults to 1/2 of your total
RAM. Run <literal>zramctl</literal> to check how good memory is
RAM. Run `zramctl` to check how good memory is
compressed.
'';
};
@ -83,7 +83,7 @@ in
memoryMax = mkOption {
default = null;
type = with types; nullOr int;
description = ''
description = lib.mdDoc ''
Maximum total amount of memory (in bytes) that can be used by the zram
swap devices.
'';
@ -92,7 +92,7 @@ in
priority = mkOption {
default = 5;
type = types.int;
description = ''
description = lib.mdDoc ''
Priority of the zram swap devices. It should be a number higher than
the priority of your disk-based swap devices (so that the system will
fill the zram swap devices before falling back to disk swap).

View file

@ -10,7 +10,7 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Enable acpilight.
This will allow brightness control via xbacklight from users in the video group
'';

View file

@ -21,7 +21,7 @@ in {
hardware.enableAllFirmware = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Turn on this option if you want to enable all the firmware.
'';
};
@ -30,7 +30,7 @@ in {
default = config.hardware.enableAllFirmware;
defaultText = lib.literalExpression "config.hardware.enableAllFirmware";
type = types.bool;
description = ''
description = lib.mdDoc ''
Turn on this option if you want to enable all the firmware with a license allowing redistribution.
'';
};
@ -38,7 +38,7 @@ in {
hardware.wirelessRegulatoryDatabase = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Load the wireless regulatory database at boot.
'';
};

View file

@ -12,7 +12,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables udev rules for BladeRF devices. By default grants access
to users in the "bladerf" group. You may want to install the
libbladeRF package.

View file

@ -19,7 +19,7 @@ in
type = types.nullOr types.int;
default = null;
example = 100;
description = ''
description = lib.mdDoc ''
Limit access to the ckb daemon to a particular group.
'';
};
@ -28,7 +28,7 @@ in
type = types.package;
default = pkgs.ckb-next;
defaultText = literalExpression "pkgs.ckb-next";
description = ''
description = lib.mdDoc ''
The package implementing the Corsair keyboard/mouse driver.
'';
};

View file

@ -11,7 +11,7 @@ with lib;
hardware.cpu.amd.updateMicrocode = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Update the CPU microcode for AMD processors.
'';
};

View file

@ -11,7 +11,7 @@ with lib;
hardware.cpu.intel.updateMicrocode = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Update the CPU microcode for Intel processors.
'';
};

View file

@ -9,14 +9,14 @@ let
options = {
name = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Name of this overlay
'';
};
dtsFile = mkOption {
type = types.nullOr types.path;
description = ''
description = lib.mdDoc ''
Path to .dts overlay file, overlay is applied to
each .dtb file matching "compatible" of the overlay.
'';
@ -27,7 +27,7 @@ let
dtsText = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
Literal DTS contents, overlay is applied to
each .dtb file matching "compatible" of the overlay.
'';
@ -49,7 +49,7 @@ let
dtboFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Path to .dtbo compiled overlay file.
'';
};
@ -115,7 +115,7 @@ in
enable = mkOption {
default = pkgs.stdenv.hostPlatform.linux-kernel.DTB or false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Build device tree files. These are used to describe the
non-discoverable hardware of a system.
'';
@ -126,7 +126,7 @@ in
defaultText = literalExpression "config.boot.kernelPackages.kernel";
example = literalExpression "pkgs.linux_latest";
type = types.path;
description = ''
description = lib.mdDoc ''
Kernel package containing the base device-tree (.dtb) to boot. Uses
device trees bundled with the Linux kernel by default.
'';
@ -136,7 +136,7 @@ in
default = null;
example = "some-dtb.dtb";
type = types.nullOr types.str;
description = ''
description = lib.mdDoc ''
The name of an explicit dtb to be loaded, relative to the dtb base.
Useful in extlinux scenarios if the bootloader doesn't pick the
right .dtb file from FDTDIR.
@ -147,7 +147,7 @@ in
type = types.nullOr types.str;
default = null;
example = "*rpi*.dtb";
description = ''
description = lib.mdDoc ''
Only include .dtb files matching glob expression.
'';
};
@ -167,7 +167,7 @@ in
name = baseNameOf path;
dtboFile = path;
}) overlayType);
description = ''
description = lib.mdDoc ''
List of overlays to apply to base device-tree (.dtb) files.
'';
};

View file

@ -11,7 +11,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables udev rules for Digital Bitbox devices.
'';
};
@ -20,7 +20,7 @@ in
type = types.package;
default = pkgs.digitalbitbox;
defaultText = literalExpression "pkgs.digitalbitbox";
description = "The Digital Bitbox package to use. This can be used to install a package with udev rules that differ from the defaults.";
description = lib.mdDoc "The Digital Bitbox package to use. This can be used to install a package with udev rules that differ from the defaults.";
};
};

View file

@ -9,7 +9,7 @@ in
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables hackrf udev rules and ensures 'plugdev' group exists.
This is a prerequisite to using HackRF devices without being root, since HackRF USB descriptors will be owned by plugdev through udev.
'';

View file

@ -17,7 +17,7 @@ in
group = mkOption {
type = types.str;
default = "i2c";
description = ''
description = lib.mdDoc ''
Grant access to i2c devices (/dev/i2c-*) to users in this group.
'';
};

View file

@ -9,7 +9,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables udev rules for keyboards from ZSA like the ErgoDox EZ, Planck EZ and Moonlander Mark I.
You need it when you want to flash a new configuration on the keyboard
or use their live training in the browser.

View file

@ -24,7 +24,7 @@ in
startWhenNeeded = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Only run the service when an actual supported device is plugged.
'';
};
@ -47,7 +47,7 @@ in
enableGraphical = mkOption {
type = types.bool;
default = false;
description = "Enable graphical support applications.";
description = lib.mdDoc "Enable graphical support applications.";
};
};
};

View file

@ -10,7 +10,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable the Machine Check Exception logger.
'';
};

View file

@ -14,7 +14,7 @@ in
options.networking.wireless.athUserRegulatoryDomain = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
If enabled, sets the ATH_USER_REGD kernel config switch to true to
disable the enforcement of EEPROM regulatory restrictions for ath
drivers. Requires at least Linux ${linuxKernelMinVersion}.

View file

@ -13,7 +13,7 @@ let kernelVersion = config.boot.kernelPackages.kernel.version; in
networking.enableB43Firmware = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Turn on this option if you want firmware for the NICs supported by the b43 module.
'';
};

View file

@ -9,7 +9,7 @@
networking.enableIntel2200BGFirmware = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
description = lib.mdDoc ''
Turn on this option if you want firmware for the Intel
PRO/Wireless 2200BG to be loaded automatically. This is
required if you want to use this device.

View file

@ -10,7 +10,7 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables improved Linux module drivers for Logitech driving wheels.
This will replace the existing in-kernel hid-logitech modules.
Works most notably on the Logitech G25, G27, G29 and Driving Force (GT).

View file

@ -13,7 +13,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables udev rules for Nitrokey devices. By default grants access
to users in the "nitrokey" group. You may want to install the
nitrokey-app package, depending on your device and needs.

View file

@ -12,7 +12,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable OnlyKey device (https://crp.to/p/) support.
'';
};

View file

@ -35,7 +35,7 @@ in
hardware.opengl = {
enable = mkOption {
description = ''
description = lib.mdDoc ''
Whether to enable OpenGL drivers. This is needed to enable
OpenGL support in X11 systems, as well as for Wayland compositors
like sway and Weston. It is enabled by default
@ -51,7 +51,7 @@ in
driSupport = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to enable accelerated OpenGL rendering through the
Direct Rendering Interface (DRI).
'';
@ -60,11 +60,11 @@ in
driSupport32Bit = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
On 64-bit systems, whether to support Direct Rendering for
32-bit applications (such as Wine). This is currently only
supported for the <literal>nvidia</literal> as well as
<literal>Mesa</literal>.
supported for the `nvidia` as well as
`Mesa`.
'';
};
@ -90,7 +90,7 @@ in
type = types.listOf types.package;
default = [];
example = literalExpression "with pkgs; [ vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl ]";
description = ''
description = lib.mdDoc ''
Additional packages to add to OpenGL drivers. This can be used
to add OpenCL drivers, VA-API/VDPAU drivers etc.
'';
@ -100,9 +100,9 @@ in
type = types.listOf types.package;
default = [];
example = literalExpression "with pkgs.pkgsi686Linux; [ vaapiIntel libvdpau-va-gl vaapiVdpau ]";
description = ''
description = lib.mdDoc ''
Additional packages to add to 32-bit OpenGL drivers on
64-bit systems. Used when <option>driSupport32Bit</option> is
64-bit systems. Used when {option}`driSupport32Bit` is
set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.
'';
};

View file

@ -56,7 +56,7 @@ in
verboseLogging = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable verbose logging. Logs debug messages.
'';
};
@ -64,7 +64,7 @@ in
syncEffectsEnabled = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Set the sync effects flag to true so any assignment of
effects will work across devices.
'';
@ -73,7 +73,7 @@ in
devicesOffOnScreensaver = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Turn off the devices when the systems screensaver kicks in.
'';
};
@ -81,7 +81,7 @@ in
mouseBatteryNotifier = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Mouse battery notifier.
'';
};
@ -89,7 +89,7 @@ in
keyStatistics = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Collects number of keypresses per hour per key used to
generate a heatmap.
'';
@ -98,7 +98,7 @@ in
users = mkOption {
type = with types; listOf str;
default = [];
description = ''
description = lib.mdDoc ''
Usernames to be added to the "openrazer" group, so that they
can start and interact with the OpenRazer userspace daemon.
'';

View file

@ -12,7 +12,7 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Enable OpenTabletDriver udev rules, user service and blacklist kernel
modules known to conflict with OpenTabletDriver.
'';
@ -21,7 +21,7 @@ in
blacklistedKernelModules = mkOption {
type = types.listOf types.str;
default = [ "hid-uclogic" "wacom" ];
description = ''
description = lib.mdDoc ''
Blacklist of kernel modules known to conflict with OpenTabletDriver.
'';
};
@ -30,7 +30,7 @@ in
type = types.package;
default = pkgs.opentabletdriver;
defaultText = literalExpression "pkgs.opentabletdriver";
description = ''
description = lib.mdDoc ''
OpenTabletDriver derivation to use.
'';
};
@ -39,7 +39,7 @@ in
enable = mkOption {
default = true;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to start OpenTabletDriver daemon as a systemd user service.
'';
};

View file

@ -20,7 +20,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable this option to support PCMCIA card.
'';
};
@ -28,7 +28,7 @@ in
firmware = mkOption {
type = types.listOf types.path;
default = [];
description = ''
description = lib.mdDoc ''
List of firmware used to handle specific PCMCIA card.
'';
};
@ -36,7 +36,7 @@ in
config = mkOption {
default = null;
type = types.nullOr types.path;
description = ''
description = lib.mdDoc ''
Path to the configuration file which maps the memory, IRQs
and ports used by the PCMCIA hardware.
'';

View file

@ -30,17 +30,17 @@ in {
ensureDefaultPrinter = mkOption {
type = types.nullOr printerName;
default = null;
description = ''
description = lib.mdDoc ''
Ensures the named printer is the default CUPS printer / printer queue.
'';
};
ensurePrinters = mkOption {
description = ''
description = lib.mdDoc ''
Will regularly ensure that the given CUPS printers are configured as declared here.
If a printer's options are manually changed afterwards, they will be overwritten eventually.
This option will never delete any printer, even if removed from this list.
You can check existing printers with <command>lpstat -s</command>
and remove printers with <command>lpadmin -x &lt;printer-name&gt;</command>.
You can check existing printers with {command}`lpstat -s`
and remove printers with {command}`lpadmin -x <printer-name>`.
Printers not listed here can still be manually configured.
'';
default = [];
@ -49,7 +49,7 @@ in {
name = mkOption {
type = printerName;
example = "BrotherHL_Workroom";
description = ''
description = lib.mdDoc ''
Name of the printer / printer queue.
May contain any printable characters except "/", "#", and space.
'';
@ -58,7 +58,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "Workroom";
description = ''
description = lib.mdDoc ''
Optional human-readable location.
'';
};
@ -66,7 +66,7 @@ in {
type = types.nullOr types.str;
default = null;
example = "Brother HL-5140";
description = ''
description = lib.mdDoc ''
Optional human-readable description.
'';
};
@ -76,9 +76,9 @@ in {
"ipp://printserver.local/printers/BrotherHL_Workroom"
"usb://HP/DESKJET%20940C?serial=CN16E6C364BH"
'';
description = ''
description = lib.mdDoc ''
How to reach the printer.
<command>lpinfo -v</command> shows a list of supported device URIs and schemes.
{command}`lpinfo -v` shows a list of supported device URIs and schemes.
'';
};
model = mkOption {
@ -86,9 +86,9 @@ in {
example = literalExpression ''
"gutenprint.''${lib.versions.majorMinor (lib.getVersion pkgs.gutenprint)}://brother-hl-5140/expert"
'';
description = ''
description = lib.mdDoc ''
Location of the ppd driver file for the printer.
<command>lpinfo -m</command> shows a list of supported models.
{command}`lpinfo -m` shows a list of supported models.
'';
};
ppdOptions = mkOption {
@ -98,9 +98,9 @@ in {
Duplex = "DuplexNoTumble";
};
default = {};
description = ''
description = lib.mdDoc ''
Sets PPD options for the printer.
<command>lpoptions [-p printername] -l</command> shows suported PPD options for the given printer.
{command}`lpoptions [-p printername] -l` shows suported PPD options for the given printer.
'';
};
};

View file

@ -8,7 +8,7 @@ in {
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules.
This is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev.
'';

View file

@ -11,7 +11,7 @@ in
type = lib.types.package;
default = pkgs.saleae-logic-2;
defaultText = lib.literalExpression "pkgs.saleae-logic-2";
description = ''
description = lib.mdDoc ''
Saleae Logic package to use.
'';
};

View file

@ -41,7 +41,7 @@ in
deciSeconds = mkOption {
example = 70;
type = types.int;
description = ''
description = lib.mdDoc ''
Set SCT Error Recovery Control timeout in deciseconds for use in RAID configurations.
Values are as follows:
@ -53,17 +53,17 @@ in
};
drives = mkOption {
description = "List of drives for which to configure the timeout.";
description = lib.mdDoc "List of drives for which to configure the timeout.";
type = types.listOf
(types.submodule {
options = {
name = mkOption {
description = "Drive name without the full path.";
description = lib.mdDoc "Drive name without the full path.";
type = types.str;
};
idBy = mkOption {
description = "The method to identify the drive.";
description = lib.mdDoc "The method to identify the drive.";
type = types.enum [ "path" "wwn" ];
default = "path";
};

View file

@ -30,7 +30,7 @@ in
options = {
hardware.sensor.hddtemp = {
enable = mkOption {
description = ''
description = lib.mdDoc ''
Enable this option to support HDD/SSD temperature sensors.
'';
type = types.bool;
@ -38,24 +38,24 @@ in
};
drives = mkOption {
description = "List of drives to monitor. If you pass /dev/disk/by-path/* entries the symlinks will be resolved as hddtemp doesn't like names with colons.";
description = lib.mdDoc "List of drives to monitor. If you pass /dev/disk/by-path/* entries the symlinks will be resolved as hddtemp doesn't like names with colons.";
type = types.listOf types.str;
};
unit = mkOption {
description = "Celcius or Fahrenheit";
description = lib.mdDoc "Celcius or Fahrenheit";
type = types.enum [ "C" "F" ];
default = "C";
};
dbEntries = mkOption {
description = "Additional DB entries";
description = lib.mdDoc "Additional DB entries";
type = types.listOf types.str;
default = [ ];
};
extraArgs = mkOption {
description = "Additional arguments passed to the daemon.";
description = lib.mdDoc "Additional arguments passed to the daemon.";
type = types.listOf types.str;
default = [ ];
};

View file

@ -8,7 +8,7 @@ with lib;
options = {
hardware.sensor.iio = {
enable = mkOption {
description = ''
description = lib.mdDoc ''
Enable this option to support IIO sensors with iio-sensor-proxy.
IIO sensors are used for orientation and ambient light

View file

@ -13,7 +13,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive";
description = lib.mdDoc "Enable udev rules for Steam hardware such as the Steam Controller, other supported controllers and the HTC Vive";
};
};

View file

@ -63,7 +63,7 @@ in {
default = cfg.enableAll;
defaultText = literalExpression "config.${opt.enableAll}";
example = true;
description = "Whether to enable the system76 firmware daemon";
description = lib.mdDoc "Whether to enable the system76 firmware daemon";
type = types.bool;
};
@ -71,7 +71,7 @@ in {
default = cfg.enableAll;
defaultText = literalExpression "config.${opt.enableAll}";
example = true;
description = "Whether to make the system76 out-of-tree kernel modules available";
description = lib.mdDoc "Whether to make the system76 out-of-tree kernel modules available";
type = types.bool;
};
@ -79,7 +79,7 @@ in {
default = cfg.enableAll;
defaultText = literalExpression "config.${opt.enableAll}";
example = true;
description = "Whether to enable the system76 power daemon";
description = lib.mdDoc "Whether to enable the system76 power daemon";
type = types.bool;
};
};

View file

@ -16,7 +16,7 @@ in {
type = types.str;
default = "ubertooth";
example = "wheel";
description = "Group for Ubertooth's udev rules.";
description = lib.mdDoc "Group for Ubertooth's udev rules.";
};
};

View file

@ -11,7 +11,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable this option to support USB WWAN adapters.
'';
};

View file

@ -29,7 +29,7 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Enable the bumblebee daemon to manage Optimus hybrid video cards.
This should power off secondary GPU until its use is requested
by running an application with optirun.
@ -40,13 +40,13 @@ in
default = "wheel";
example = "video";
type = types.str;
description = "Group for bumblebee socket";
description = lib.mdDoc "Group for bumblebee socket";
};
connectDisplay = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Set to true if you intend to connect your discrete card to a
monitor. This option will set up your Nvidia card for EDID
discovery and to turn on the monitor signal.
@ -58,7 +58,7 @@ in
driver = mkOption {
default = "nvidia";
type = types.enum [ "nvidia" "nouveau" ];
description = ''
description = lib.mdDoc ''
Set driver used by bumblebeed. Supported are nouveau and nvidia.
'';
};
@ -66,7 +66,7 @@ in
pmMethod = mkOption {
default = "auto";
type = types.enum [ "auto" "bbswitch" "switcheroo" "none" ];
description = ''
description = lib.mdDoc ''
Set preferred power management method for unused card.
'';
};

View file

@ -40,7 +40,7 @@ in
hardware.nvidia.powerManagement.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Experimental power management through systemd. For more information, see
the NVIDIA docs, on Chapter 21. Configuring Power Management Support.
'';
@ -49,7 +49,7 @@ in
hardware.nvidia.powerManagement.finegrained = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Experimental power management of PRIME offload. For more information, see
the NVIDIA docs, chapter 22. PCI-Express runtime power management.
'';
@ -58,11 +58,11 @@ in
hardware.nvidia.modesetting.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable kernel modesetting when using the NVIDIA proprietary driver.
Enabling this fixes screen tearing when using Optimus via PRIME (see
<option>hardware.nvidia.prime.sync.enable</option>. This is not enabled
{option}`hardware.nvidia.prime.sync.enable`. This is not enabled
by default because it is not officially supported by NVIDIA and would not
work with SLI.
'';
@ -72,7 +72,7 @@ in
type = busIDType;
default = "";
example = "PCI:1:0:0";
description = ''
description = lib.mdDoc ''
Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci
shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0".
'';
@ -82,7 +82,7 @@ in
type = busIDType;
default = "";
example = "PCI:0:2:0";
description = ''
description = lib.mdDoc ''
Bus ID of the Intel GPU. You can find it using lspci; for example if lspci
shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0".
'';
@ -92,7 +92,7 @@ in
type = busIDType;
default = "";
example = "PCI:4:0:0";
description = ''
description = lib.mdDoc ''
Bus ID of the AMD APU. You can find it using lspci; for example if lspci
shows the AMD APU at "04:00.0", set this option to "PCI:4:0:0".
'';
@ -101,26 +101,26 @@ in
hardware.nvidia.prime.sync.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.
If enabled, the NVIDIA GPU will be always on and used for all rendering,
while enabling output to displays attached only to the integrated Intel GPU
without a multiplexer.
Note that this option only has any effect if the "nvidia" driver is specified
in <option>services.xserver.videoDrivers</option>, and it should preferably
in {option}`services.xserver.videoDrivers`, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be
specified (<option>hardware.nvidia.prime.nvidiaBusId</option> and
<option>hardware.nvidia.prime.intelBusId</option>).
specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId`).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver (<option>hardware.nvidia.modesetting.enable</option>) in order
NVIDIA driver ({option}`hardware.nvidia.modesetting.enable`) in order
to prevent tearing.
Note that this configuration will only be successful when a display manager
for which the <option>services.xserver.displayManager.setupCommands</option>
for which the {option}`services.xserver.displayManager.setupCommands`
option is supported is used.
'';
};
@ -128,7 +128,7 @@ in
hardware.nvidia.prime.sync.allowExternalGpu = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Configure X to allow external NVIDIA GPUs when using optimus.
'';
};
@ -136,19 +136,19 @@ in
hardware.nvidia.prime.offload.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable render offload support using the NVIDIA proprietary driver via PRIME.
If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be
specified (<option>hardware.nvidia.prime.nvidiaBusId</option> and
<option>hardware.nvidia.prime.intelBusId</option>).
specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId`).
'';
};
hardware.nvidia.nvidiaSettings = mkOption {
default = true;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to add nvidia-settings, NVIDIA's GUI configuration tool, to
systemPackages.
'';
@ -157,7 +157,7 @@ in
hardware.nvidia.nvidiaPersistenced = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Update for NVIDA GPU headless mode, i.e. nvidia-persistenced. It ensures all
GPUs stay awake even during headless mode.
'';
@ -166,7 +166,7 @@ in
hardware.nvidia.forceFullCompositionPipeline = lib.mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to force-enable the full composition pipeline.
This sometimes fixes screen tearing issues.
This has been reported to reduce the performance of some OpenGL applications and may produce issues in WebGL.
@ -178,7 +178,7 @@ in
type = types.package;
default = config.boot.kernelPackages.nvidiaPackages.stable;
defaultText = literalExpression "config.boot.kernelPackages.nvidiaPackages.stable";
description = ''
description = lib.mdDoc ''
The NVIDIA X11 derivation to use.
'';
example = literalExpression "config.boot.kernelPackages.nvidiaPackages.legacy_340";
@ -187,7 +187,7 @@ in
hardware.nvidia.open = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to use the open source kernel module
'';
};

View file

@ -22,12 +22,12 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable <command>uvcvideo</command> dynamic controls.
description = lib.mdDoc ''
Whether to enable {command}`uvcvideo` dynamic controls.
Note that enabling this brings the <command>uvcdynctrl</command> tool
Note that enabling this brings the {command}`uvcdynctrl` tool
into your environment and register all dynamic controls from
specified <command>packages</command> to the <command>uvcvideo</command> driver.
specified {command}`packages` to the {command}`uvcvideo` driver.
'';
};

View file

@ -18,10 +18,10 @@ in
default = false;
example = true;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to include sensor calibration files for facetimehd.
This makes colors look much better but is experimental, see
<link xlink:href="https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files"/>
<https://github.com/patjak/facetimehd/wiki/Extracting-the-sensor-calibration-files>
for details.
'';
};

View file

@ -15,7 +15,7 @@ in {
type = with types; listOf package;
default = [];
example = literalExpression "with pkgs; [ fcitx5-rime ]";
description = ''
description = lib.mdDoc ''
Enabled Fcitx5 addons.
'';
};

View file

@ -27,8 +27,8 @@ in
};
}
'';
description = ''
kime configuration. Refer to <link xlink:href="https://github.com/Riey/kime/blob/v${pkgs.kime.version}/docs/CONFIGURATION.md"/> for details on supported values.
description = lib.mdDoc ''
kime configuration. Refer to <https://github.com/Riey/kime/blob/v${pkgs.kime.version}/docs/CONFIGURATION.md> for details on supported values.
'';
};
};

View file

@ -13,7 +13,7 @@ in
type = types.enum [ "gtk" "gtk3" "gtk-systray" "gtk3-systray" "qt4" ];
default = "gtk";
example = "gtk-systray";
description = ''
description = lib.mdDoc ''
selected UIM toolbar.
'';
};

View file

@ -16,7 +16,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
If enabled, NixOS will set up a kernel that will
boot on crash, and leave the user in systemd rescue
to be able to save the crashed kernel dump at
@ -27,7 +27,7 @@ in
reservedMemory = mkOption {
default = "128M";
type = types.str;
description = ''
description = lib.mdDoc ''
The amount of memory reserved for the crashdump kernel.
If you choose a too high value, dmesg will mention
"crashkernel reservation failed".
@ -36,7 +36,7 @@ in
kernelParams = mkOption {
type = types.listOf types.str;
default = [ "1" "boot.shell_on_fail" ];
description = ''
description = lib.mdDoc ''
Parameters that will be passed to the kernel kexec-ed on crash.
'';
};

View file

@ -7,7 +7,7 @@
type = lib.types.attrsOf lib.types.attrs;
description = ''
description = lib.mdDoc ''
This option allows modules to define helper functions, constants, etc.
'';
};

View file

@ -19,9 +19,9 @@ in
enable = mkOption {
type = bool;
default = false;
description = ''
description = lib.mdDoc ''
If enabled, NixOS will periodically update the database of
files used by the <command>locate</command> command.
files used by the {command}`locate` command.
'';
};
@ -30,7 +30,7 @@ in
default = pkgs.findutils.locate;
defaultText = literalExpression "pkgs.findutils";
example = literalExpression "pkgs.mlocate";
description = ''
description = lib.mdDoc ''
The locate implementation to use
'';
};
@ -55,15 +55,15 @@ in
extraFlags = mkOption {
type = listOf str;
default = [ ];
description = ''
Extra flags to pass to <command>updatedb</command>.
description = lib.mdDoc ''
Extra flags to pass to {command}`updatedb`.
'';
};
output = mkOption {
type = path;
default = "/var/cache/locatedb";
description = ''
description = lib.mdDoc ''
The database file to build.
'';
};
@ -71,9 +71,9 @@ in
localuser = mkOption {
type = nullOr str;
default = "nobody";
description = ''
description = lib.mdDoc ''
The user to search non-network directories as, using
<command>su</command>.
{command}`su`.
'';
};
@ -159,7 +159,7 @@ in
"vboxsf"
"vperfctrfs"
];
description = ''
description = lib.mdDoc ''
Which filesystem types to exclude from indexing
'';
};
@ -176,7 +176,7 @@ in
"/nix/store"
"/nix/var/log/nix"
];
description = ''
description = lib.mdDoc ''
Which paths to exclude from indexing
'';
};
@ -188,7 +188,7 @@ in
<literal>[ ".bzr" ".cache" ".git" ".hg" ".svn" ]</literal>, if
supported by the locate implementation (i.e. mlocate or plocate).
'';
description = ''
description = lib.mdDoc ''
Directory components which should exclude paths containing them from indexing
'';
};
@ -196,7 +196,7 @@ in
pruneBindMounts = mkOption {
type = bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether not to index bind mounts
'';
};

View file

@ -22,7 +22,7 @@ in
type = types.listOf types.str;
default = [ ];
example = literalExpression ''["user1" "user2" "user3"]'';
description = ''
description = lib.mdDoc ''
A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms.
'';
};

View file

@ -13,7 +13,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable autojump.
'';
};

View file

@ -11,7 +11,7 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to add bandwhich to the global environment and configure a
setcap wrapper for it.
'';

View file

@ -14,7 +14,7 @@ in
timeout = mkOption {
default = 10;
description = ''
description = lib.mdDoc ''
Number of seconds it would take for a command to be considered long-running.
'';
type = types.int;

View file

@ -40,12 +40,12 @@ in
type = types.package;
default = pkgs.captive-browser;
defaultText = literalExpression "pkgs.captive-browser";
description = "Which package to use for captive-browser";
description = lib.mdDoc "Which package to use for captive-browser";
};
interface = mkOption {
type = types.str;
description = "your public network interface (wlp3s0, wlan0, eth0, ...)";
description = lib.mdDoc "your public network interface (wlp3s0, wlan0, eth0, ...)";
};
# the options below are the same as in "captive-browser.toml"
@ -53,7 +53,7 @@ in
type = types.str;
default = browserDefault pkgs.chromium;
defaultText = literalExpression (browserDefault "\${pkgs.chromium}");
description = ''
description = lib.mdDoc ''
The shell (/bin/sh) command executed once the proxy starts.
When browser exits, the proxy exits. An extra env var PROXY is available.
@ -69,7 +69,7 @@ in
dhcp-dns = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
The shell (/bin/sh) command executed to obtain the DHCP
DNS server address. The first match of an IPv4 regex is used.
IPv4 only, because let's be real, it's a captive portal.
@ -79,7 +79,7 @@ in
socks5-addr = mkOption {
type = types.str;
default = "localhost:1666";
description = "the listen address for the SOCKS5 proxy server";
description = lib.mdDoc "the listen address for the SOCKS5 proxy server";
};
bindInterface = mkOption {

View file

@ -9,13 +9,13 @@ in {
enable = mkEnableOption "CCache";
cacheDir = mkOption {
type = types.path;
description = "CCache directory";
description = lib.mdDoc "CCache directory";
default = "/var/cache/ccache";
};
# target configuration
packageNames = mkOption {
type = types.listOf types.str;
description = "Nix top-level packages to be compiled using CCache";
description = lib.mdDoc "Nix top-level packages to be compiled using CCache";
default = [];
example = [ "wxGTK30" "ffmpeg" "libav_all" ];
};

View file

@ -10,29 +10,29 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
<command>cdemu</command> for members of
<option>programs.cdemu.group</option>.
description = lib.mdDoc ''
{command}`cdemu` for members of
{option}`programs.cdemu.group`.
'';
};
group = mkOption {
type = types.str;
default = "cdrom";
description = ''
Group that users must be in to use <command>cdemu</command>.
description = lib.mdDoc ''
Group that users must be in to use {command}`cdemu`.
'';
};
gui = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install the <command>cdemu</command> GUI (gCDEmu).
description = lib.mdDoc ''
Whether to install the {command}`cdemu` GUI (gCDEmu).
'';
};
image-analyzer = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to install the image analyzer.
'';
};

View file

@ -23,14 +23,14 @@ in
extensions = mkOption {
type = types.listOf types.str;
description = ''
description = lib.mdDoc ''
List of chromium extensions to install.
For list of plugins ids see id in url of extensions on
<link xlink:href="https://chrome.google.com/webstore/category/extensions">chrome web store</link>
[chrome web store](https://chrome.google.com/webstore/category/extensions)
page. To install a chromium extension not included in the chrome web
store, append to the extension id a semicolon ";" followed by a URL
pointing to an Update Manifest XML file. See
<link xlink:href="https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallForcelist">ExtensionInstallForcelist</link>
[ExtensionInstallForcelist](https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallForcelist)
for additional details.
'';
default = [];
@ -46,21 +46,21 @@ in
homepageLocation = mkOption {
type = types.nullOr types.str;
description = "Chromium default homepage";
description = lib.mdDoc "Chromium default homepage";
default = null;
example = "https://nixos.org";
};
defaultSearchProviderEnabled = mkOption {
type = types.nullOr types.bool;
description = "Enable the default search provider.";
description = lib.mdDoc "Enable the default search provider.";
default = null;
example = true;
};
defaultSearchProviderSearchURL = mkOption {
type = types.nullOr types.str;
description = "Chromium default search provider url.";
description = lib.mdDoc "Chromium default search provider url.";
default = null;
example =
"https://encrypted.google.com/search?q={searchTerms}&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}ie={inputEncoding}";
@ -68,7 +68,7 @@ in
defaultSearchProviderSuggestURL = mkOption {
type = types.nullOr types.str;
description = "Chromium default search provider url for suggestions.";
description = lib.mdDoc "Chromium default search provider url for suggestions.";
default = null;
example =
"https://encrypted.google.com/complete/search?output=chrome&q={searchTerms}";

View file

@ -26,7 +26,7 @@ in
enable = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether interactive shells should show which Nix package (if
any) provides a missing command.
'';
@ -34,7 +34,7 @@ in
dbPath = mkOption {
default = "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite" ;
description = ''
description = lib.mdDoc ''
Absolute path to programs.sqlite.
By default this file will be provided by your channel

View file

@ -10,8 +10,8 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Install <command>criu</command> along with necessary kernel options.
description = lib.mdDoc ''
Install {command}`criu` along with necessary kernel options.
'';
};
};

View file

@ -11,7 +11,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Installs the Digital Bitbox application and enables the complementary hardware module.
'';
};
@ -20,7 +20,7 @@ in
type = types.package;
default = pkgs.digitalbitbox;
defaultText = literalExpression "pkgs.digitalbitbox";
description = "The Digital Bitbox package to use. This can be used to install a package with udev rules that differ from the defaults.";
description = lib.mdDoc "The Digital Bitbox package to use. This can be used to install a package with udev rules that differ from the defaults.";
};
};

View file

@ -14,7 +14,7 @@ in {
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to configure system to enable use of dmrconfig. This
enables the required udev rules and installs the program.
'';
@ -25,7 +25,7 @@ in {
default = pkgs.dmrconfig;
type = types.package;
defaultText = literalExpression "pkgs.dmrconfig";
description = "dmrconfig derivation to use";
description = lib.mdDoc "dmrconfig derivation to use";
};
};
};

View file

@ -28,7 +28,7 @@ in {
type = types.package;
default = pkgs.evince;
defaultText = literalExpression "pkgs.evince";
description = "Evince derivation to use.";
description = lib.mdDoc "Evince derivation to use.";
};
};

View file

@ -13,7 +13,7 @@ in {
Your user needs to be in the `feedbackd` group to trigger effects.
'';
package = mkOption {
description = ''
description = lib.mdDoc ''
Which feedbackd package to use.
'';
type = types.package;

View file

@ -27,7 +27,7 @@ in {
type = types.package;
default = pkgs.gnome.file-roller;
defaultText = literalExpression "pkgs.gnome.file-roller";
description = "File Roller derivation to use.";
description = lib.mdDoc "File Roller derivation to use.";
};
};

View file

@ -10,7 +10,7 @@ in
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Installs flashrom and configures udev rules for programmers
used by flashrom. Grants access to users in the "flashrom"
group.

View file

@ -10,7 +10,7 @@ in {
enable = mkEnableOption "FLEXOPTIX app + udev rules";
package = mkOption {
description = "FLEXOPTIX app package to use";
description = lib.mdDoc "FLEXOPTIX app package to use";
type = types.package;
default = pkgs.flexoptix-app;
defaultText = literalExpression "pkgs.flexoptix-app";

View file

@ -26,7 +26,7 @@ in
}
'';
description =
''
lib.mdDoc ''
Configure freetds database entries. Each attribute denotes
a section within freetds.conf, and the value (a string) is the config
content for that section. When at least one entry is configured

View file

@ -13,7 +13,7 @@ in {
# negative numbers obviously make no sense:
type = types.ints.between 0 32767; # 2^15 - 1
default = 1000;
description = ''
description = lib.mdDoc ''
Set the maximum number of FUSE mounts allowed to non-root users.
'';
};
@ -21,7 +21,7 @@ in {
userAllowOther = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Allow non-root users to specify the allow_other or allow_root mount
options, see mount.fuse3(8).
'';

View file

@ -19,7 +19,7 @@ in
settings = mkOption {
type = settingsFormat.type;
default = {};
description = ''
description = lib.mdDoc ''
System-wide configuration for GameMode (/etc/gamemode.ini).
See gamemoded(8) man page for available settings.
'';

View file

@ -16,7 +16,7 @@ in
default = pkgs.git;
defaultText = literalExpression "pkgs.git";
example = literalExpression "pkgs.gitFull";
description = "The git package to use";
description = lib.mdDoc "The git package to use";
};
config = mkOption {
@ -26,7 +26,7 @@ in
init.defaultBranch = "main";
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
};
description = ''
description = lib.mdDoc ''
Configuration to write to /etc/gitconfig. See the CONFIGURATION FILE
section of git-config(1) for more information.
'';
@ -39,7 +39,7 @@ in
type = types.package;
default = pkgs.git-lfs;
defaultText = literalExpression "pkgs.git-lfs";
description = "The git-lfs package to use";
description = lib.mdDoc "The git-lfs package to use";
};
};
};

View file

@ -26,7 +26,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable GNOME Disks daemon, a program designed to
be a UDisks2 graphical front-end.
'';

View file

@ -26,7 +26,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable GNOME Documents, a document
manager application for GNOME.
'';

View file

@ -28,7 +28,7 @@ in
type = types.package;
default = pkgs.gnupg;
defaultText = literalExpression "pkgs.gnupg";
description = ''
description = lib.mdDoc ''
The gpg package that should be used.
'';
};
@ -36,7 +36,7 @@ in
agent.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables GnuPG agent with socket-activation for every user session.
'';
};
@ -44,7 +44,7 @@ in
agent.enableSSHSupport = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK
environment variable correctly. This will disable socket-activation
and thus always start a GnuPG agent per user session.
@ -54,7 +54,7 @@ in
agent.enableExtraSocket = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable extra socket for GnuPG agent.
'';
};
@ -62,7 +62,7 @@ in
agent.enableBrowserSocket = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable browser socket for GnuPG agent.
'';
};
@ -72,7 +72,7 @@ in
example = "gnome3";
default = defaultPinentryFlavor;
defaultText = literalDocBook ''matching the configured desktop environment'';
description = ''
description = lib.mdDoc ''
Which pinentry interface to use. If not null, the path to the
pinentry binary will be passed to gpg-agent via commandline and
thus overrides the pinentry option in gpg-agent.conf in the user's
@ -86,7 +86,7 @@ in
dirmngr.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enables GnuPG network certificate management daemon with socket-activation for every user session.
'';
};

View file

@ -18,7 +18,7 @@ with lib;
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable GPaste, a clipboard manager.
'';
};

View file

@ -21,7 +21,7 @@ in
type = types.package;
default = pkgs.htop;
defaultText = "pkgs.htop";
description = ''
description = lib.mdDoc ''
The htop package that should be used.
'';
};
@ -35,7 +35,7 @@ in
hide_kernel_threads = true;
hide_userland_threads = true;
};
description = ''
description = lib.mdDoc ''
Extra global default configuration for htop
which is read on first startup only.
Htop subsequently uses ~/.config/htop/htoprc

View file

@ -35,7 +35,7 @@ in
package = mkOption {
default = pkgs.jdk;
defaultText = literalExpression "pkgs.jdk";
description = ''
description = lib.mdDoc ''
Java package to install. Typical values are pkgs.jdk or pkgs.jre.
'';
type = types.package;

View file

@ -14,7 +14,7 @@ in
group = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Group assigned to the device when connected.
'';
default = "k40";
@ -25,7 +25,7 @@ in
default = pkgs.k40-whisperer;
defaultText = literalExpression "pkgs.k40-whisperer";
example = literalExpression "pkgs.k40-whisperer";
description = ''
description = lib.mdDoc ''
K40 Whisperer package to use.
'';
};

View file

@ -16,7 +16,7 @@ with lib;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
type = types.package;
example = literalExpression "pkgs.gnomeExtensions.gsconnect";
description = ''
description = lib.mdDoc ''
The package providing the implementation for kdeconnect.
'';
};

View file

@ -12,7 +12,7 @@ in
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to install Light backlight control command
and udev rules granting access to members of the "video" group.
'';

View file

@ -10,7 +10,7 @@ in
{
options.programs.mosh = {
enable = mkOption {
description = ''
description = lib.mdDoc ''
Whether to enable mosh. Note, this will open ports in your firewall!
'';
default = false;

View file

@ -15,7 +15,7 @@ in {
setSendmail = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
Whether to set the system sendmail to msmtp's.
'';
};
@ -28,7 +28,7 @@ in {
port = 587;
tls = true;
};
description = ''
description = lib.mdDoc ''
Default values applied to all accounts.
See msmtp(1) for the available options.
'';
@ -62,7 +62,7 @@ in {
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
Extra lines to add to the msmtp configuration verbatim.
See msmtp(1) for the syntax and available options.
'';

View file

@ -11,7 +11,7 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to add mtr to the global environment and configure a
setcap wrapper for it.
'';
@ -21,7 +21,7 @@ in {
type = types.package;
default = pkgs.mtr;
defaultText = literalExpression "pkgs.mtr";
description = ''
description = lib.mdDoc ''
The package to use.
'';
};

Some files were not shown because too many files have changed in this diff Show more