1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2024-12-14 11:57:55 +00:00

treewide: remove now-redundant lib.mdDoc calls

These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
This commit is contained in:
Emily 2023-07-02 00:45:18 +01:00
parent 7398af11b8
commit 9f9e277b60
360 changed files with 2672 additions and 2853 deletions

View file

@ -13,24 +13,24 @@ let
type = types.str; type = types.str;
default = "${cfg.basePath}/${name}"; default = "${cfg.basePath}/${name}";
defaultText = "accounts.calendar.basePath/name"; defaultText = "accounts.calendar.basePath/name";
description = lib.mdDoc "The path of the storage."; description = "The path of the storage.";
}; };
type = mkOption { type = mkOption {
type = types.enum [ "filesystem" "singlefile" ]; type = types.enum [ "filesystem" "singlefile" ];
description = lib.mdDoc "The type of the storage."; description = "The type of the storage.";
}; };
fileExt = mkOption { fileExt = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "The file extension to use."; description = "The file extension to use.";
}; };
encoding = mkOption { encoding = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
File encoding for items, both content and file name. File encoding for items, both content and file name.
Defaults to UTF-8. Defaults to UTF-8.
''; '';
@ -42,19 +42,19 @@ let
options = { options = {
type = mkOption { type = mkOption {
type = types.enum [ "caldav" "http" "google_calendar" ]; type = types.enum [ "caldav" "http" "google_calendar" ];
description = lib.mdDoc "The type of the storage."; description = "The type of the storage.";
}; };
url = mkOption { url = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "The URL of the storage."; description = "The URL of the storage.";
}; };
userName = mkOption { userName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "User name for authentication."; description = "User name for authentication.";
}; };
# userNameCommand = mkOption { # userNameCommand = mkOption {
@ -70,7 +70,7 @@ let
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
example = [ "pass" "caldav" ]; example = [ "pass" "caldav" ];
description = lib.mdDoc '' description = ''
A command that prints the password to standard output. A command that prints the password to standard output.
''; '';
}; };
@ -82,7 +82,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
Unique identifier of the calendar. This is set to the Unique identifier of the calendar. This is set to the
attribute name of the calendar configuration. attribute name of the calendar configuration.
''; '';
@ -91,7 +91,7 @@ let
primary = mkOption { primary = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether this is the primary account. Only one account may be Whether this is the primary account. Only one account may be
set as primary. set as primary.
''; '';
@ -99,7 +99,7 @@ let
primaryCollection = mkOption { primaryCollection = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
The primary collection of the account. Required when an The primary collection of the account. Required when an
account has multiple collections. account has multiple collections.
''; '';
@ -108,7 +108,7 @@ let
local = mkOption { local = mkOption {
type = types.nullOr (localModule name); type = types.nullOr (localModule name);
default = null; default = null;
description = lib.mdDoc '' description = ''
Local configuration for the calendar. Local configuration for the calendar.
''; '';
}; };
@ -116,7 +116,7 @@ let
remote = mkOption { remote = mkOption {
type = types.nullOr remoteModule; type = types.nullOr remoteModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
Remote configuration for the calendar. Remote configuration for the calendar.
''; '';
}; };
@ -131,7 +131,7 @@ in {
type = types.str; type = types.str;
apply = p: apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}"; if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = lib.mdDoc '' description = ''
The base directory in which to save calendars. May be a The base directory in which to save calendars. May be a
relative path, in which case it is relative the home relative path, in which case it is relative the home
directory. directory.
@ -146,7 +146,7 @@ in {
(import ../programs/khal-calendar-accounts.nix) (import ../programs/khal-calendar-accounts.nix)
]); ]);
default = { }; default = { };
description = lib.mdDoc "List of calendars."; description = "List of calendars.";
}; };
}; };
config = mkIf (cfg.accounts != { }) { config = mkIf (cfg.accounts != { }) {

View file

@ -13,24 +13,24 @@ let
type = types.str; type = types.str;
default = "${cfg.basePath}/${name}"; default = "${cfg.basePath}/${name}";
defaultText = "accounts.contact.basePath/name"; defaultText = "accounts.contact.basePath/name";
description = lib.mdDoc "The path of the storage."; description = "The path of the storage.";
}; };
type = mkOption { type = mkOption {
type = types.enum [ "filesystem" "singlefile" ]; type = types.enum [ "filesystem" "singlefile" ];
description = lib.mdDoc "The type of the storage."; description = "The type of the storage.";
}; };
fileExt = mkOption { fileExt = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "The file extension to use."; description = "The file extension to use.";
}; };
encoding = mkOption { encoding = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
File encoding for items, both content and file name. File encoding for items, both content and file name.
Defaults to UTF-8. Defaults to UTF-8.
''; '';
@ -42,19 +42,19 @@ let
options = { options = {
type = mkOption { type = mkOption {
type = types.enum [ "carddav" "http" "google_contacts" ]; type = types.enum [ "carddav" "http" "google_contacts" ];
description = lib.mdDoc "The type of the storage."; description = "The type of the storage.";
}; };
url = mkOption { url = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "The URL of the storage."; description = "The URL of the storage.";
}; };
userName = mkOption { userName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "User name for authentication."; description = "User name for authentication.";
}; };
# userNameCommand = mkOption { # userNameCommand = mkOption {
@ -70,7 +70,7 @@ let
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
example = [ "pass" "caldav" ]; example = [ "pass" "caldav" ];
description = lib.mdDoc '' description = ''
A command that prints the password to standard output. A command that prints the password to standard output.
''; '';
}; };
@ -82,7 +82,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
Unique identifier of the contact account. This is set to the Unique identifier of the contact account. This is set to the
attribute name of the contact configuration. attribute name of the contact configuration.
''; '';
@ -91,7 +91,7 @@ let
local = mkOption { local = mkOption {
type = types.nullOr (localModule name); type = types.nullOr (localModule name);
default = null; default = null;
description = lib.mdDoc '' description = ''
Local configuration for the contacts. Local configuration for the contacts.
''; '';
}; };
@ -99,7 +99,7 @@ let
remote = mkOption { remote = mkOption {
type = types.nullOr remoteModule; type = types.nullOr remoteModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
Remote configuration for the contacts. Remote configuration for the contacts.
''; '';
}; };
@ -114,7 +114,7 @@ in {
type = types.str; type = types.str;
apply = p: apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}"; if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = lib.mdDoc '' description = ''
The base directory in which to save contacts. May be a The base directory in which to save contacts. May be a
relative path, in which case it is relative the home relative path, in which case it is relative the home
directory. directory.
@ -128,7 +128,7 @@ in {
(import ../programs/khal-accounts.nix) (import ../programs/khal-accounts.nix)
]); ]);
default = { }; default = { };
description = lib.mdDoc "List of contacts."; description = "List of contacts.";
}; };
}; };
} }

View file

@ -10,7 +10,7 @@ let
options = { options = {
key = mkOption { key = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
The key to use as listed in {command}`gpg --list-keys`. The key to use as listed in {command}`gpg --list-keys`.
''; '';
}; };
@ -18,13 +18,13 @@ let
signByDefault = mkOption { signByDefault = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc "Sign messages by default."; description = "Sign messages by default.";
}; };
encryptByDefault = mkOption { encryptByDefault = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc "Encrypt outgoing messages by default."; description = "Encrypt outgoing messages by default.";
}; };
}; };
}; };
@ -39,7 +39,7 @@ let
Luke Skywalker Luke Skywalker
May the force be with you. May the force be with you.
''; '';
description = lib.mdDoc '' description = ''
Signature content. Signature content.
''; '';
}; };
@ -52,7 +52,7 @@ let
example = literalExpression '' example = literalExpression ''
~*~*~*~*~*~*~*~*~*~*~*~ ~*~*~*~*~*~*~*~*~*~*~*~
''; '';
description = lib.mdDoc '' description = ''
The delimiter used between the document and the signature. The delimiter used between the document and the signature.
''; '';
}; };
@ -63,13 +63,13 @@ let
example = literalExpression '' example = literalExpression ''
pkgs.writeScript "signature" "echo This is my signature" pkgs.writeScript "signature" "echo This is my signature"
''; '';
description = lib.mdDoc "A command that generates a signature."; description = "A command that generates a signature.";
}; };
showSignature = mkOption { showSignature = mkOption {
type = types.enum [ "append" "attach" "none" ]; type = types.enum [ "append" "attach" "none" ];
default = "none"; default = "none";
description = lib.mdDoc "Method to communicate the signature."; description = "Method to communicate the signature.";
}; };
}; };
}; };
@ -79,7 +79,7 @@ let
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable TLS/SSL. Whether to enable TLS/SSL.
''; '';
}; };
@ -87,7 +87,7 @@ let
useStartTls = mkOption { useStartTls = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to use STARTTLS. Whether to use STARTTLS.
''; '';
}; };
@ -96,7 +96,7 @@ let
type = types.nullOr types.path; type = types.nullOr types.path;
default = config.accounts.email.certificatesFile; default = config.accounts.email.certificatesFile;
defaultText = "config.accounts.email.certificatesFile"; defaultText = "config.accounts.email.certificatesFile";
description = lib.mdDoc '' description = ''
Path to file containing certificate authorities that should Path to file containing certificate authorities that should
be used to validate the connection authenticity. If be used to validate the connection authenticity. If
`null` then the system default is used. `null` then the system default is used.
@ -111,7 +111,7 @@ let
host = mkOption { host = mkOption {
type = types.str; type = types.str;
example = "imap.example.org"; example = "imap.example.org";
description = lib.mdDoc '' description = ''
Hostname of IMAP server. Hostname of IMAP server.
''; '';
}; };
@ -120,7 +120,7 @@ let
type = types.nullOr types.port; type = types.nullOr types.port;
default = null; default = null;
example = 993; example = 993;
description = lib.mdDoc '' description = ''
The port on which the IMAP server listens. If The port on which the IMAP server listens. If
`null` then the default port is used. `null` then the default port is used.
''; '';
@ -129,7 +129,7 @@ let
tls = mkOption { tls = mkOption {
type = tlsModule; type = tlsModule;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration for secure connections. Configuration for secure connections.
''; '';
}; };
@ -142,7 +142,7 @@ let
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "jmap.example.org"; example = "jmap.example.org";
description = lib.mdDoc '' description = ''
Hostname of JMAP server. Hostname of JMAP server.
If both this option and [](#opt-accounts.email.accounts._name_.jmap.sessionUrl) are specified, If both this option and [](#opt-accounts.email.accounts._name_.jmap.sessionUrl) are specified,
@ -155,7 +155,7 @@ let
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "https://jmap.example.org:443/.well-known/jmap"; example = "https://jmap.example.org:443/.well-known/jmap";
description = lib.mdDoc '' description = ''
URL for the JMAP Session resource. URL for the JMAP Session resource.
If both this option and [](#opt-accounts.email.accounts._name_.jmap.host) are specified, If both this option and [](#opt-accounts.email.accounts._name_.jmap.host) are specified,
@ -171,7 +171,7 @@ let
host = mkOption { host = mkOption {
type = types.str; type = types.str;
example = "smtp.example.org"; example = "smtp.example.org";
description = lib.mdDoc '' description = ''
Hostname of SMTP server. Hostname of SMTP server.
''; '';
}; };
@ -180,7 +180,7 @@ let
type = types.nullOr types.port; type = types.nullOr types.port;
default = null; default = null;
example = 465; example = 465;
description = lib.mdDoc '' description = ''
The port on which the SMTP server listens. If The port on which the SMTP server listens. If
`null` then the default port is used. `null` then the default port is used.
''; '';
@ -189,7 +189,7 @@ let
tls = mkOption { tls = mkOption {
type = tlsModule; type = tlsModule;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration for secure connections. Configuration for secure connections.
''; '';
}; };
@ -200,7 +200,7 @@ let
options = { options = {
path = mkOption { path = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
Path to maildir directory where mail for this account is Path to maildir directory where mail for this account is
stored. This is relative to the base maildir path. stored. This is relative to the base maildir path.
''; '';
@ -211,7 +211,7 @@ let
readOnly = true; readOnly = true;
internal = true; internal = true;
default = "${cfg.maildirBasePath}/${config.path}"; default = "${cfg.maildirBasePath}/${config.path}";
description = lib.mdDoc '' description = ''
A convenience option whose value is the absolute path of A convenience option whose value is the absolute path of
this maildir. this maildir.
''; '';
@ -224,7 +224,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
Unique identifier of the account. This is set to the Unique identifier of the account. This is set to the
attribute name of the account configuration. attribute name of the account configuration.
''; '';
@ -233,7 +233,7 @@ let
primary = mkOption { primary = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether this is the primary account. Only one account may be Whether this is the primary account. Only one account may be
set as primary. set as primary.
''; '';
@ -249,7 +249,7 @@ let
"outlook.office365.com" "outlook.office365.com"
]; ];
default = "plain"; default = "plain";
description = lib.mdDoc '' description = ''
Some email providers have peculiar behavior that require Some email providers have peculiar behavior that require
special treatment. This option is therefore intended to special treatment. This option is therefore intended to
indicate the nature of the provider. indicate the nature of the provider.
@ -263,26 +263,26 @@ let
address = mkOption { address = mkOption {
type = types.strMatching ".*@.*"; type = types.strMatching ".*@.*";
example = "jane.doe@example.org"; example = "jane.doe@example.org";
description = lib.mdDoc "The email address of this account."; description = "The email address of this account.";
}; };
aliases = mkOption { aliases = mkOption {
type = types.listOf (types.strMatching ".*@.*"); type = types.listOf (types.strMatching ".*@.*");
default = [ ]; default = [ ];
example = [ "webmaster@example.org" "admin@example.org" ]; example = [ "webmaster@example.org" "admin@example.org" ];
description = lib.mdDoc "Alternative email addresses of this account."; description = "Alternative email addresses of this account.";
}; };
realName = mkOption { realName = mkOption {
type = types.str; type = types.str;
example = "Jane Doe"; example = "Jane Doe";
description = lib.mdDoc "Name displayed when sending mails."; description = "Name displayed when sending mails.";
}; };
userName = mkOption { userName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
The server username of this account. This will be used as The server username of this account. This will be used as
the SMTP, IMAP, and JMAP user name. the SMTP, IMAP, and JMAP user name.
''; '';
@ -293,7 +293,7 @@ let
default = null; default = null;
apply = p: if isString p then splitString " " p else p; apply = p: if isString p then splitString " " p else p;
example = "secret-tool lookup email me@example.org"; example = "secret-tool lookup email me@example.org";
description = lib.mdDoc '' description = ''
A command, which when run writes the account password on A command, which when run writes the account password on
standard output. standard output.
''; '';
@ -305,7 +305,7 @@ let
inbox = mkOption { inbox = mkOption {
type = types.str; type = types.str;
default = "Inbox"; default = "Inbox";
description = lib.mdDoc '' description = ''
Relative path of the inbox mail. Relative path of the inbox mail.
''; '';
}; };
@ -313,7 +313,7 @@ let
sent = mkOption { sent = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = "Sent"; default = "Sent";
description = lib.mdDoc '' description = ''
Relative path of the sent mail folder. Relative path of the sent mail folder.
''; '';
}; };
@ -321,7 +321,7 @@ let
drafts = mkOption { drafts = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = "Drafts"; default = "Drafts";
description = lib.mdDoc '' description = ''
Relative path of the drafts mail folder. Relative path of the drafts mail folder.
''; '';
}; };
@ -329,14 +329,14 @@ let
trash = mkOption { trash = mkOption {
type = types.str; type = types.str;
default = "Trash"; default = "Trash";
description = lib.mdDoc '' description = ''
Relative path of the deleted mail folder. Relative path of the deleted mail folder.
''; '';
}; };
}; };
}; };
default = { }; default = { };
description = lib.mdDoc '' description = ''
Standard email folders. Standard email folders.
''; '';
}; };
@ -344,7 +344,7 @@ let
imap = mkOption { imap = mkOption {
type = types.nullOr imapModule; type = types.nullOr imapModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
The IMAP configuration to use for this account. The IMAP configuration to use for this account.
''; '';
}; };
@ -352,7 +352,7 @@ let
jmap = mkOption { jmap = mkOption {
type = types.nullOr jmapModule; type = types.nullOr jmapModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
The JMAP configuration to use for this account. The JMAP configuration to use for this account.
''; '';
}; };
@ -360,7 +360,7 @@ let
signature = mkOption { signature = mkOption {
type = signatureModule; type = signatureModule;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Signature configuration. Signature configuration.
''; '';
}; };
@ -368,7 +368,7 @@ let
gpg = mkOption { gpg = mkOption {
type = types.nullOr gpgModule; type = types.nullOr gpgModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
GPG configuration. GPG configuration.
''; '';
}; };
@ -376,7 +376,7 @@ let
smtp = mkOption { smtp = mkOption {
type = types.nullOr smtpModule; type = types.nullOr smtpModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
The SMTP configuration to use for this account. The SMTP configuration to use for this account.
''; '';
}; };
@ -384,7 +384,7 @@ let
maildir = mkOption { maildir = mkOption {
type = types.nullOr maildirModule; type = types.nullOr maildirModule;
defaultText = { path = "\${name}"; }; defaultText = { path = "\${name}"; };
description = lib.mdDoc '' description = ''
Maildir configuration for this account. Maildir configuration for this account.
''; '';
}; };
@ -477,7 +477,7 @@ in {
certificatesFile = mkOption { certificatesFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = "/etc/ssl/certs/ca-certificates.crt"; default = "/etc/ssl/certs/ca-certificates.crt";
description = lib.mdDoc '' description = ''
Path to default file containing certificate authorities that Path to default file containing certificate authorities that
should be used to validate the connection authenticity. This should be used to validate the connection authenticity. This
path may be overridden on a per-account basis. path may be overridden on a per-account basis.
@ -490,7 +490,7 @@ in {
defaultText = "$HOME/Maildir"; defaultText = "$HOME/Maildir";
apply = p: apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}"; if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = lib.mdDoc '' description = ''
The base directory for account maildir directories. May be a The base directory for account maildir directories. May be a
relative path, in which case it is relative the home relative path, in which case it is relative the home
directory. directory.
@ -500,7 +500,7 @@ in {
accounts = mkOption { accounts = mkOption {
type = types.attrsOf (types.submodule mailAccountOpts); type = types.attrsOf (types.submodule mailAccountOpts);
default = { }; default = { };
description = lib.mdDoc "List of email accounts."; description = "List of email accounts.";
}; };
}; };

View file

@ -11,40 +11,39 @@ let
package = mkOption { package = mkOption {
type = types.package; type = types.package;
example = literalExpression "pkgs.vanilla-dmz"; example = literalExpression "pkgs.vanilla-dmz";
description = lib.mdDoc "Package providing the cursor theme."; description = "Package providing the cursor theme.";
}; };
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "Vanilla-DMZ"; example = "Vanilla-DMZ";
description = lib.mdDoc "The cursor name within the package."; description = "The cursor name within the package.";
}; };
size = mkOption { size = mkOption {
type = types.int; type = types.int;
default = 32; default = 32;
example = 64; example = 64;
description = lib.mdDoc "The cursor size."; description = "The cursor size.";
}; };
x11 = { x11 = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
x11 config generation for {option}`home.pointerCursor` x11 config generation for {option}`home.pointerCursor`
''); '';
defaultCursor = mkOption { defaultCursor = mkOption {
type = types.str; type = types.str;
default = "left_ptr"; default = "left_ptr";
example = "X_cursor"; example = "X_cursor";
description = description = "The default cursor file to use within the package.";
lib.mdDoc "The default cursor file to use within the package.";
}; };
}; };
gtk = { gtk = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
gtk config generation for {option}`home.pointerCursor` gtk config generation for {option}`home.pointerCursor`
''); '';
}; };
}; };
}; };
@ -57,22 +56,22 @@ in {
meta.maintainers = [ maintainers.polykernel maintainers.league ]; meta.maintainers = [ maintainers.polykernel maintainers.league ];
imports = [ imports = [
(mkAliasOptionModuleMD [ "xsession" "pointerCursor" "package" ] [ (mkAliasOptionModule [ "xsession" "pointerCursor" "package" ] [
"home" "home"
"pointerCursor" "pointerCursor"
"package" "package"
]) ])
(mkAliasOptionModuleMD [ "xsession" "pointerCursor" "name" ] [ (mkAliasOptionModule [ "xsession" "pointerCursor" "name" ] [
"home" "home"
"pointerCursor" "pointerCursor"
"name" "name"
]) ])
(mkAliasOptionModuleMD [ "xsession" "pointerCursor" "size" ] [ (mkAliasOptionModule [ "xsession" "pointerCursor" "size" ] [
"home" "home"
"pointerCursor" "pointerCursor"
"size" "size"
]) ])
(mkAliasOptionModuleMD [ "xsession" "pointerCursor" "defaultCursor" ] [ (mkAliasOptionModule [ "xsession" "pointerCursor" "defaultCursor" ] [
"home" "home"
"pointerCursor" "pointerCursor"
"x11" "x11"
@ -95,7 +94,7 @@ in {
home.pointerCursor = mkOption { home.pointerCursor = mkOption {
type = types.nullOr pointerCursorModule; type = types.nullOr pointerCursorModule;
default = null; default = null;
description = lib.mdDoc '' description = ''
Cursor configuration. Set to `null` to disable. Cursor configuration. Set to `null` to disable.
Top-level options declared under this submodule are backend independent Top-level options declared under this submodule are backend independent

View file

@ -40,7 +40,7 @@ in {
options = { options = {
i18n.glibcLocales = mkOption { i18n.glibcLocales = mkOption {
type = types.path; type = types.path;
description = lib.mdDoc '' description = ''
Customized `glibcLocales` package providing Customized `glibcLocales` package providing
the `LOCALE_ARCHIVE_*` environment variable. the `LOCALE_ARCHIVE_*` environment variable.

View file

@ -26,7 +26,7 @@ in
{ {
options = { options = {
home.file = mkOption { home.file = mkOption {
description = lib.mdDoc "Attribute set of files to link into the user home."; description = "Attribute set of files to link into the user home.";
default = {}; default = {};
type = fileType "home.file" "{env}`HOME`" homeDirectory; type = fileType "home.file" "{env}`HOME`" homeDirectory;
}; };
@ -34,7 +34,7 @@ in
home-files = mkOption { home-files = mkOption {
type = types.package; type = types.package;
internal = true; internal = true;
description = lib.mdDoc "Package to contain all home files"; description = "Package to contain all home files";
}; };
}; };

View file

@ -13,7 +13,7 @@ let
base = mkOption { base = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use unless overridden by a more specific option. The language to use unless overridden by a more specific option.
''; '';
}; };
@ -21,7 +21,7 @@ let
ctype = mkOption { ctype = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
Character classification category. Character classification category.
''; '';
}; };
@ -29,7 +29,7 @@ let
numeric = mkOption { numeric = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for numerical values. The language to use for numerical values.
''; '';
}; };
@ -37,7 +37,7 @@ let
time = mkOption { time = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for formatting times. The language to use for formatting times.
''; '';
}; };
@ -45,7 +45,7 @@ let
collate = mkOption { collate = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for collation (alphabetical ordering). The language to use for collation (alphabetical ordering).
''; '';
}; };
@ -53,7 +53,7 @@ let
monetary = mkOption { monetary = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for formatting currencies and money amounts. The language to use for formatting currencies and money amounts.
''; '';
}; };
@ -61,7 +61,7 @@ let
messages = mkOption { messages = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for messages, application UI languages, etc. The language to use for messages, application UI languages, etc.
''; '';
}; };
@ -69,7 +69,7 @@ let
paper = mkOption { paper = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for paper sizes. The language to use for paper sizes.
''; '';
}; };
@ -77,7 +77,7 @@ let
name = mkOption { name = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for personal names. The language to use for personal names.
''; '';
}; };
@ -85,7 +85,7 @@ let
address = mkOption { address = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for addresses. The language to use for addresses.
''; '';
}; };
@ -93,7 +93,7 @@ let
telephone = mkOption { telephone = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for telephone numbers. The language to use for telephone numbers.
''; '';
}; };
@ -101,7 +101,7 @@ let
measurement = mkOption { measurement = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The language to use for measurement values. The language to use for measurement values.
''; '';
}; };
@ -118,7 +118,7 @@ let
then null then null
else "us"; else "us";
defaultText = literalExpression "null"; defaultText = literalExpression "null";
description = lib.mdDoc '' description = ''
Keyboard layout. If `null`, then the system Keyboard layout. If `null`, then the system
configuration will be used. configuration will be used.
@ -131,7 +131,7 @@ let
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
example = "presario"; example = "presario";
description = lib.mdDoc '' description = ''
Keyboard model. Keyboard model.
''; '';
}; };
@ -140,7 +140,7 @@ let
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = ["grp:caps_toggle" "grp_led:scroll"]; example = ["grp:caps_toggle" "grp_led:scroll"];
description = lib.mdDoc '' description = ''
X keyboard options; layout switching goes here. X keyboard options; layout switching goes here.
''; '';
}; };
@ -153,7 +153,7 @@ let
else ""; else "";
defaultText = literalExpression "null"; defaultText = literalExpression "null";
example = "colemak"; example = "colemak";
description = lib.mdDoc '' description = ''
X keyboard variant. If `null`, then the X keyboard variant. If `null`, then the
system configuration will be used. system configuration will be used.
@ -189,7 +189,7 @@ in
undefined for state version 20.09 undefined for state version 20.09
''; '';
example = "jane.doe"; example = "jane.doe";
description = lib.mdDoc "The user's username."; description = "The user's username.";
}; };
home.homeDirectory = mkOption { home.homeDirectory = mkOption {
@ -200,7 +200,7 @@ in
''; '';
apply = toString; apply = toString;
example = "/home/jane.doe"; example = "/home/jane.doe";
description = lib.mdDoc "The user's home directory. Must be an absolute path."; description = "The user's home directory. Must be an absolute path.";
}; };
home.profileDirectory = mkOption { home.profileDirectory = mkOption {
@ -210,7 +210,7 @@ in
"/etc/profiles/per-user/''${home.username}" "/etc/profiles/per-user/''${home.username}"
''; '';
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
The profile directory where Home Manager generations are installed. The profile directory where Home Manager generations are installed.
''; '';
}; };
@ -218,7 +218,7 @@ in
home.language = mkOption { home.language = mkOption {
type = languageSubModule; type = languageSubModule;
default = {}; default = {};
description = lib.mdDoc "Language configuration."; description = "Language configuration.";
}; };
home.keyboard = mkOption { home.keyboard = mkOption {
@ -228,7 +228,7 @@ in
"{ }" for state version < 21.11, "{ }" for state version < 21.11,
"null" for state version 21.11 "null" for state version 21.11
''; '';
description = lib.mdDoc '' description = ''
Keyboard configuration. Set to `null` to Keyboard configuration. Set to `null` to
disable Home Manager keyboard management. disable Home Manager keyboard management.
''; '';
@ -243,7 +243,7 @@ in
"..." = "cd ../.."; "..." = "cd ../..";
} }
''; '';
description = lib.mdDoc '' description = ''
An attribute set that maps aliases (the top level attribute names An attribute set that maps aliases (the top level attribute names
in this option) to command strings or directly to build outputs. in this option) to command strings or directly to build outputs.
@ -258,7 +258,7 @@ in
default = {}; default = {};
type = with types; lazyAttrsOf (oneOf [ str path int float ]); type = with types; lazyAttrsOf (oneOf [ str path int float ]);
example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; }; example = { EDITOR = "emacs"; GS_OPTIONS = "-sPAPERSIZE=a4"; };
description = lib.mdDoc '' description = ''
Environment variables to always set at login. Environment variables to always set at login.
The values may refer to other environment variables using The values may refer to other environment variables using
@ -294,7 +294,7 @@ in
home.sessionVariablesPackage = mkOption { home.sessionVariablesPackage = mkOption {
type = types.package; type = types.package;
internal = true; internal = true;
description = lib.mdDoc '' description = ''
The package containing the The package containing the
{file}`hm-session-vars.sh` file. {file}`hm-session-vars.sh` file.
''; '';
@ -308,7 +308,7 @@ in
"\${xdg.configHome}/emacs/bin" "\${xdg.configHome}/emacs/bin"
".git/safe/../../bin" ".git/safe/../../bin"
]; ];
description = lib.mdDoc '' description = ''
Extra directories to add to {env}`PATH`. Extra directories to add to {env}`PATH`.
These directories are added to the {env}`PATH` variable in a These directories are added to the {env}`PATH` variable in a
@ -323,7 +323,7 @@ in
type = types.lines; type = types.lines;
default = ""; default = "";
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Extra configuration to add to the Extra configuration to add to the
{file}`hm-session-vars.sh` file. {file}`hm-session-vars.sh` file.
''; '';
@ -332,14 +332,14 @@ in
home.packages = mkOption { home.packages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = []; default = [];
description = lib.mdDoc "The set of packages to appear in the user environment."; description = "The set of packages to appear in the user environment.";
}; };
home.extraOutputsToInstall = mkOption { home.extraOutputsToInstall = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = [ "doc" "info" "devdoc" ]; example = [ "doc" "info" "devdoc" ];
description = lib.mdDoc '' description = ''
List of additional package outputs of the packages List of additional package outputs of the packages
{var}`home.packages` that should be installed into {var}`home.packages` that should be installed into
the user environment. the user environment.
@ -348,7 +348,7 @@ in
home.path = mkOption { home.path = mkOption {
internal = true; internal = true;
description = lib.mdDoc "The derivation installing the user packages."; description = "The derivation installing the user packages.";
}; };
home.emptyActivationPath = mkOption { home.emptyActivationPath = mkOption {
@ -359,7 +359,7 @@ in
false for state version < 22.11, false for state version < 22.11,
true for state version 22.11 true for state version 22.11
''; '';
description = lib.mdDoc '' description = ''
Whether the activation script should start with an empty Whether the activation script should start with an empty
{env}`PATH` variable. When `false` then the {env}`PATH` variable. When `false` then the
user's {env}`PATH` will be accessible in the script. It is user's {env}`PATH` will be accessible in the script. It is
@ -379,7 +379,7 @@ in
'''; ''';
} }
''; '';
description = lib.mdDoc '' description = ''
The activation scripts blocks to run when activating a Home The activation scripts blocks to run when activating a Home
Manager generation. Any entry here should be idempotent, Manager generation. Any entry here should be idempotent,
meaning running twice or more times produces the same result meaning running twice or more times produces the same result
@ -414,14 +414,14 @@ in
home.activationPackage = mkOption { home.activationPackage = mkOption {
internal = true; internal = true;
type = types.package; type = types.package;
description = lib.mdDoc "The package containing the complete activation script."; description = "The package containing the complete activation script.";
}; };
home.extraActivationPath = mkOption { home.extraActivationPath = mkOption {
internal = true; internal = true;
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = lib.mdDoc '' description = ''
Extra packages to add to {env}`PATH` within the activation Extra packages to add to {env}`PATH` within the activation
script. script.
''; '';
@ -431,7 +431,7 @@ in
type = types.lines; type = types.lines;
default = ""; default = "";
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Extra commands to run in the Home Manager generation builder. Extra commands to run in the Home Manager generation builder.
''; '';
}; };
@ -440,7 +440,7 @@ in
type = types.lines; type = types.lines;
default = ""; default = "";
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Extra commands to run in the Home Manager profile builder. Extra commands to run in the Home Manager profile builder.
''; '';
}; };
@ -448,7 +448,7 @@ in
home.enableNixpkgsReleaseCheck = mkOption { home.enableNixpkgsReleaseCheck = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Determines whether to check for release version mismatch between Home Determines whether to check for release version mismatch between Home
Manager and Nixpkgs. Using mismatched versions is likely to cause errors Manager and Nixpkgs. Using mismatched versions is likely to cause errors
and unexpected behavior. It is therefore highly recommended to use a and unexpected behavior. It is therefore highly recommended to use a

View file

@ -31,7 +31,7 @@ in {
(types.enum [ "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]); (types.enum [ "fcitx" "fcitx5" "nabi" "uim" "hime" "kime" ]);
default = null; default = null;
example = "fcitx5"; example = "fcitx5";
description = lib.mdDoc '' description = ''
Select the enabled input method. Input methods are software to input Select the enabled input method. Input methods are software to input
symbols that are not available on standard input devices. symbols that are not available on standard input devices.
@ -65,7 +65,7 @@ in {
internal = true; internal = true;
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
The input method method package. The input method method package.
''; '';
}; };

View file

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

View file

@ -26,7 +26,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
kime configuration. Refer to kime configuration. Refer to
<https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md> <https://github.com/Riey/kime/blob/develop/docs/CONFIGURATION.md>
for details on supported values. for details on supported values.

View file

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

View file

@ -12,7 +12,7 @@ let
launchdConfig = { config, name, ... }: { launchdConfig = { config, name, ... }: {
options = { options = {
enable = mkEnableOption (lib.mdDoc name); enable = mkEnableOption name;
config = mkOption { config = mkOption {
type = types.submodule (import ./launchd.nix); type = types.submodule (import ./launchd.nix);
default = { }; default = { };
@ -27,7 +27,7 @@ let
]; ];
} }
''; '';
description = lib.mdDoc '' description = ''
Define a launchd job. See {manpage}`launchd.plist(5)` for details. Define a launchd job. See {manpage}`launchd.plist(5)` for details.
''; '';
}; };
@ -64,7 +64,7 @@ in {
type = types.bool; type = types.bool;
default = isDarwin; default = isDarwin;
defaultText = literalExpression "pkgs.stdenv.hostPlatform.isDarwin"; defaultText = literalExpression "pkgs.stdenv.hostPlatform.isDarwin";
description = lib.mdDoc '' description = ''
Whether to enable Home Manager to define per-user daemons by making use Whether to enable Home Manager to define per-user daemons by making use
of launchd's LaunchAgents. of launchd's LaunchAgents.
''; '';
@ -73,7 +73,7 @@ in {
agents = mkOption { agents = mkOption {
type = with types; attrsOf (submodule launchdConfig); type = with types; attrsOf (submodule launchdConfig);
default = { }; default = { };
description = lib.mdDoc "Define LaunchAgents."; description = "Define LaunchAgents.";
}; };
}; };

View file

@ -33,14 +33,13 @@ with lib;
options = { options = {
Label = mkOption { Label = mkOption {
type = types.str; type = types.str;
description = description = "This required key uniquely identifies the job to launchd.";
lib.mdDoc "This required key uniquely identifies the job to launchd.";
}; };
Disabled = mkOption { Disabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used as a hint to `launchctl(1)` that it should not submit this job to launchd when This optional key is used as a hint to `launchctl(1)` that it should not submit this job to launchd when
loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running loading a job or jobs. The value of this key does NOT reflect the current state of the job on the running
system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration system. If you wish to know whether a job is loaded in launchd, reading this key from a configuration
@ -63,7 +62,7 @@ with lib;
UserName = mkOption { UserName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the user to run the job as. This key is only applicable when launchd is This optional key specifies the user to run the job as. This key is only applicable when launchd is
running as root. running as root.
''; '';
@ -72,7 +71,7 @@ with lib;
GroupName = mkOption { GroupName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the group to run the job as. This key is only applicable when launchd is This optional key specifies the group to run the job as. This key is only applicable when launchd is
running as root. If UserName is set and GroupName is not, the the group will be set to the default running as root. If UserName is set and GroupName is not, the the group will be set to the default
group of the user. group of the user.
@ -82,7 +81,7 @@ with lib;
inetdCompatibility = mkOption { inetdCompatibility = mkOption {
default = null; default = null;
example = { Wait = true; }; example = { Wait = true; };
description = lib.mdDoc '' description = ''
The presence of this key specifies that the daemon expects to be run as if it were launched from inetd. The presence of this key specifies that the daemon expects to be run as if it were launched from inetd.
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -90,7 +89,7 @@ with lib;
Wait = mkOption { Wait = mkOption {
type = types.nullOr (types.either types.bool types.str); type = types.nullOr (types.either types.bool types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening This flag corresponds to the "wait" or "nowait" option of inetd. If true, then the listening
socket is passed via the standard in/out/error file descriptors. If false, then `accept(2)` is socket is passed via the standard in/out/error file descriptors. If false, then `accept(2)` is
called on behalf of the job, and the result is passed via the standard in/out/error descriptors. called on behalf of the job, and the result is passed via the standard in/out/error descriptors.
@ -103,7 +102,7 @@ with lib;
LimitLoadToHosts = mkOption { LimitLoadToHosts = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
This configuration file only applies to the hosts listed with this key. Note: One should set kern.hostname This configuration file only applies to the hosts listed with this key. Note: One should set kern.hostname
in `sysctl.conf(5)` for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
@ -112,7 +111,7 @@ with lib;
LimitLoadFromHosts = mkOption { LimitLoadFromHosts = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.hostname This configuration file only applies to hosts NOT listed with this key. Note: One should set kern.hostname
in `sysctl.conf(5)` for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
@ -121,7 +120,7 @@ with lib;
LimitLoadToSessionType = mkOption { LimitLoadToSessionType = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This configuration file only applies to sessions of the type specified. This key is used in concert This configuration file only applies to sessions of the type specified. This key is used in concert
with the -S flag to {command}`launchctl`. with the -S flag to {command}`launchctl`.
''; '';
@ -130,7 +129,7 @@ with lib;
Program = mkOption { Program = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
This key maps to the first argument of `execvp(3)`. If this key is missing, then the first element of This key maps to the first argument of `execvp(3)`. If this key is missing, then the first element of
the array of strings provided to the ProgramArguments will be used instead. This key is required in the array of strings provided to the ProgramArguments will be used instead. This key is required in
the absence of the ProgramArguments key. the absence of the ProgramArguments key.
@ -140,7 +139,7 @@ with lib;
ProgramArguments = mkOption { ProgramArguments = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
This key maps to the second argument of `execvp(3)`. This key is required in the absence of the Program This key maps to the second argument of `execvp(3)`. This key is required in the absence of the Program
key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully! key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully!
''; '';
@ -149,7 +148,7 @@ with lib;
EnableGlobbing = mkOption { EnableGlobbing = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This flag causes launchd to use the `glob(3)` mechanism to update the program arguments before invocation. This flag causes launchd to use the `glob(3)` mechanism to update the program arguments before invocation.
''; '';
}; };
@ -157,7 +156,7 @@ with lib;
EnableTransactions = mkOption { EnableTransactions = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
`vproc_transaction_end(3)` to track outstanding transactions that need to be reconciled before the `vproc_transaction_end(3)` to track outstanding transactions that need to be reconciled before the
process can safely terminate. If no outstanding transactions are in progress, then launchd is free to process can safely terminate. If no outstanding transactions are in progress, then launchd is free to
@ -168,7 +167,7 @@ with lib;
OnDemand = mkOption { OnDemand = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This key was used in Mac OS X 10.4 to control whether a job was kept alive or not. The default was This key was used in Mac OS X 10.4 to control whether a job was kept alive or not. The default was
true. This key has been deprecated and replaced in Mac OS X 10.5 and later with the more powerful true. This key has been deprecated and replaced in Mac OS X 10.5 and later with the more powerful
KeepAlive option. KeepAlive option.
@ -182,7 +181,7 @@ with lib;
SuccessfulExit = mkOption { SuccessfulExit = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
If true, the job will be restarted as long as the program exits and with an exit status of zero. If true, the job will be restarted as long as the program exits and with an exit status of zero.
If false, the job will be restarted in the inverse condition. This key implies that "RunAtLoad" If false, the job will be restarted in the inverse condition. This key implies that "RunAtLoad"
is set to true, since the job needs to run at least once before we can get an exit status. is set to true, since the job needs to run at least once before we can get an exit status.
@ -192,7 +191,7 @@ with lib;
NetworkState = mkOption { NetworkState = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
If true, the job will be kept alive as long as the network is up, where up is defined as at least If true, the job will be kept alive as long as the network is up, where up is defined as at least
one non-loopback interface being up and having IPv4 or IPv6 addresses assigned to them. If one non-loopback interface being up and having IPv4 or IPv6 addresses assigned to them. If
false, the job will be kept alive in the inverse condition. false, the job will be kept alive in the inverse condition.
@ -202,7 +201,7 @@ with lib;
PathState = mkOption { PathState = mkOption {
type = types.nullOr (types.attrsOf types.bool); type = types.nullOr (types.attrsOf types.bool);
default = null; default = null;
description = lib.mdDoc '' description = ''
Each key in this dictionary is a file-system path. If the value of the key is true, then the job Each key in this dictionary is a file-system path. If the value of the key is true, then the job
will be kept alive as long as the path exists. If false, the job will be kept alive in the will be kept alive as long as the path exists. If false, the job will be kept alive in the
inverse condition. The intent of this feature is that two or more jobs may create semaphores in inverse condition. The intent of this feature is that two or more jobs may create semaphores in
@ -213,7 +212,7 @@ with lib;
OtherJobEnabled = mkOption { OtherJobEnabled = mkOption {
type = types.nullOr (types.attrsOf types.bool); type = types.nullOr (types.attrsOf types.bool);
default = null; default = null;
description = lib.mdDoc '' description = ''
Each key in this dictionary is the label of another job. If the value of the key is true, then Each key in this dictionary is the label of another job. If the value of the key is true, then
this job is kept alive as long as that other job is enabled. Otherwise, if the value is false, this job is kept alive as long as that other job is enabled. Otherwise, if the value is false,
then this job is kept alive as long as the other job is disabled. This feature should not be then this job is kept alive as long as the other job is disabled. This feature should not be
@ -224,7 +223,7 @@ with lib;
Crashed = mkOption { Crashed = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
If true, the the job will be restarted as long as it exited due to a signal which is typically If true, the the job will be restarted as long as it exited due to a signal which is typically
associated with a crash (SIGILL, SIGSEGV, etc.). If false, the job will be restarted in the associated with a crash (SIGILL, SIGSEGV, etc.). If false, the job will be restarted in the
inverse condition. inverse condition.
@ -239,7 +238,7 @@ with lib;
}; };
})); }));
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to control whether your job is to be kept continuously running or to let This optional key is used to control whether your job is to be kept continuously running or to let
demand and conditions control the invocation. The default is false and therefore only demand will start demand and conditions control the invocation. The default is false and therefore only demand will start
the job. The value may be set to true to unconditionally keep the job alive. Alternatively, a dictionary the job. The value may be set to true to unconditionally keep the job alive. Alternatively, a dictionary
@ -254,7 +253,7 @@ with lib;
RunAtLoad = mkOption { RunAtLoad = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to control whether your job is launched once at the time the job is loaded. This optional key is used to control whether your job is launched once at the time the job is loaded.
The default is false. The default is false.
''; '';
@ -263,7 +262,7 @@ with lib;
RootDirectory = mkOption { RootDirectory = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to specify a directory to `chroot(2)` to before running the job. This optional key is used to specify a directory to `chroot(2)` to before running the job.
''; '';
}; };
@ -271,7 +270,7 @@ with lib;
WorkingDirectory = mkOption { WorkingDirectory = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to specify a directory to `chdir(2)` to before running the job. This optional key is used to specify a directory to `chdir(2)` to before running the job.
''; '';
}; };
@ -279,7 +278,7 @@ with lib;
EnvironmentVariables = mkOption { EnvironmentVariables = mkOption {
type = types.nullOr (types.attrsOf types.str); type = types.nullOr (types.attrsOf types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to specify additional environment variables to be set before running the This optional key is used to specify additional environment variables to be set before running the
job. job.
''; '';
@ -288,7 +287,7 @@ with lib;
Umask = mkOption { Umask = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies what value should be passed to `umask(2)` before running the job. Known bug: This optional key specifies what value should be passed to `umask(2)` before running the job. Known bug:
Property lists don't support octal, so please convert the value to decimal. Property lists don't support octal, so please convert the value to decimal.
''; '';
@ -297,7 +296,7 @@ with lib;
TimeOut = mkOption { TimeOut = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The recommended idle time out (in seconds) to pass to the job. If no value is specified, a default time The recommended idle time out (in seconds) to pass to the job. If no value is specified, a default time
out will be supplied by launchd for use by the job at check in time. out will be supplied by launchd for use by the job at check in time.
''; '';
@ -306,7 +305,7 @@ with lib;
ExitTimeOut = mkOption { ExitTimeOut = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The amount of time launchd waits before sending a SIGKILL signal. The default value is 20 seconds. The The amount of time launchd waits before sending a SIGKILL signal. The default value is 20 seconds. The
value zero is interpreted as infinity. value zero is interpreted as infinity.
''; '';
@ -315,7 +314,7 @@ with lib;
ThrottleInterval = mkOption { ThrottleInterval = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
This key lets one override the default throttling policy imposed on jobs by launchd. The value is in This key lets one override the default throttling policy imposed on jobs by launchd. The value is in
seconds, and by default, jobs will not be spawned more than once every 10 seconds. The principle seconds, and by default, jobs will not be spawned more than once every 10 seconds. The principle
behind this is that jobs should linger around just in case they are needed again in the near future. behind this is that jobs should linger around just in case they are needed again in the near future.
@ -327,7 +326,7 @@ with lib;
InitGroups = mkOption { InitGroups = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies whether `initgroups(3)` should be called before running the job. The default This optional key specifies whether `initgroups(3)` should be called before running the job. The default
is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set. is true in 10.5 and false in 10.4. This key will be ignored if the UserName key is not set.
''; '';
@ -336,7 +335,7 @@ with lib;
WatchPaths = mkOption { WatchPaths = mkOption {
type = types.nullOr (types.listOf types.path); type = types.nullOr (types.listOf types.path);
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key causes the job to be started if any one of the listed paths are modified. This optional key causes the job to be started if any one of the listed paths are modified.
''; '';
}; };
@ -344,7 +343,7 @@ with lib;
QueueDirectories = mkOption { QueueDirectories = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = lib.mdDoc '' description = ''
Much like the WatchPaths option, this key will watch the paths for modifications. The difference being Much like the WatchPaths option, this key will watch the paths for modifications. The difference being
that the job will only be started if the path is a directory and the directory is not empty. that the job will only be started if the path is a directory and the directory is not empty.
''; '';
@ -353,7 +352,7 @@ with lib;
StartOnMount = mkOption { StartOnMount = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key causes the job to be started every time a filesystem is mounted. This optional key causes the job to be started every time a filesystem is mounted.
''; '';
}; };
@ -361,7 +360,7 @@ with lib;
StartInterval = mkOption { StartInterval = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key causes the job to be started every N seconds. If the system is asleep, the job will This optional key causes the job to be started every N seconds. If the system is asleep, the job will
be started the next time the computer wakes up. If multiple intervals transpire before the computer is be started the next time the computer wakes up. If multiple intervals transpire before the computer is
woken, those events will be coalesced into one event upon wake from sleep. woken, those events will be coalesced into one event upon wake from sleep.
@ -374,7 +373,7 @@ with lib;
Hour = 2; Hour = 2;
Minute = 30; Minute = 30;
}; };
description = lib.mdDoc '' description = ''
This optional key causes the job to be started every calendar interval as specified. Missing arguments This optional key causes the job to be started every calendar interval as specified. Missing arguments
are considered to be wildcard. The semantics are much like `crontab(5)`. Unlike cron which skips job are considered to be wildcard. The semantics are much like `crontab(5)`. Unlike cron which skips job
invocations when the computer is asleep, launchd will start the job the next time the computer wakes invocations when the computer is asleep, launchd will start the job the next time the computer wakes
@ -386,7 +385,7 @@ with lib;
Minute = mkOption { Minute = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The minute on which this job will be run. The minute on which this job will be run.
''; '';
}; };
@ -394,7 +393,7 @@ with lib;
Hour = mkOption { Hour = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The hour on which this job will be run. The hour on which this job will be run.
''; '';
}; };
@ -402,7 +401,7 @@ with lib;
Day = mkOption { Day = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The day on which this job will be run. The day on which this job will be run.
''; '';
}; };
@ -410,7 +409,7 @@ with lib;
Weekday = mkOption { Weekday = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The weekday on which this job will be run (0 and 7 are Sunday). The weekday on which this job will be run (0 and 7 are Sunday).
''; '';
}; };
@ -418,7 +417,7 @@ with lib;
Month = mkOption { Month = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The month on which this job will be run. The month on which this job will be run.
''; '';
}; };
@ -429,7 +428,7 @@ with lib;
StandardInPath = mkOption { StandardInPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies what file should be used for data being supplied to stdin when using This optional key specifies what file should be used for data being supplied to stdin when using
`stdio(3)`. `stdio(3)`.
''; '';
@ -438,7 +437,7 @@ with lib;
StandardOutPath = mkOption { StandardOutPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`. This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`.
''; '';
}; };
@ -446,7 +445,7 @@ with lib;
StandardErrorPath = mkOption { StandardErrorPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`. This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`.
''; '';
}; };
@ -454,7 +453,7 @@ with lib;
Debug = mkOption { Debug = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while
dealing with this job. dealing with this job.
''; '';
@ -463,7 +462,7 @@ with lib;
WaitForDebugger = mkOption { WaitForDebugger = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger This optional key specifies that launchd should instruct the kernel to have the job wait for a debugger
to attach before any code in the job is executed. to attach before any code in the job is executed.
''; '';
@ -471,7 +470,7 @@ with lib;
SoftResourceLimits = mkOption { SoftResourceLimits = mkOption {
default = null; default = null;
description = lib.mdDoc '' description = ''
Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
@ -480,7 +479,7 @@ with lib;
Core = mkOption { Core = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The largest size (in bytes) core file that may be created. The largest size (in bytes) core file that may be created.
''; '';
}; };
@ -488,7 +487,7 @@ with lib;
CPU = mkOption { CPU = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum amount of cpu time (in seconds) to be used by each process. The maximum amount of cpu time (in seconds) to be used by each process.
''; '';
}; };
@ -496,7 +495,7 @@ with lib;
Data = mkOption { Data = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the `sbrk(2)` system call. extend its break with the `sbrk(2)` system call.
''; '';
@ -505,7 +504,7 @@ with lib;
FileSize = mkOption { FileSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The largest size (in bytes) file that may be created. The largest size (in bytes) file that may be created.
''; '';
}; };
@ -513,7 +512,7 @@ with lib;
MemoryLock = mkOption { MemoryLock = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) which a process may lock into memory using the mlock(2) function. The maximum size (in bytes) which a process may lock into memory using the mlock(2) function.
''; '';
}; };
@ -521,7 +520,7 @@ with lib;
NumberOfFiles = mkOption { NumberOfFiles = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values. value in addition to the `setrlimit(2)` values.
@ -531,7 +530,7 @@ with lib;
NumberOfProcesses = mkOption { NumberOfProcesses = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the `setrlimit(2)` values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
@ -541,7 +540,7 @@ with lib;
ResidentSetSize = mkOption { ResidentSetSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) to which a process's resident set size may grow. This imposes a The maximum size (in bytes) to which a process's resident set size may grow. This imposes a
limit on the amount of physical memory to be given to a process; if memory is tight, the system limit on the amount of physical memory to be given to a process; if memory is tight, the system
will prefer to take memory from processes that are exceeding their declared resident set size. will prefer to take memory from processes that are exceeding their declared resident set size.
@ -551,7 +550,7 @@ with lib;
Stack = mkOption { Stack = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) of the stack segment for a process; this defines how far a program's The maximum size (in bytes) of the stack segment for a process; this defines how far a program's
stack segment may be extended. Stack extension is performed automatically by the system. stack segment may be extended. Stack extension is performed automatically by the system.
''; '';
@ -563,7 +562,7 @@ with lib;
HardResourceLimits = mkOption { HardResourceLimits = mkOption {
default = null; default = null;
example = { NumberOfFiles = 4096; }; example = { NumberOfFiles = 4096; };
description = lib.mdDoc '' description = ''
Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
@ -572,7 +571,7 @@ with lib;
Core = mkOption { Core = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The largest size (in bytes) core file that may be created. The largest size (in bytes) core file that may be created.
''; '';
}; };
@ -580,7 +579,7 @@ with lib;
CPU = mkOption { CPU = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum amount of cpu time (in seconds) to be used by each process. The maximum amount of cpu time (in seconds) to be used by each process.
''; '';
}; };
@ -588,7 +587,7 @@ with lib;
Data = mkOption { Data = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) of the data segment for a process; this defines how far a program may The maximum size (in bytes) of the data segment for a process; this defines how far a program may
extend its break with the `sbrk(2)` system call. extend its break with the `sbrk(2)` system call.
''; '';
@ -597,7 +596,7 @@ with lib;
FileSize = mkOption { FileSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The largest size (in bytes) file that may be created. The largest size (in bytes) file that may be created.
''; '';
}; };
@ -605,7 +604,7 @@ with lib;
MemoryLock = mkOption { MemoryLock = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function. The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function.
''; '';
}; };
@ -613,7 +612,7 @@ with lib;
NumberOfFiles = mkOption { NumberOfFiles = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum number of open files for this process. Setting this value in a system wide daemon The maximum number of open files for this process. Setting this value in a system wide daemon
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values. value in addition to the `setrlimit(2)` values.
@ -623,7 +622,7 @@ with lib;
NumberOfProcesses = mkOption { NumberOfProcesses = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum number of simultaneous processes for this user id. Setting this value in a system The maximum number of simultaneous processes for this user id. Setting this value in a system
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the `setrlimit(2)` values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
@ -633,7 +632,7 @@ with lib;
ResidentSetSize = mkOption { ResidentSetSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) to which a process's resident set size may grow. This imposes a The maximum size (in bytes) to which a process's resident set size may grow. This imposes a
limit on the amount of physical memory to be given to a process; if memory is tight, the system limit on the amount of physical memory to be given to a process; if memory is tight, the system
will prefer to take memory from processes that are exceeding their declared resident set size. will prefer to take memory from processes that are exceeding their declared resident set size.
@ -643,7 +642,7 @@ with lib;
Stack = mkOption { Stack = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
The maximum size (in bytes) of the stack segment for a process; this defines how far a program's The maximum size (in bytes) of the stack segment for a process; this defines how far a program's
stack segment may be extended. Stack extension is performed automatically by the system. stack segment may be extended. Stack extension is performed automatically by the system.
''; '';
@ -655,7 +654,7 @@ with lib;
Nice = mkOption { Nice = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies what nice(3) value should be applied to the daemon. This optional key specifies what nice(3) value should be applied to the daemon.
''; '';
}; };
@ -665,7 +664,7 @@ with lib;
(types.enum [ "Background" "Standard" "Adaptive" "Interactive" ]); (types.enum [ "Background" "Standard" "Adaptive" "Interactive" ]);
default = null; default = null;
example = "Background"; example = "Background";
description = lib.mdDoc '' description = ''
This optional key describes, at a high level, the intended purpose of the job. The system will apply This optional key describes, at a high level, the intended purpose of the job. The system will apply
resource limits based on what kind of job it is. If left unspecified, the system will apply light resource limits based on what kind of job it is. If left unspecified, the system will apply light
resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values: resource limits to the job, throttling its CPU usage and I/O bandwidth. The following are valid values:
@ -692,7 +691,7 @@ with lib;
AbandonProcessGroup = mkOption { AbandonProcessGroup = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
When a job dies, launchd kills any remaining processes with the same process group ID as the job. Setting When a job dies, launchd kills any remaining processes with the same process group ID as the job. Setting
this key to true disables that behavior. this key to true disables that behavior.
''; '';
@ -701,7 +700,7 @@ with lib;
LowPriorityIO = mkOption { LowPriorityIO = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies whether the kernel should consider this daemon to be low priority when This optional key specifies whether the kernel should consider this daemon to be low priority when
doing file system I/O. doing file system I/O.
''; '';
@ -710,7 +709,7 @@ with lib;
LaunchOnlyOnce = mkOption { LaunchOnlyOnce = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies whether the job can only be run once and only once. In other words, if the This optional key specifies whether the job can only be run once and only once. In other words, if the
job cannot be safely respawned without a full machine reboot, then set this key to be true. job cannot be safely respawned without a full machine reboot, then set this key to be true.
''; '';
@ -719,7 +718,7 @@ with lib;
MachServices = mkOption { MachServices = mkOption {
default = null; default = null;
example = { ResetAtClose = true; }; example = { ResetAtClose = true; };
description = lib.mdDoc '' description = ''
This optional key is used to specify Mach services to be registered with the Mach bootstrap sub-system. This optional key is used to specify Mach services to be registered with the Mach bootstrap sub-system.
Each key in this dictionary should be the name of service to be advertised. The value of the key must Each key in this dictionary should be the name of service to be advertised. The value of the key must
be a boolean and set to true. Alternatively, a dictionary can be used instead of a simple true value. be a boolean and set to true. Alternatively, a dictionary can be used instead of a simple true value.
@ -732,7 +731,7 @@ with lib;
ResetAtClose = mkOption { ResetAtClose = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
If this boolean is false, the port is recycled, thus leaving clients to remain oblivious to the If this boolean is false, the port is recycled, thus leaving clients to remain oblivious to the
demand nature of job. If the value is set to true, clients receive port death notifications when demand nature of job. If the value is set to true, clients receive port death notifications when
the job lets go of the receive right. The port will be recreated atomically with respect to bootstrap_look_up() the job lets go of the receive right. The port will be recreated atomically with respect to bootstrap_look_up()
@ -745,7 +744,7 @@ with lib;
HideUntilCheckIn = mkOption { HideUntilCheckIn = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
Reserve the name in the namespace, but cause bootstrap_look_up() to fail until the job has Reserve the name in the namespace, but cause bootstrap_look_up() to fail until the job has
checked in with launchd. checked in with launchd.
''; '';
@ -757,7 +756,7 @@ with lib;
LaunchEvents = mkOption { LaunchEvents = mkOption {
type = types.nullOr (types.attrs); type = types.nullOr (types.attrs);
default = null; default = null;
description = lib.mdDoc '' description = ''
Specifies higher-level event types to be used as launch-on-demand event Specifies higher-level event types to be used as launch-on-demand event
sources. Each sub-dictionary defines events for a particular event sources. Each sub-dictionary defines events for a particular event
subsystem, such as "com.apple.iokit.matching", which can be used to subsystem, such as "com.apple.iokit.matching", which can be used to
@ -781,7 +780,7 @@ with lib;
Sockets = mkOption { Sockets = mkOption {
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is used to specify launch on demand sockets that can be used to let launchd know when This optional key is used to specify launch on demand sockets that can be used to let launchd know when
to run the job. The job must check-in to get a copy of the file descriptors using APIs outlined in to run the job. The job must check-in to get a copy of the file descriptors using APIs outlined in
launch(3). The keys of the top level Sockets dictionary can be anything. They are meant for the application launch(3). The keys of the top level Sockets dictionary can be anything. They are meant for the application
@ -798,7 +797,7 @@ with lib;
SockType = mkOption { SockType = mkOption {
type = types.nullOr (types.enum [ "stream" "dgram" "seqpacket" ]); type = types.nullOr (types.enum [ "stream" "dgram" "seqpacket" ]);
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key tells launchctl what type of socket to create. The default is "stream" and This optional key tells launchctl what type of socket to create. The default is "stream" and
other valid values for this key are "dgram" and "seqpacket" respectively. other valid values for this key are "dgram" and "seqpacket" respectively.
''; '';
@ -807,7 +806,7 @@ with lib;
SockPassive = mkOption { SockPassive = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies whether `listen(2)` or `connect(2)` should be called on the created file This optional key specifies whether `listen(2)` or `connect(2)` should be called on the created file
descriptor. The default is true ("to listen"). descriptor. The default is true ("to listen").
''; '';
@ -816,7 +815,7 @@ with lib;
SockNodeName = mkOption { SockNodeName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the node to `connect(2)` or `bind(2)` to. This optional key specifies the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -824,7 +823,7 @@ with lib;
SockServiceName = mkOption { SockServiceName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the service on the node to `connect(2)` or `bind(2)` to. This optional key specifies the service on the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
@ -832,7 +831,7 @@ with lib;
SockFamily = mkOption { SockFamily = mkOption {
type = types.nullOr (types.enum [ "IPv4" "IPv6" ]); type = types.nullOr (types.enum [ "IPv4" "IPv6" ]);
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key can be used to specifically request that "IPv4" or "IPv6" socket(s) be created. This optional key can be used to specifically request that "IPv4" or "IPv6" socket(s) be created.
''; '';
}; };
@ -840,7 +839,7 @@ with lib;
SockProtocol = mkOption { SockProtocol = mkOption {
type = types.nullOr (types.enum [ "TCP" ]); type = types.nullOr (types.enum [ "TCP" ]);
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the protocol to be passed to `socket(2)`. The only value understood by This optional key specifies the protocol to be passed to `socket(2)`. The only value understood by
this key at the moment is "TCP". this key at the moment is "TCP".
''; '';
@ -849,7 +848,7 @@ with lib;
SockPathName = mkOption { SockPathName = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
`bind(2)` to. `bind(2)` to.
''; '';
@ -858,7 +857,7 @@ with lib;
SecureSocketWithKey = mkOption { SecureSocketWithKey = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key is a variant of SockPathName. Instead of binding to a known path, a securely This optional key is a variant of SockPathName. Instead of binding to a known path, a securely
generated socket is created and the path is assigned to the environment variable that is inherited generated socket is created and the path is assigned to the environment variable that is inherited
by all jobs spawned by launchd. by all jobs spawned by launchd.
@ -868,7 +867,7 @@ with lib;
SockPathMode = mkOption { SockPathMode = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key specifies the mode of the socket. Known bug: Property lists don't support This optional key specifies the mode of the socket. Known bug: Property lists don't support
octal, so please convert the value to decimal. octal, so please convert the value to decimal.
''; '';
@ -878,7 +877,7 @@ with lib;
type = type =
types.nullOr (types.either types.bool (types.listOf types.str)); types.nullOr (types.either types.bool (types.listOf types.str));
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key can be used to request that the service be registered with the This optional key can be used to request that the service be registered with the
`mDNSResponder(8)`. If the value is boolean, the service name is inferred from the SockServiceName. `mDNSResponder(8)`. If the value is boolean, the service name is inferred from the SockServiceName.
''; '';
@ -887,7 +886,7 @@ with lib;
MulticastGroup = mkOption { MulticastGroup = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
This optional key can be used to request that the datagram socket join a multicast group. If the This optional key can be used to request that the datagram socket join a multicast group. If the
value is a hostname, then `getaddrinfo(3)` will be used to join the correct multicast address for a value is a hostname, then `getaddrinfo(3)` will be used to join the correct multicast address for a
given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily given socket family. If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily

View file

@ -19,7 +19,7 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether this file should be generated. This option allows specific Whether this file should be generated. This option allows specific
files to be disabled. files to be disabled.
''; '';
@ -32,7 +32,7 @@ in
in in
removePrefix (homeDirectory + "/") absPath; removePrefix (homeDirectory + "/") absPath;
defaultText = literalExpression "name"; defaultText = literalExpression "name";
description = lib.mdDoc '' description = ''
Path to target file relative to ${basePathDesc}. Path to target file relative to ${basePathDesc}.
''; '';
}; };
@ -40,7 +40,7 @@ in
text = mkOption { text = mkOption {
default = null; default = null;
type = types.nullOr types.lines; type = types.nullOr types.lines;
description = lib.mdDoc '' description = ''
Text of the file. If this option is null then Text of the file. If this option is null then
[](#opt-${opt}._name_.source) [](#opt-${opt}._name_.source)
must be set. must be set.
@ -49,7 +49,7 @@ in
source = mkOption { source = mkOption {
type = types.path; type = types.path;
description = lib.mdDoc '' description = ''
Path of the source file or directory. If Path of the source file or directory. If
[](#opt-${opt}._name_.text) [](#opt-${opt}._name_.text)
is non-null then this option will automatically point to a file is non-null then this option will automatically point to a file
@ -60,7 +60,7 @@ in
executable = mkOption { executable = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = lib.mdDoc '' description = ''
Set the execute bit. If `null`, defaults to the mode Set the execute bit. If `null`, defaults to the mode
of the {var}`source` file or to `false` of the {var}`source` file or to `false`
for files created through the {var}`text` option. for files created through the {var}`text` option.
@ -70,7 +70,7 @@ in
recursive = mkOption { recursive = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
If the file source is a directory, then this option If the file source is a directory, then this option
determines whether the directory should be recursively determines whether the directory should be recursively
linked to the target location. This option has no effect linked to the target location. This option has no effect
@ -87,7 +87,7 @@ in
onChange = mkOption { onChange = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Shell commands to run when file has changed between Shell commands to run when file has changed between
generations. The script will be run generations. The script will be run
*after* the new files have been linked *after* the new files have been linked
@ -102,7 +102,7 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
visible = false; visible = false;
description = lib.mdDoc '' description = ''
Whether the target path should be unconditionally replaced Whether the target path should be unconditionally replaced
by the managed file source. Warning, this will silently by the managed file source. Warning, this will silently
delete the target regardless of whether it is a file or delete the target regardless of whether it is a file or

View file

@ -39,7 +39,7 @@ in rec {
type = types.nullOr types.package; type = types.nullOr types.package;
default = null; default = null;
example = literalExpression "pkgs.dejavu_fonts"; example = literalExpression "pkgs.dejavu_fonts";
description = lib.mdDoc '' description = ''
Package providing the font. This package will be installed Package providing the font. This package will be installed
to your profile. If `null` then the font to your profile. If `null` then the font
is assumed to already be available in your profile. is assumed to already be available in your profile.
@ -49,7 +49,7 @@ in rec {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "DejaVu Sans"; example = "DejaVu Sans";
description = lib.mdDoc '' description = ''
The family name of the font within the package. The family name of the font within the package.
''; '';
}; };
@ -58,7 +58,7 @@ in rec {
type = types.nullOr types.number; type = types.nullOr types.number;
default = null; default = null;
example = "8"; example = "8";
description = lib.mdDoc '' description = ''
The size of the font. The size of the font.
''; '';
}; };

View file

@ -16,7 +16,7 @@ in {
manual.html.enable = mkOption { manual.html.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to install the HTML manual. This also installs the Whether to install the HTML manual. This also installs the
{command}`home-manager-help` tool, which opens a local {command}`home-manager-help` tool, which opens a local
copy of the Home Manager manual in the system web browser. copy of the Home Manager manual in the system web browser.
@ -27,7 +27,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
example = false; example = false;
description = lib.mdDoc '' description = ''
Whether to install the configuration manual page. The manual can Whether to install the configuration manual page. The manual can
be reached by {command}`man home-configuration.nix`. be reached by {command}`man home-configuration.nix`.
@ -41,7 +41,7 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = lib.mdDoc '' description = ''
Whether to install a JSON formatted list of all Home Manager Whether to install a JSON formatted list of all Home Manager
options. This can be located at options. This can be located at
{file}`<profile directory>/share/doc/home-manager/options.json`, {file}`<profile directory>/share/doc/home-manager/options.json`,

View file

@ -33,7 +33,7 @@ in {
# re-enabled, unclear whether there's actual value in it though. # re-enabled, unclear whether there's actual value in it though.
default = !pkgs.stdenv.hostPlatform.isDarwin; default = !pkgs.stdenv.hostPlatform.isDarwin;
visible = false; visible = false;
description = lib.mdDoc '' description = ''
Whether to enable dconf settings. Whether to enable dconf settings.
Note, if you use NixOS then you must add Note, if you use NixOS then you must add
@ -57,7 +57,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
Settings to write to the dconf configuration system. Settings to write to the dconf configuration system.
Note that the database is strongly-typed so you need to use the same types Note that the database is strongly-typed so you need to use the same types

View file

@ -4,8 +4,8 @@ with lib;
{ {
options.home = { options.home = {
enableDebugInfo = mkEnableOption (lib.mdDoc "") // { enableDebugInfo = mkEnableOption "" // {
description = lib.mdDoc '' description = ''
Some Nix packages provide debug symbols for Some Nix packages provide debug symbols for
{command}`gdb` in the `debug` output. {command}`gdb` in the `debug` output.
This option ensures that those are automatically fetched from This option ensures that those are automatically fetched from

View file

@ -12,12 +12,12 @@ in {
meta.maintainers = with maintainers; [ loicreynier ]; meta.maintainers = with maintainers; [ loicreynier ];
options.editorconfig = { options.editorconfig = {
enable = mkEnableOption (lib.mdDoc "EditorConfig home configuration file"); enable = mkEnableOption "EditorConfig home configuration file";
settings = mkOption { settings = mkOption {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to {file}`$HOME/.editorconfig`. Configuration written to {file}`$HOME/.editorconfig`.
`root = true` is automatically added to the file, `root = true` is automatically added to the file,
it must not be added here. it must not be added here.

View file

@ -24,7 +24,7 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to enable fontconfig configuration. This will, for Whether to enable fontconfig configuration. This will, for
example, allow fontconfig to discover fonts and example, allow fontconfig to discover fonts and
configurations installed through configurations installed through

View file

@ -31,7 +31,7 @@ let
type = types.nullOr types.package; type = types.nullOr types.package;
default = null; default = null;
example = literalExpression "pkgs.gnome.gnome-themes-extra"; example = literalExpression "pkgs.gnome.gnome-themes-extra";
description = lib.mdDoc '' description = ''
Package providing the theme. This package will be installed Package providing the theme. This package will be installed
to your profile. If `null` then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
@ -41,7 +41,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "Adwaita"; example = "Adwaita";
description = lib.mdDoc "The name of the theme within the package."; description = "The name of the theme within the package.";
}; };
}; };
}; };
@ -52,7 +52,7 @@ let
type = types.nullOr types.package; type = types.nullOr types.package;
default = null; default = null;
example = literalExpression "pkgs.gnome.adwaita-icon-theme"; example = literalExpression "pkgs.gnome.adwaita-icon-theme";
description = lib.mdDoc '' description = ''
Package providing the icon theme. This package will be installed Package providing the icon theme. This package will be installed
to your profile. If `null` then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
@ -62,8 +62,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "Adwaita"; example = "Adwaita";
description = description = "The name of the icon theme within the package.";
lib.mdDoc "The name of the icon theme within the package.";
}; };
}; };
}; };
@ -74,7 +73,7 @@ let
type = types.nullOr types.package; type = types.nullOr types.package;
default = null; default = null;
example = literalExpression "pkgs.vanilla-dmz"; example = literalExpression "pkgs.vanilla-dmz";
description = lib.mdDoc '' description = ''
Package providing the cursor theme. This package will be installed Package providing the cursor theme. This package will be installed
to your profile. If `null` then the theme to your profile. If `null` then the theme
is assumed to already be available in your profile. is assumed to already be available in your profile.
@ -84,15 +83,14 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "Vanilla-DMZ"; example = "Vanilla-DMZ";
description = description = "The name of the cursor theme within the package.";
lib.mdDoc "The name of the cursor theme within the package.";
}; };
size = mkOption { size = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
example = 16; example = 16;
description = lib.mdDoc '' description = ''
The size of the cursor. The size of the cursor.
''; '';
}; };
@ -110,12 +108,12 @@ in {
options = { options = {
gtk = { gtk = {
enable = mkEnableOption (lib.mdDoc "GTK 2/3 configuration"); enable = mkEnableOption "GTK 2/3 configuration";
font = mkOption { font = mkOption {
type = types.nullOr hm.types.fontType; type = types.nullOr hm.types.fontType;
default = null; default = null;
description = lib.mdDoc '' description = ''
The font to use in GTK+ 2/3 applications. The font to use in GTK+ 2/3 applications.
''; '';
}; };
@ -123,19 +121,19 @@ in {
cursorTheme = mkOption { cursorTheme = mkOption {
type = types.nullOr cursorThemeType; type = types.nullOr cursorThemeType;
default = null; default = null;
description = lib.mdDoc "The cursor theme to use."; description = "The cursor theme to use.";
}; };
iconTheme = mkOption { iconTheme = mkOption {
type = types.nullOr iconThemeType; type = types.nullOr iconThemeType;
default = null; default = null;
description = lib.mdDoc "The icon theme to use."; description = "The icon theme to use.";
}; };
theme = mkOption { theme = mkOption {
type = types.nullOr themeType; type = types.nullOr themeType;
default = null; default = null;
description = lib.mdDoc "The GTK+2/3 theme to use."; description = "The GTK+2/3 theme to use.";
}; };
gtk2 = { gtk2 = {
@ -143,7 +141,7 @@ in {
type = types.lines; type = types.lines;
default = ""; default = "";
example = "gtk-can-change-accels = 1"; example = "gtk-can-change-accels = 1";
description = lib.mdDoc '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
{file}`~/.gtkrc-2.0`. {file}`~/.gtkrc-2.0`.
''; '';
@ -156,7 +154,7 @@ in {
literalExpression ''"''${config.home.homeDirectory}/.gtkrc-2.0"''; literalExpression ''"''${config.home.homeDirectory}/.gtkrc-2.0"'';
example = example =
literalExpression ''"''${config.xdg.configHome}/gtk-2.0/gtkrc"''; literalExpression ''"''${config.xdg.configHome}/gtk-2.0/gtkrc"'';
description = lib.mdDoc '' description = ''
The location to put the GTK configuration file. The location to put the GTK configuration file.
''; '';
}; };
@ -167,8 +165,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "file:///home/jane/Documents" ]; example = [ "file:///home/jane/Documents" ];
description = description = "Bookmarks in the sidebar of the GTK file browser";
lib.mdDoc "Bookmarks in the sidebar of the GTK file browser";
}; };
extraConfig = mkOption { extraConfig = mkOption {
@ -178,7 +175,7 @@ in {
gtk-cursor-blink = false; gtk-cursor-blink = false;
gtk-recent-files-limit = 20; gtk-recent-files-limit = 20;
}; };
description = lib.mdDoc '' description = ''
Extra configuration options to add to Extra configuration options to add to
{file}`$XDG_CONFIG_HOME/gtk-3.0/settings.ini`. {file}`$XDG_CONFIG_HOME/gtk-3.0/settings.ini`.
''; '';
@ -187,7 +184,7 @@ in {
extraCss = mkOption { extraCss = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
{file}`$XDG_CONFIG_HOME/gtk-3.0/gtk.css`. {file}`$XDG_CONFIG_HOME/gtk-3.0/gtk.css`.
''; '';
@ -202,7 +199,7 @@ in {
gtk-cursor-blink = false; gtk-cursor-blink = false;
gtk-recent-files-limit = 20; gtk-recent-files-limit = 20;
}; };
description = lib.mdDoc '' description = ''
Extra configuration options to add to Extra configuration options to add to
{file}`$XDG_CONFIG_HOME/gtk-4.0/settings.ini`. {file}`$XDG_CONFIG_HOME/gtk-4.0/settings.ini`.
''; '';
@ -211,7 +208,7 @@ in {
extraCss = mkOption { extraCss = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra configuration lines to add verbatim to Extra configuration lines to add verbatim to
{file}`$XDG_CONFIG_HOME/gtk-4.0/gtk.css`. {file}`$XDG_CONFIG_HOME/gtk-4.0/gtk.css`.
''; '';

View file

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

View file

@ -13,7 +13,7 @@ let
id = mkOption { id = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
A unique entry identifier. By default it is a base16 A unique entry identifier. By default it is a base16
formatted hash of the entry message. formatted hash of the entry message.
''; '';
@ -23,7 +23,7 @@ let
internal = true; internal = true;
type = types.str; type = types.str;
example = "2017-07-10T21:55:04+00:00"; example = "2017-07-10T21:55:04+00:00";
description = lib.mdDoc '' description = ''
News entry time stamp in ISO-8601 format. Must be in UTC News entry time stamp in ISO-8601 format. Must be in UTC
(ending in '+00:00'). (ending in '+00:00').
''; '';
@ -32,13 +32,13 @@ let
condition = mkOption { condition = mkOption {
internal = true; internal = true;
default = true; default = true;
description = lib.mdDoc "Whether the news entry should be active."; description = "Whether the news entry should be active.";
}; };
message = mkOption { message = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = lib.mdDoc "The news entry content."; description = "The news entry content.";
}; };
}; };
@ -57,7 +57,7 @@ in
display = mkOption { display = mkOption {
type = types.enum [ "silent" "notify" "show" ]; type = types.enum [ "silent" "notify" "show" ];
default = "notify"; default = "notify";
description = lib.mdDoc '' description = ''
How unread and relevant news should be presented when How unread and relevant news should be presented when
running {command}`home-manager build` and running {command}`home-manager build` and
{command}`home-manager switch`. {command}`home-manager switch`.
@ -83,7 +83,7 @@ in
internal = true; internal = true;
type = types.listOf entryModule; type = types.listOf entryModule;
default = [ ]; default = [ ];
description = lib.mdDoc "News entries."; description = "News entries.";
}; };
}; };
}; };

View file

@ -82,9 +82,9 @@ let
in { in {
options.nix = { options.nix = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
the Nix configuration module the Nix configuration module
'') // { '' // {
default = true; default = true;
visible = false; visible = false;
}; };
@ -93,7 +93,7 @@ in {
type = types.nullOr types.package; type = types.nullOr types.package;
default = null; default = null;
example = literalExpression "pkgs.nix"; example = literalExpression "pkgs.nix";
description = lib.mdDoc '' description = ''
The Nix package that the configuration should be generated for. The Nix package that the configuration should be generated for.
''; '';
}; };
@ -110,7 +110,7 @@ in {
type = "indirect"; type = "indirect";
id = "nixpkgs"; id = "nixpkgs";
}; };
description = lib.mdDoc "The flake reference to be rewritten."; description = "The flake reference to be rewritten.";
}; };
to = mkOption { to = mkOption {
type = inputAttrs; type = inputAttrs;
@ -119,21 +119,21 @@ in {
owner = "my-org"; owner = "my-org";
repo = "my-nixpkgs"; repo = "my-nixpkgs";
}; };
description = lib.mdDoc description =
"The flake reference to which {option}`from>` is to be rewritten."; "The flake reference to which {option}`from>` is to be rewritten.";
}; };
flake = mkOption { flake = mkOption {
type = types.nullOr types.attrs; type = types.nullOr types.attrs;
default = null; default = null;
example = literalExpression "nixpkgs"; example = literalExpression "nixpkgs";
description = lib.mdDoc '' description = ''
The flake input to which {option}`from>` is to be rewritten. The flake input to which {option}`from>` is to be rewritten.
''; '';
}; };
exact = mkOption { exact = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether the {option}`from` reference needs to match exactly. If set, Whether the {option}`from` reference needs to match exactly. If set,
a {option}`from` reference like `nixpkgs` does not a {option}`from` reference like `nixpkgs` does not
match with a reference like `nixpkgs/nixos-20.03`. match with a reference like `nixpkgs/nixos-20.03`.
@ -154,7 +154,7 @@ in {
}; };
})); }));
default = { }; default = { };
description = lib.mdDoc '' description = ''
User level flake registry. User level flake registry.
''; '';
}; };
@ -163,13 +163,13 @@ in {
type = types.int; type = types.int;
default = 2; default = 2;
internal = true; internal = true;
description = lib.mdDoc "The flake registry format version."; description = "The flake registry format version.";
}; };
checkConfig = mkOption { checkConfig = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
If enabled (the default), checks for data type mismatches and that Nix If enabled (the default), checks for data type mismatches and that Nix
can parse the generated nix.conf. can parse the generated nix.conf.
''; '';
@ -182,7 +182,7 @@ in {
keep-outputs = true keep-outputs = true
keep-derivations = true keep-derivations = true
''; '';
description = lib.mdDoc "Additional text appended to {file}`nix.conf`."; description = "Additional text appended to {file}`nix.conf`.";
}; };
settings = mkOption { settings = mkOption {
@ -195,7 +195,7 @@ in {
system-features = [ "big-parallel" "kvm" "recursive-nix" ]; system-features = [ "big-parallel" "kvm" "recursive-nix" ];
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration for Nix; see {manpage}`nix.conf(5)` for available options. Configuration for Nix; see {manpage}`nix.conf(5)` for available options.
The value declared here will be translated directly to the key-value pairs Nix expects. The value declared here will be translated directly to the key-value pairs Nix expects.

View file

@ -48,7 +48,7 @@ in {
default = null; default = null;
example = { allowBroken = true; }; example = { allowBroken = true; };
type = types.nullOr configType; type = types.nullOr configType;
description = lib.mdDoc '' description = ''
The configuration of the Nix Packages collection. (For The configuration of the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to set details, see the Nixpkgs documentation.) It allows you to set
package configuration options. package configuration options.
@ -86,7 +86,7 @@ in {
] ]
''; '';
type = types.nullOr (types.listOf overlayType); type = types.nullOr (types.listOf overlayType);
description = lib.mdDoc '' description = ''
List of overlays to use with the Nix Packages collection. (For List of overlays to use with the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to details, see the Nixpkgs documentation.) It allows you to
override packages globally. This is a function that takes as override packages globally. This is a function that takes as
@ -109,7 +109,7 @@ in {
type = types.str; type = types.str;
example = "i686-linux"; example = "i686-linux";
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Specifies the Nix platform type for which the user environment Specifies the Nix platform type for which the user environment
should be built. If unset, it defaults to the platform type of should be built. If unset, it defaults to the platform type of
your host system. Specifying this option is useful when doing your host system. Specifying this option is useful when doing

View file

@ -9,9 +9,7 @@ let
in { in {
meta.maintainers = [ maintainers.evanjs ]; meta.maintainers = [ maintainers.evanjs ];
options = { options = { xsession.numlock.enable = mkEnableOption "Num Lock"; };
xsession.numlock.enable = mkEnableOption (lib.mdDoc "Num Lock");
};
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [ assertions = [

View file

@ -14,7 +14,7 @@ in {
default = { }; default = { };
type = types.attrs; type = types.attrs;
example = { EDITOR = "vim"; }; example = { EDITOR = "vim"; };
description = lib.mdDoc '' description = ''
Environment variables that will be set for the PAM session. Environment variables that will be set for the PAM session.
The variable values must be as described in The variable values must be as described in
{manpage}`pam_env.conf(5)`. {manpage}`pam_env.conf(5)`.
@ -34,7 +34,7 @@ in {
}; };
in listOf yubiKeyId; in listOf yubiKeyId;
default = [ ]; default = [ ];
description = lib.mdDoc '' description = ''
List of authorized YubiKey token IDs. Refer to List of authorized YubiKey token IDs. Refer to
<https://developers.yubico.com/yubico-pam> <https://developers.yubico.com/yubico-pam>
for details on how to obtain the token ID of a YubiKey. for details on how to obtain the token ID of a YubiKey.
@ -44,7 +44,7 @@ in {
path = mkOption { path = mkOption {
type = types.str; type = types.str;
default = ".yubico/authorized_yubikeys"; default = ".yubico/authorized_yubikeys";
description = lib.mdDoc '' description = ''
File path to write the authorized YubiKeys, File path to write the authorized YubiKeys,
relative to {env}`HOME`. relative to {env}`HOME`.
''; '';

View file

@ -41,7 +41,7 @@ in {
options = { options = {
qt = { qt = {
enable = mkEnableOption (lib.mdDoc "Qt 4, 5 and 6 configuration"); enable = mkEnableOption "Qt 4, 5 and 6 configuration";
platformTheme = mkOption { platformTheme = mkOption {
type = types.nullOr (types.enum [ "gtk" "gnome" "qtct" "kde" ]); type = types.nullOr (types.enum [ "gtk" "gnome" "qtct" "kde" ]);
@ -55,7 +55,7 @@ in {
[ "libsForQt5" "plasma-integration" ] [ "libsForQt5" "plasma-integration" ]
[ "libsForQt5" "systemsettings" ] [ "libsForQt5" "systemsettings" ]
]; ];
description = lib.mdDoc '' description = ''
Platform theme to use for Qt applications. Platform theme to use for Qt applications.
The options are The options are
@ -92,7 +92,7 @@ in {
[ "libsForQt5" "qtstyleplugin-kvantum" ] [ "libsForQt5" "qtstyleplugin-kvantum" ]
[ "qt6Packages" "qtstyleplugin-kvantum" ] [ "qt6Packages" "qtstyleplugin-kvantum" ]
]; ];
description = lib.mdDoc '' description = ''
Style to use for Qt5/Qt6 applications. Case-insensitive. Style to use for Qt5/Qt6 applications. Case-insensitive.
Some examples are Some examples are
@ -119,7 +119,7 @@ in {
type = with types; nullOr (either package (listOf package)); type = with types; nullOr (either package (listOf package));
default = null; default = null;
example = literalExpression "pkgs.adwaita-qt"; example = literalExpression "pkgs.adwaita-qt";
description = lib.mdDoc '' description = ''
Theme package to be used in Qt5/Qt6 applications. Theme package to be used in Qt5/Qt6 applications.
Auto-detected from {option}`qt.style.name` if possible. Auto-detected from {option}`qt.style.name` if possible.
''; '';

View file

@ -27,14 +27,14 @@ with lib;
in extended.type; in extended.type;
default = { }; default = { };
visible = "shallow"; visible = "shallow";
description = lib.mdDoc '' description = ''
Arbitrary Home Manager configuration settings. Arbitrary Home Manager configuration settings.
''; '';
}; };
}; };
}); });
default = { }; default = { };
description = lib.mdDoc '' description = ''
A set of named specialized configurations. These can be used to extend A set of named specialized configurations. These can be used to extend
your base configuration with additional settings. For example, you can your base configuration with additional settings. For example, you can
have specialisations named "light" and "dark" have specialisations named "light" and "dark"

View file

@ -10,7 +10,7 @@ with lib;
type = types.bool; type = types.bool;
default = false; default = false;
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Whether the Home Manager module system is used as a submodule Whether the Home Manager module system is used as a submodule
in, for example, NixOS or nix-darwin. in, for example, NixOS or nix-darwin.
''; '';
@ -20,7 +20,7 @@ with lib;
type = types.bool; type = types.bool;
default = false; default = false;
internal = true; internal = true;
description = lib.mdDoc '' description = ''
Whether the packages of {option}`home.packages` are Whether the packages of {option}`home.packages` are
installed separately from the Home Manager activation script. installed separately from the Home Manager activation script.
In NixOS, for example, this may be accomplished by installing In NixOS, for example, this may be accomplished by installing

View file

@ -13,7 +13,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "L /home/user/Documents - - - - /mnt/data/Documents" ]; example = [ "L /home/user/Documents - - - - /mnt/data/Documents" ];
description = lib.mdDoc '' description = ''
Rules for creating and cleaning up temporary files Rules for creating and cleaning up temporary files
automatically. See automatically. See
{manpage}`tmpfiles.d(5)` {manpage}`tmpfiles.d(5)`

View file

@ -21,7 +21,7 @@ in {
"23.05" "23.05"
"23.11" "23.11"
]; ];
description = lib.mdDoc '' description = ''
It is occasionally necessary for Home Manager to change It is occasionally necessary for Home Manager to change
configuration defaults in a way that is incompatible with configuration defaults in a way that is incompatible with
stateful data. This could, for example, include switching the stateful data. This could, for example, include switching the
@ -46,7 +46,7 @@ in {
optionalString (revision != null) "+${substring 0 8 revision}"; optionalString (revision != null) "+${substring 0 8 revision}";
in "${release}${suffix}"; in "${release}${suffix}";
example = "22.11+213a0629"; example = "22.11+213a0629";
description = lib.mdDoc "The full Home Manager version."; description = "The full Home Manager version.";
}; };
release = mkOption { release = mkOption {
@ -55,7 +55,7 @@ in {
type = types.str; type = types.str;
default = releaseInfo.release; default = releaseInfo.release;
example = "22.11"; example = "22.11";
description = lib.mdDoc "The Home Manager release."; description = "The Home Manager release.";
}; };
isReleaseBranch = mkOption { isReleaseBranch = mkOption {
@ -63,7 +63,7 @@ in {
readOnly = true; readOnly = true;
type = types.bool; type = types.bool;
default = releaseInfo.isReleaseBranch; default = releaseInfo.isReleaseBranch;
description = lib.mdDoc '' description = ''
Whether the Home Manager version is from a versioned Whether the Home Manager version is from a versioned
release branch. release branch.
''; '';
@ -74,7 +74,7 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = let gitRepo = "${toString ./../..}/.git"; default = let gitRepo = "${toString ./../..}/.git";
in if pathIsGitRepo gitRepo then commitIdFromGitRepo gitRepo else null; in if pathIsGitRepo gitRepo then commitIdFromGitRepo gitRepo else null;
description = lib.mdDoc '' description = ''
The Git revision from which this Home Manager configuration was built. The Git revision from which this Home Manager configuration was built.
''; '';
}; };

View file

@ -6,19 +6,15 @@ with lib;
meta.maintainers = [ maintainers.rycee ]; meta.maintainers = [ maintainers.rycee ];
options.programs = let options.programs = let
description = lib.mdDoc '' description = ''
Whether to enable integration with terminals using the VTE Whether to enable integration with terminals using the VTE
library. This will let the terminal track the current working library. This will let the terminal track the current working
directory. directory.
''; '';
in { in {
bash.enableVteIntegration = mkEnableOption (lib.mdDoc "") // { bash.enableVteIntegration = mkEnableOption "" // { inherit description; };
inherit description;
};
zsh.enableVteIntegration = mkEnableOption (lib.mdDoc "") // { zsh.enableVteIntegration = mkEnableOption "" // { inherit description; };
inherit description;
};
}; };
config = mkMerge [ config = mkMerge [

View file

@ -26,63 +26,61 @@ let
# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
type = mkOption { type = mkOption {
description = lib.mdDoc "The type of the desktop entry."; description = "The type of the desktop entry.";
default = "Application"; default = "Application";
type = types.enum [ "Application" "Link" "Directory" ]; type = types.enum [ "Application" "Link" "Directory" ];
}; };
exec = mkOption { exec = mkOption {
description = lib.mdDoc "Program to execute, possibly with arguments."; description = "Program to execute, possibly with arguments.";
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
}; };
icon = mkOption { icon = mkOption {
description = lib.mdDoc "Icon to display in file manager, menus, etc."; description = "Icon to display in file manager, menus, etc.";
type = with types; nullOr (either str path); type = with types; nullOr (either str path);
default = null; default = null;
}; };
comment = mkOption { comment = mkOption {
description = lib.mdDoc "Tooltip for the entry."; description = "Tooltip for the entry.";
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
}; };
terminal = mkOption { terminal = mkOption {
description = description = "Whether the program runs in a terminal window.";
lib.mdDoc "Whether the program runs in a terminal window.";
type = types.bool; type = types.bool;
default = false; default = false;
}; };
name = mkOption { name = mkOption {
description = lib.mdDoc "Specific name of the application."; description = "Specific name of the application.";
type = types.str; type = types.str;
}; };
genericName = mkOption { genericName = mkOption {
description = lib.mdDoc "Generic name of the application."; description = "Generic name of the application.";
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
}; };
mimeType = mkOption { mimeType = mkOption {
description = description = "The MIME type(s) supported by this application.";
lib.mdDoc "The MIME type(s) supported by this application.";
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
}; };
categories = mkOption { categories = mkOption {
description = description =
lib.mdDoc "Categories in which the entry should be shown in a menu."; "Categories in which the entry should be shown in a menu.";
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
}; };
startupNotify = mkOption { startupNotify = mkOption {
description = lib.mdDoc '' description = ''
If true, it is KNOWN that the application will send a "remove" If true, it is KNOWN that the application will send a "remove"
message when started with the `DESKTOP_STARTUP_ID` message when started with the `DESKTOP_STARTUP_ID`
environment variable set. If false, it is KNOWN that the application environment variable set. If false, it is KNOWN that the application
@ -92,7 +90,7 @@ let
}; };
noDisplay = mkOption { noDisplay = mkOption {
description = lib.mdDoc '' description = ''
Means "this application exists, but don't display it in the menus". Means "this application exists, but don't display it in the menus".
This can be useful to e.g. associate this application with MIME types. This can be useful to e.g. associate this application with MIME types.
''; '';
@ -101,7 +99,7 @@ let
}; };
prefersNonDefaultGPU = mkOption { prefersNonDefaultGPU = mkOption {
description = lib.mdDoc '' description = ''
If true, the application prefers to be run on a more powerful discrete GPU if available. If true, the application prefers to be run on a more powerful discrete GPU if available.
''; '';
type = types.nullOr types.bool; type = types.nullOr types.bool;
@ -110,7 +108,7 @@ let
settings = mkOption { settings = mkOption {
type = types.attrsOf types.string; type = types.attrsOf types.string;
description = lib.mdDoc '' description = ''
Extra key-value pairs to add to the `[Desktop Entry]` section. Extra key-value pairs to add to the `[Desktop Entry]` section.
This may override other values. This may override other values.
''; '';
@ -129,19 +127,17 @@ let
type = types.str; type = types.str;
default = name; default = name;
defaultText = literalExpression "<name>"; defaultText = literalExpression "<name>";
description = lib.mdDoc "Name of the action."; description = "Name of the action.";
}; };
options.exec = mkOption { options.exec = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
description = description = "Program to execute, possibly with arguments.";
lib.mdDoc "Program to execute, possibly with arguments.";
default = null; default = null;
}; };
options.icon = mkOption { options.icon = mkOption {
type = with types; nullOr (either str path); type = with types; nullOr (either str path);
default = null; default = null;
description = description = "Icon to display in file manager, menus, etc.";
lib.mdDoc "Icon to display in file manager, menus, etc.";
}; };
})); }));
default = { }; default = { };
@ -153,7 +149,7 @@ let
}; };
} }
''; '';
description = lib.mdDoc description =
"The set of actions made available to application launchers."; "The set of actions made available to application launchers.";
}; };
@ -184,7 +180,7 @@ in {
meta.maintainers = [ hm.maintainers.cwyc ]; meta.maintainers = [ hm.maintainers.cwyc ];
options.xdg.desktopEntries = mkOption { options.xdg.desktopEntries = mkOption {
description = lib.mdDoc '' description = ''
Desktop Entries allow applications to be shown in your desktop environment's app launcher. Desktop Entries allow applications to be shown in your desktop environment's app launcher.
You can define entries for programs without entries or override existing entries. You can define entries for programs without entries or override existing entries.

View file

@ -16,7 +16,7 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to manage {file}`$XDG_CONFIG_HOME/mimeapps.list`. Whether to manage {file}`$XDG_CONFIG_HOME/mimeapps.list`.
The generated file is read-only. The generated file is read-only.
@ -35,7 +35,7 @@ in {
"mimetype2" = "foo4.desktop"; "mimetype2" = "foo4.desktop";
} }
''; '';
description = lib.mdDoc '' description = ''
Defines additional associations of applications with Defines additional associations of applications with
mimetypes, as if the .desktop file was listing this mimetype mimetypes, as if the .desktop file was listing this mimetype
in the first place. in the first place.
@ -46,7 +46,7 @@ in {
type = types.attrsOf strListOrSingleton; type = types.attrsOf strListOrSingleton;
default = { }; default = { };
example = { "mimetype1" = "foo5.desktop"; }; example = { "mimetype1" = "foo5.desktop"; };
description = lib.mdDoc '' description = ''
Removes associations of applications with mimetypes, as if the Removes associations of applications with mimetypes, as if the
.desktop file was *not* listing this .desktop file was *not* listing this
mimetype in the first place. mimetype in the first place.
@ -61,7 +61,7 @@ in {
"mimetype1" = [ "default1.desktop" "default2.desktop" ]; "mimetype1" = [ "default1.desktop" "default2.desktop" ];
} }
''; '';
description = lib.mdDoc '' description = ''
The default application to be used for a given mimetype. This The default application to be used for a given mimetype. This
is, for instance, the one that will be started when is, for instance, the one that will be started when
double-clicking on a file in a file manager. If the double-clicking on a file in a file manager. If the

View file

@ -13,7 +13,7 @@ in {
default = pkgs.stdenv.hostPlatform.isLinux; default = pkgs.stdenv.hostPlatform.isLinux;
defaultText = defaultText =
literalExpression "true if host platform is Linux, false otherwise"; literalExpression "true if host platform is Linux, false otherwise";
description = lib.mdDoc '' description = ''
Whether to install programs and files to support the Whether to install programs and files to support the
XDG Shared MIME-info specification and XDG MIME Applications XDG Shared MIME-info specification and XDG MIME Applications
specification at specification at

View file

@ -18,7 +18,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = literalExpression ''[ "/etc/xdg" ]''; example = literalExpression ''[ "/etc/xdg" ]'';
description = lib.mdDoc '' description = ''
Directory names to add to {env}`XDG_CONFIG_DIRS` Directory names to add to {env}`XDG_CONFIG_DIRS`
in the user session. in the user session.
''; '';
@ -28,7 +28,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = literalExpression ''[ "/usr/share" "/usr/local/share" ]''; example = literalExpression ''[ "/usr/share" "/usr/local/share" ]'';
description = lib.mdDoc '' description = ''
Directory names to add to {env}`XDG_DATA_DIRS` Directory names to add to {env}`XDG_DATA_DIRS`
in the user session. in the user session.
''; '';

View file

@ -21,7 +21,7 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to manage {file}`$XDG_CONFIG_HOME/user-dirs.dirs`. Whether to manage {file}`$XDG_CONFIG_HOME/user-dirs.dirs`.
The generated file is read-only. The generated file is read-only.
@ -36,7 +36,7 @@ in {
default = "${config.home.homeDirectory}/Desktop"; default = "${config.home.homeDirectory}/Desktop";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Desktop"''; literalExpression ''"''${config.home.homeDirectory}/Desktop"'';
description = lib.mdDoc "The Desktop directory."; description = "The Desktop directory.";
}; };
documents = mkOption { documents = mkOption {
@ -44,7 +44,7 @@ in {
default = "${config.home.homeDirectory}/Documents"; default = "${config.home.homeDirectory}/Documents";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Documents"''; literalExpression ''"''${config.home.homeDirectory}/Documents"'';
description = lib.mdDoc "The Documents directory."; description = "The Documents directory.";
}; };
download = mkOption { download = mkOption {
@ -52,7 +52,7 @@ in {
default = "${config.home.homeDirectory}/Downloads"; default = "${config.home.homeDirectory}/Downloads";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Downloads"''; literalExpression ''"''${config.home.homeDirectory}/Downloads"'';
description = lib.mdDoc "The Downloads directory."; description = "The Downloads directory.";
}; };
music = mkOption { music = mkOption {
@ -60,7 +60,7 @@ in {
default = "${config.home.homeDirectory}/Music"; default = "${config.home.homeDirectory}/Music";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Music"''; literalExpression ''"''${config.home.homeDirectory}/Music"'';
description = lib.mdDoc "The Music directory."; description = "The Music directory.";
}; };
pictures = mkOption { pictures = mkOption {
@ -68,7 +68,7 @@ in {
default = "${config.home.homeDirectory}/Pictures"; default = "${config.home.homeDirectory}/Pictures";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Pictures"''; literalExpression ''"''${config.home.homeDirectory}/Pictures"'';
description = lib.mdDoc "The Pictures directory."; description = "The Pictures directory.";
}; };
publicShare = mkOption { publicShare = mkOption {
@ -76,7 +76,7 @@ in {
default = "${config.home.homeDirectory}/Public"; default = "${config.home.homeDirectory}/Public";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Public"''; literalExpression ''"''${config.home.homeDirectory}/Public"'';
description = lib.mdDoc "The Public share directory."; description = "The Public share directory.";
}; };
templates = mkOption { templates = mkOption {
@ -84,7 +84,7 @@ in {
default = "${config.home.homeDirectory}/Templates"; default = "${config.home.homeDirectory}/Templates";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Templates"''; literalExpression ''"''${config.home.homeDirectory}/Templates"'';
description = lib.mdDoc "The Templates directory."; description = "The Templates directory.";
}; };
videos = mkOption { videos = mkOption {
@ -92,7 +92,7 @@ in {
default = "${config.home.homeDirectory}/Videos"; default = "${config.home.homeDirectory}/Videos";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/Videos"''; literalExpression ''"''${config.home.homeDirectory}/Videos"'';
description = lib.mdDoc "The Videos directory."; description = "The Videos directory.";
}; };
extraConfig = mkOption { extraConfig = mkOption {
@ -104,11 +104,11 @@ in {
XDG_MISC_DIR = "''${config.home.homeDirectory}/Misc"; XDG_MISC_DIR = "''${config.home.homeDirectory}/Misc";
} }
''; '';
description = lib.mdDoc "Other user directories."; description = "Other user directories.";
}; };
createDirectories = mkEnableOption createDirectories =
(lib.mdDoc "automatic creation of the XDG user directories"); mkEnableOption "automatic creation of the XDG user directories";
}; };
config = let config = let

View file

@ -22,13 +22,13 @@ let
in { in {
options.xdg = { options.xdg = {
enable = mkEnableOption (lib.mdDoc "management of XDG base directories"); enable = mkEnableOption "management of XDG base directories";
cacheHome = mkOption { cacheHome = mkOption {
type = types.path; type = types.path;
defaultText = "~/.cache"; defaultText = "~/.cache";
apply = toString; apply = toString;
description = lib.mdDoc '' description = ''
Absolute path to directory holding application caches. Absolute path to directory holding application caches.
''; '';
}; };
@ -36,7 +36,7 @@ in {
configFile = mkOption { configFile = mkOption {
type = fileType "xdg.configFile" "{var}`xdg.configHome`" cfg.configHome; type = fileType "xdg.configFile" "{var}`xdg.configHome`" cfg.configHome;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Attribute set of files to link into the user's XDG Attribute set of files to link into the user's XDG
configuration home. configuration home.
''; '';
@ -46,7 +46,7 @@ in {
type = types.path; type = types.path;
defaultText = "~/.config"; defaultText = "~/.config";
apply = toString; apply = toString;
description = lib.mdDoc '' description = ''
Absolute path to directory holding application configurations. Absolute path to directory holding application configurations.
''; '';
}; };
@ -55,7 +55,7 @@ in {
type = type =
fileType "xdg.dataFile" "<varname>xdg.dataHome</varname>" cfg.dataHome; fileType "xdg.dataFile" "<varname>xdg.dataHome</varname>" cfg.dataHome;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Attribute set of files to link into the user's XDG Attribute set of files to link into the user's XDG
data home. data home.
''; '';
@ -65,7 +65,7 @@ in {
type = types.path; type = types.path;
defaultText = "~/.local/share"; defaultText = "~/.local/share";
apply = toString; apply = toString;
description = lib.mdDoc '' description = ''
Absolute path to directory holding application data. Absolute path to directory holding application data.
''; '';
}; };
@ -74,7 +74,7 @@ in {
type = types.path; type = types.path;
defaultText = "~/.local/state"; defaultText = "~/.local/state";
apply = toString; apply = toString;
description = lib.mdDoc '' description = ''
Absolute path to directory holding application states. Absolute path to directory holding application states.
''; '';
}; };

View file

@ -10,7 +10,7 @@ let
options = { options = {
type = mkOption { type = mkOption {
type = types.enum [ "int" "uint" "uint64" ]; type = types.enum [ "int" "uint" "uint64" ];
description = lib.mdDoc '' description = ''
To distinguish between int, uint and uint64 in xfconf, To distinguish between int, uint and uint64 in xfconf,
you can specify the type in xfconf with this submodule. you can specify the type in xfconf with this submodule.
For other types, you don't need to use this submodule, For other types, you don't need to use this submodule,
@ -19,7 +19,7 @@ let
}; };
value = mkOption { value = mkOption {
type = types.int; type = types.int;
description = lib.mdDoc "The value in xfconf."; description = "The value in xfconf.";
}; };
}; };
}; };
@ -63,7 +63,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
visible = false; visible = false;
description = lib.mdDoc '' description = ''
Whether to enable Xfconf settings. Whether to enable Xfconf settings.
Note, if you use NixOS then you must add Note, if you use NixOS then you must add
@ -93,7 +93,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
Settings to write to the Xfconf configuration system. Settings to write to the Xfconf configuration system.
''; '';
}; };

View file

@ -8,7 +8,7 @@ let
in { in {
options.programs.abook = { options.programs.abook = {
enable = mkEnableOption (lib.mdDoc "Abook"); enable = mkEnableOption "Abook";
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
@ -18,7 +18,7 @@ in {
view CONTACT = name, email view CONTACT = name, email
set autosave=true set autosave=true
''; '';
description = lib.mdDoc '' description = ''
Extra lines added to {file}`$HOME/.config/abook/abookrc`. Extra lines added to {file}`$HOME/.config/abook/abookrc`.
Available configuration options are described in the abook repository: Available configuration options are described in the abook repository:
<https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc>. <https://sourceforge.net/p/abook/git/ci/master/tree/sample.abookrc>.

View file

@ -18,28 +18,28 @@ let
token_endpoint = mkOption { token_endpoint = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "The OAuth2 token endpoint."; description = "The OAuth2 token endpoint.";
}; };
client_id = mkOption { client_id = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "The OAuth2 client identifier."; description = "The OAuth2 client identifier.";
}; };
client_secret = mkOption { client_secret = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "The OAuth2 client secret."; description = "The OAuth2 client secret.";
}; };
scope = mkOption { scope = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "The OAuth2 requested scope."; description = "The OAuth2 requested scope.";
}; };
}; };
}); });
default = null; default = null;
example = { token_endpoint = "<token_endpoint>"; }; example = { token_endpoint = "<token_endpoint>"; };
description = lib.mdDoc '' description = ''
Sets the oauth2 params if authentication mechanism oauthbearer or Sets the oauth2 params if authentication mechanism oauthbearer or
xoauth2 is used. xoauth2 is used.
See {manpage}`aerc-imap(5)`. See {manpage}`aerc-imap(5)`.
@ -50,13 +50,13 @@ in {
type = mkOption { type = mkOption {
type = types.attrsOf (types.submodule { type = types.attrsOf (types.submodule {
options.aerc = { options.aerc = {
enable = mkEnableOption (lib.mdDoc "aerc"); enable = mkEnableOption "aerc";
extraAccounts = mkOption { extraAccounts = mkOption {
type = confSection; type = confSection;
default = { }; default = { };
example = example =
literalExpression ''{ source = "maildir://~/Maildir/example"; }''; literalExpression ''{ source = "maildir://~/Maildir/example"; }'';
description = lib.mdDoc '' description = ''
Extra config added to the configuration section for this account in Extra config added to the configuration section for this account in
{file}`$HOME/.config/aerc/accounts.conf`. {file}`$HOME/.config/aerc/accounts.conf`.
See {manpage}`aerc-accounts(5)`. See {manpage}`aerc-accounts(5)`.
@ -68,7 +68,7 @@ in {
default = { }; default = { };
example = literalExpression example = literalExpression
''{ messages = { d = ":move ''${folder.trash}<Enter>"; }; }''; ''{ messages = { d = ":move ''${folder.trash}<Enter>"; }; }'';
description = lib.mdDoc '' description = ''
Extra bindings specific to this account, added to Extra bindings specific to this account, added to
{file}`$HOME/.config/aerc/binds.conf`. {file}`$HOME/.config/aerc/binds.conf`.
See {manpage}`aerc-binds(5)`. See {manpage}`aerc-binds(5)`.
@ -79,7 +79,7 @@ in {
type = confSections; type = confSections;
default = { }; default = { };
example = literalExpression "{ ui = { sidebar-width = 25; }; }"; example = literalExpression "{ ui = { sidebar-width = 25; }; }";
description = lib.mdDoc '' description = ''
Config specific to this account, added to {file}`$HOME/.config/aerc/aerc.conf`. Config specific to this account, added to {file}`$HOME/.config/aerc/aerc.conf`.
Aerc only supports per-account UI configuration. Aerc only supports per-account UI configuration.
For other sections of {file}`$HOME/.config/aerc/aerc.conf`, For other sections of {file}`$HOME/.config/aerc/aerc.conf`,
@ -92,7 +92,7 @@ in {
type = with types; nullOr (enum [ "oauthbearer" "xoauth2" ]); type = with types; nullOr (enum [ "oauthbearer" "xoauth2" ]);
default = null; default = null;
example = "auth"; example = "auth";
description = lib.mdDoc '' description = ''
Sets the authentication mechanism if imap is used as the incoming Sets the authentication mechanism if imap is used as the incoming
method. method.
See {manpage}`aerc-imap(5)`. See {manpage}`aerc-imap(5)`.
@ -106,7 +106,7 @@ in {
nullOr (enum [ "none" "plain" "login" "oauthbearer" "xoauth2" ]); nullOr (enum [ "none" "plain" "login" "oauthbearer" "xoauth2" ]);
default = "plain"; default = "plain";
example = "auth"; example = "auth";
description = lib.mdDoc '' description = ''
Sets the authentication mechanism if smtp is used as the outgoing Sets the authentication mechanism if smtp is used as the outgoing
method. method.
See {manpage}`aerc-smtp(5)`. See {manpage}`aerc-smtp(5)`.

View file

@ -31,16 +31,16 @@ in {
options.programs.aerc = { options.programs.aerc = {
enable = mkEnableOption (lib.mdDoc "aerc"); enable = mkEnableOption "aerc";
package = mkPackageOptionMD pkgs "aerc" { }; package = mkPackageOption pkgs "aerc" { };
extraAccounts = mkOption { extraAccounts = mkOption {
type = sectionsOrLines; type = sectionsOrLines;
default = { }; default = { };
example = literalExpression example = literalExpression
''{ Work = { source = "maildir://~/Maildir/work"; }; }''; ''{ Work = { source = "maildir://~/Maildir/work"; }; }'';
description = lib.mdDoc '' description = ''
Extra lines added to {file}`$HOME/.config/aerc/accounts.conf`. Extra lines added to {file}`$HOME/.config/aerc/accounts.conf`.
See {manpage}`aerc-config(5)`. See {manpage}`aerc-config(5)`.
@ -51,7 +51,7 @@ in {
type = sectionsOrLines; type = sectionsOrLines;
default = { }; default = { };
example = literalExpression ''{ messages = { q = ":quit<Enter>"; }; }''; example = literalExpression ''{ messages = { q = ":quit<Enter>"; }; }'';
description = lib.mdDoc '' description = ''
Extra lines added to {file}`$HOME/.config/aerc/binds.conf`. Extra lines added to {file}`$HOME/.config/aerc/binds.conf`.
Global keybindings can be set in the `global` section. Global keybindings can be set in the `global` section.
@ -63,7 +63,7 @@ in {
type = sectionsOrLines; type = sectionsOrLines;
default = { }; default = { };
example = literalExpression ''{ ui = { sort = "-r date"; }; }''; example = literalExpression ''{ ui = { sort = "-r date"; }; }'';
description = lib.mdDoc '' description = ''
Extra lines added to {file}`$HOME/.config/aerc/aerc.conf`. Extra lines added to {file}`$HOME/.config/aerc/aerc.conf`.
See {manpage}`aerc-config(5)`. See {manpage}`aerc-config(5)`.
@ -76,7 +76,7 @@ in {
example = literalExpression '' example = literalExpression ''
{ default = { ui = { "tab.selected.reverse" = toggle; }; }; }; { default = { ui = { "tab.selected.reverse" = toggle; }; }; };
''; '';
description = lib.mdDoc '' description = ''
Stylesets added to {file}`$HOME/.config/aerc/stylesets/`. Stylesets added to {file}`$HOME/.config/aerc/stylesets/`.
See {manpage}`aerc-stylesets(7)`. See {manpage}`aerc-stylesets(7)`.
@ -89,7 +89,7 @@ in {
example = literalExpression '' example = literalExpression ''
{ new_message = "Hello!"; }; { new_message = "Hello!"; };
''; '';
description = lib.mdDoc '' description = ''
Templates added to {file}`$HOME/.config/aerc/templates/`. Templates added to {file}`$HOME/.config/aerc/templates/`.
See {manpage}`aerc-templates(7)`. See {manpage}`aerc-templates(7)`.

View file

@ -8,8 +8,7 @@ let
in { in {
options.programs.afew = { options.programs.afew = {
enable = enable = mkEnableOption "the afew initial tagging script for Notmuch";
mkEnableOption (lib.mdDoc "the afew initial tagging script for Notmuch");
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
@ -30,7 +29,7 @@ in {
[InboxFilter] [InboxFilter]
''; '';
description = lib.mdDoc '' description = ''
Extra lines added to afew configuration file. Available Extra lines added to afew configuration file. Available
configuration options are described in the afew manual: configuration options are described in the afew manual:
<https://afew.readthedocs.io/en/latest/configuration.html>. <https://afew.readthedocs.io/en/latest/configuration.html>.

View file

@ -8,13 +8,13 @@ let
in { in {
options = { options = {
programs.alacritty = { programs.alacritty = {
enable = mkEnableOption (lib.mdDoc "Alacritty"); enable = mkEnableOption "Alacritty";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.alacritty; default = pkgs.alacritty;
defaultText = literalExpression "pkgs.alacritty"; defaultText = literalExpression "pkgs.alacritty";
description = lib.mdDoc "The Alacritty package to install."; description = "The Alacritty package to install.";
}; };
settings = mkOption { settings = mkOption {
@ -35,7 +35,7 @@ in {
]; ];
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/alacritty/alacritty.yml`. See {file}`$XDG_CONFIG_HOME/alacritty/alacritty.yml`. See
<https://github.com/alacritty/alacritty/blob/master/alacritty.yml> <https://github.com/alacritty/alacritty/blob/master/alacritty.yml>

View file

@ -7,7 +7,7 @@ with lib;
options.alot = { options.alot = {
sendMailCommand = mkOption { sendMailCommand = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
Command to send a mail. If msmtp is enabled for the account, Command to send a mail. If msmtp is enabled for the account,
then this is set to then this is set to
{command}`msmtpq --read-envelope-from --read-recipients`. {command}`msmtpq --read-envelope-from --read-recipients`.
@ -33,7 +33,7 @@ with lib;
ignorecase = "True"; ignorecase = "True";
} }
''; '';
description = lib.mdDoc '' description = ''
Contact completion configuration as expected per alot. Contact completion configuration as expected per alot.
See [alot's wiki](http://alot.readthedocs.io/en/latest/configuration/contacts_completion.html) for See [alot's wiki](http://alot.readthedocs.io/en/latest/configuration/contacts_completion.html) for
explanation about possible values. explanation about possible values.
@ -43,7 +43,7 @@ with lib;
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra settings to add to this Alot account configuration. Extra settings to add to this Alot account configuration.
''; '';
}; };

View file

@ -25,7 +25,7 @@ let
options = { options = {
translated = mkOption { translated = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
Fixed string representation for this tag. The tag can be Fixed string representation for this tag. The tag can be
hidden from view, if the key translated is set to hidden from view, if the key translated is set to
`""`, the empty string. `""`, the empty string.
@ -35,7 +35,7 @@ let
translation = mkOption { translation = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
A pair of strings that define a regular substitution to A pair of strings that define a regular substitution to
compute the string representation on the fly using compute the string representation on the fly using
`re.sub`. `re.sub`.
@ -46,7 +46,7 @@ let
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "'','', 'white','light red', 'white','#d66'"; example = "'','', 'white','light red', 'white','#d66'";
description = lib.mdDoc '' description = ''
How to display the tag when unfocused. How to display the tag when unfocused.
See <https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting>. See <https://alot.readthedocs.io/en/latest/configuration/theming.html#tagstring-formatting>.
''; '';
@ -55,7 +55,7 @@ let
focus = mkOption { focus = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "How to display the tag when focused."; description = "How to display the tag when focused.";
}; };
}; };
}; };
@ -125,7 +125,7 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = lib.mdDoc '' description = ''
Whether to enable the Alot mail user agent. Alot uses the Whether to enable the Alot mail user agent. Alot uses the
Notmuch email system and will therefore be automatically Notmuch email system and will therefore be automatically
enabled for each email account that is managed by Notmuch. enabled for each email account that is managed by Notmuch.
@ -135,7 +135,7 @@ in {
hooks = mkOption { hooks = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Content of the hooks file. Content of the hooks file.
''; '';
}; };
@ -146,42 +146,42 @@ in {
global = mkOption { global = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Global keybindings."; description = "Global keybindings.";
}; };
bufferlist = mkOption { bufferlist = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Bufferlist mode keybindings."; description = "Bufferlist mode keybindings.";
}; };
search = mkOption { search = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Search mode keybindings."; description = "Search mode keybindings.";
}; };
envelope = mkOption { envelope = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Envelope mode keybindings."; description = "Envelope mode keybindings.";
}; };
taglist = mkOption { taglist = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Taglist mode keybindings."; description = "Taglist mode keybindings.";
}; };
thread = mkOption { thread = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
description = lib.mdDoc "Thread mode keybindings."; description = "Thread mode keybindings.";
}; };
}; };
}; };
default = { }; default = { };
description = lib.mdDoc '' description = ''
Keybindings. Keybindings.
''; '';
}; };
@ -189,7 +189,7 @@ in {
tags = mkOption { tags = mkOption {
type = types.attrsOf tagSubmodule; type = types.attrsOf tagSubmodule;
default = { }; default = { };
description = lib.mdDoc "How to display the tags."; description = "How to display the tags.";
}; };
settings = mkOption { settings = mkOption {
@ -209,7 +209,7 @@ in {
thread_indent_replies = 2; thread_indent_replies = 2;
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration options added to alot configuration file. Configuration options added to alot configuration file.
''; '';
}; };
@ -217,7 +217,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra lines added to alot configuration file. Extra lines added to alot configuration file.
''; '';
}; };

View file

@ -19,18 +19,18 @@ in {
meta.maintainers = [ maintainers.hitsmaxft ]; meta.maintainers = [ maintainers.hitsmaxft ];
options.programs.zsh.antidote = { options.programs.zsh.antidote = {
enable = mkEnableOption (lib.mdDoc "antidote - a zsh plugin manager"); enable = mkEnableOption "antidote - a zsh plugin manager";
plugins = mkOption { plugins = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "zsh-users/zsh-autosuggestions" ]; example = [ "zsh-users/zsh-autosuggestions" ];
description = lib.mdDoc "List of antidote plugins."; description = "List of antidote plugins.";
}; };
useFriendlyNames = mkEnableOption (lib.mdDoc "friendly names"); useFriendlyNames = mkEnableOption "friendly names";
package = mkPackageOptionMD pkgs "antidote" { }; package = mkPackageOption pkgs "antidote" { };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -17,12 +17,12 @@ in {
meta.maintainers = [ hm.maintainers.justinlovinger ]; meta.maintainers = [ hm.maintainers.justinlovinger ];
options.programs.aria2 = { options.programs.aria2 = {
enable = mkEnableOption (lib.mdDoc "aria2"); enable = mkEnableOption "aria2";
settings = mkOption { settings = mkOption {
type = with types; attrsOf (oneOf [ bool float int str ]); type = with types; attrsOf (oneOf [ bool float int str ]);
default = { }; default = { };
description = lib.mdDoc '' description = ''
Options to add to {file}`aria2.conf` file. Options to add to {file}`aria2.conf` file.
See See
{manpage}`aria2c(1)` {manpage}`aria2c(1)`
@ -42,7 +42,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra lines added to {file}`aria2.conf` file. Extra lines added to {file}`aria2.conf` file.
''; '';
}; };

View file

@ -4,11 +4,11 @@ with lib;
{ {
options.astroid = { options.astroid = {
enable = mkEnableOption (lib.mdDoc "Astroid"); enable = mkEnableOption "Astroid";
sendMailCommand = mkOption { sendMailCommand = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
Command to send a mail. If msmtp is enabled for the account, Command to send a mail. If msmtp is enabled for the account,
then this is set to then this is set to
{command}`msmtpq --read-envelope-from --read-recipients`. {command}`msmtpq --read-envelope-from --read-recipients`.
@ -19,7 +19,7 @@ with lib;
type = types.attrsOf types.anything; type = types.attrsOf types.anything;
default = { }; default = { };
example = { select_query = ""; }; example = { select_query = ""; };
description = lib.mdDoc '' description = ''
Extra settings to add to this astroid account configuration. Extra settings to add to this astroid account configuration.
''; '';
}; };

View file

@ -55,13 +55,13 @@ let
in { in {
options = { options = {
programs.astroid = { programs.astroid = {
enable = mkEnableOption (lib.mdDoc "Astroid"); enable = mkEnableOption "Astroid";
pollScript = mkOption { pollScript = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
example = "mbsync gmail"; example = "mbsync gmail";
description = lib.mdDoc '' description = ''
Script to run to fetch/update mails. Script to run to fetch/update mails.
''; '';
}; };
@ -79,7 +79,7 @@ in {
}; };
example = example =
"nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1"; "nvim-qt -- -c 'set ft=mail' '+set fileencoding=utf-8' '+set ff=unix' '+set enc=utf-8' '+set fo+=w' %1";
description = lib.mdDoc '' description = ''
You can use the following variables: You can use the following variables:
`%1` `%1`
@ -104,7 +104,7 @@ in {
poll.interval = 0; poll.interval = 0;
} }
''; '';
description = lib.mdDoc '' description = ''
JSON config that will override the default Astroid configuration. JSON config that will override the default Astroid configuration.
''; '';
}; };

View file

@ -12,19 +12,19 @@ in {
meta.maintainers = [ maintainers.hawkw ]; meta.maintainers = [ maintainers.hawkw ];
options.programs.atuin = { options.programs.atuin = {
enable = mkEnableOption (lib.mdDoc "atuin"); enable = mkEnableOption "atuin";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.atuin; default = pkgs.atuin;
defaultText = literalExpression "pkgs.atuin"; defaultText = literalExpression "pkgs.atuin";
description = lib.mdDoc "The package to use for atuin."; description = "The package to use for atuin.";
}; };
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Atuin's Bash integration. This will bind Whether to enable Atuin's Bash integration. This will bind
`ctrl-r` to open the Atuin history. `ctrl-r` to open the Atuin history.
''; '';
@ -33,7 +33,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Atuin's Zsh integration. Whether to enable Atuin's Zsh integration.
If enabled, this will bind `ctrl-r` and the up-arrow If enabled, this will bind `ctrl-r` and the up-arrow
@ -44,7 +44,7 @@ in {
enableFishIntegration = mkOption { enableFishIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Atuin's Fish integration. Whether to enable Atuin's Fish integration.
If enabled, this will bind the up-arrow key to open the Atuin history. If enabled, this will bind the up-arrow key to open the Atuin history.
@ -55,7 +55,7 @@ in {
default = [ ]; default = [ ];
type = types.listOf types.str; type = types.listOf types.str;
example = [ "--disable-up-arrow" "--disable-ctrl-r" ]; example = [ "--disable-up-arrow" "--disable-ctrl-r" ];
description = lib.mdDoc '' description = ''
Flags to append to the shell hook. Flags to append to the shell hook.
''; '';
}; };
@ -78,7 +78,7 @@ in {
search_mode = "prefix"; search_mode = "prefix";
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/atuin/config.toml`. {file}`$XDG_CONFIG_HOME/atuin/config.toml`.
@ -90,7 +90,7 @@ in {
enableNushellIntegration = mkOption { enableNushellIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Nushell integration. Whether to enable Nushell integration.
''; '';
}; };

View file

@ -11,12 +11,12 @@ in {
meta.maintainers = [ maintainers.evanjs ]; meta.maintainers = [ maintainers.evanjs ];
options.programs.autojump = { options.programs.autojump = {
enable = mkEnableOption (lib.mdDoc "autojump"); enable = mkEnableOption "autojump";
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Bash integration. Whether to enable Bash integration.
''; '';
}; };
@ -24,7 +24,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Zsh integration. Whether to enable Zsh integration.
''; '';
}; };
@ -32,7 +32,7 @@ in {
enableFishIntegration = mkOption { enableFishIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Fish integration. Whether to enable Fish integration.
''; '';
}; };

View file

@ -26,7 +26,7 @@ let
options = { options = {
fingerprint = mkOption { fingerprint = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
description = lib.mdDoc '' description = ''
Output name to EDID mapping. Output name to EDID mapping.
Use `autorandr --fingerprint` to get current setup values. Use `autorandr --fingerprint` to get current setup values.
''; '';
@ -35,13 +35,13 @@ let
config = mkOption { config = mkOption {
type = types.attrsOf configModule; type = types.attrsOf configModule;
description = lib.mdDoc "Per output profile configuration."; description = "Per output profile configuration.";
default = { }; default = { };
}; };
hooks = mkOption { hooks = mkOption {
type = profileHooksModule; type = profileHooksModule;
description = lib.mdDoc "Profile hook scripts."; description = "Profile hook scripts.";
default = { }; default = { };
}; };
}; };
@ -51,54 +51,54 @@ let
options = { options = {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether to enable the output."; description = "Whether to enable the output.";
default = true; default = true;
}; };
crtc = mkOption { crtc = mkOption {
type = types.nullOr types.ints.unsigned; type = types.nullOr types.ints.unsigned;
description = lib.mdDoc "Output video display controller."; description = "Output video display controller.";
default = null; default = null;
example = 0; example = 0;
}; };
primary = mkOption { primary = mkOption {
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether output should be marked as primary"; description = "Whether output should be marked as primary";
default = false; default = false;
}; };
position = mkOption { position = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "Output position"; description = "Output position";
default = ""; default = "";
example = "5760x0"; example = "5760x0";
}; };
mode = mkOption { mode = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "Output resolution."; description = "Output resolution.";
default = ""; default = "";
example = "3840x2160"; example = "3840x2160";
}; };
rate = mkOption { rate = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "Output framerate."; description = "Output framerate.";
default = ""; default = "";
example = "60.00"; example = "60.00";
}; };
gamma = mkOption { gamma = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "Output gamma configuration."; description = "Output gamma configuration.";
default = ""; default = "";
example = "1.0:0.909:0.833"; example = "1.0:0.909:0.833";
}; };
rotate = mkOption { rotate = mkOption {
type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]); type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]);
description = lib.mdDoc "Output rotate configuration."; description = "Output rotate configuration.";
default = null; default = null;
example = "left"; example = "left";
}; };
@ -113,7 +113,7 @@ let
[ 0.0 0.0 1.0 ] [ 0.0 0.0 1.0 ]
] ]
''; '';
description = lib.mdDoc '' description = ''
Refer to Refer to
{manpage}`xrandr(1)` {manpage}`xrandr(1)`
for the documentation of the transform matrix. for the documentation of the transform matrix.
@ -122,7 +122,7 @@ let
dpi = mkOption { dpi = mkOption {
type = types.nullOr types.ints.positive; type = types.nullOr types.ints.positive;
description = lib.mdDoc "Output DPI configuration."; description = "Output DPI configuration.";
default = null; default = null;
example = 96; example = 96;
}; };
@ -132,23 +132,23 @@ let
options = { options = {
method = mkOption { method = mkOption {
type = types.enum [ "factor" "pixel" ]; type = types.enum [ "factor" "pixel" ];
description = lib.mdDoc "Output scaling method."; description = "Output scaling method.";
default = "factor"; default = "factor";
example = "pixel"; example = "pixel";
}; };
x = mkOption { x = mkOption {
type = types.either types.float types.ints.positive; type = types.either types.float types.ints.positive;
description = lib.mdDoc "Horizontal scaling factor/pixels."; description = "Horizontal scaling factor/pixels.";
}; };
y = mkOption { y = mkOption {
type = types.either types.float types.ints.positive; type = types.either types.float types.ints.positive;
description = lib.mdDoc "Vertical scaling factor/pixels."; description = "Vertical scaling factor/pixels.";
}; };
}; };
}); });
description = lib.mdDoc '' description = ''
Output scale configuration. Output scale configuration.
Either configure by pixels or a scaling factor. When using pixel method the Either configure by pixels or a scaling factor. When using pixel method the
@ -173,8 +173,7 @@ let
filter = mkOption { filter = mkOption {
type = types.nullOr (types.enum [ "bilinear" "nearest" ]); type = types.nullOr (types.enum [ "bilinear" "nearest" ]);
description = description = "Interpolation method to be used for scaling the output.";
lib.mdDoc "Interpolation method to be used for scaling the output.";
default = null; default = null;
example = "nearest"; example = "nearest";
}; };
@ -187,19 +186,19 @@ let
options = { options = {
postswitch = mkOption { postswitch = mkOption {
type = types.attrsOf hookType; type = types.attrsOf hookType;
description = lib.mdDoc "Postswitch hook executed after mode switch."; description = "Postswitch hook executed after mode switch.";
default = { }; default = { };
}; };
preswitch = mkOption { preswitch = mkOption {
type = types.attrsOf hookType; type = types.attrsOf hookType;
description = lib.mdDoc "Preswitch hook executed before mode switch."; description = "Preswitch hook executed before mode switch.";
default = { }; default = { };
}; };
predetect = mkOption { predetect = mkOption {
type = types.attrsOf hookType; type = types.attrsOf hookType;
description = lib.mdDoc '' description = ''
Predetect hook executed before autorandr attempts to run xrandr. Predetect hook executed before autorandr attempts to run xrandr.
''; '';
default = { }; default = { };
@ -211,19 +210,19 @@ let
options = { options = {
postswitch = mkOption { postswitch = mkOption {
type = hookType; type = hookType;
description = lib.mdDoc "Postswitch hook executed after mode switch."; description = "Postswitch hook executed after mode switch.";
default = ""; default = "";
}; };
preswitch = mkOption { preswitch = mkOption {
type = hookType; type = hookType;
description = lib.mdDoc "Preswitch hook executed before mode switch."; description = "Preswitch hook executed before mode switch.";
default = ""; default = "";
}; };
predetect = mkOption { predetect = mkOption {
type = hookType; type = hookType;
description = lib.mdDoc '' description = ''
Predetect hook executed before autorandr attempts to run xrandr. Predetect hook executed before autorandr attempts to run xrandr.
''; '';
default = ""; default = "";
@ -277,11 +276,11 @@ let
in { in {
options = { options = {
programs.autorandr = { programs.autorandr = {
enable = mkEnableOption (lib.mdDoc "Autorandr"); enable = mkEnableOption "Autorandr";
hooks = mkOption { hooks = mkOption {
type = globalHooksModule; type = globalHooksModule;
description = lib.mdDoc "Global hook scripts"; description = "Global hook scripts";
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
{ {
@ -313,7 +312,7 @@ in {
profiles = mkOption { profiles = mkOption {
type = types.attrsOf profileModule; type = types.attrsOf profileModule;
description = lib.mdDoc "Autorandr profiles specification."; description = "Autorandr profiles specification.";
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
{ {

View file

@ -27,12 +27,12 @@ in {
options = { options = {
programs.bash = { programs.bash = {
enable = mkEnableOption (lib.mdDoc "GNU Bourne-Again SHell"); enable = mkEnableOption "GNU Bourne-Again SHell";
enableCompletion = mkOption { enableCompletion = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Bash completion for all interactive Bash shells. Whether to enable Bash completion for all interactive Bash shells.
Note, if you use NixOS or nix-darwin and do not have Bash completion Note, if you use NixOS or nix-darwin and do not have Bash completion
@ -51,34 +51,33 @@ in {
historySize = mkOption { historySize = mkOption {
type = types.int; type = types.int;
default = 10000; default = 10000;
description = lib.mdDoc "Number of history lines to keep in memory."; description = "Number of history lines to keep in memory.";
}; };
historyFile = mkOption { historyFile = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "Location of the bash history file."; description = "Location of the bash history file.";
}; };
historyFileSize = mkOption { historyFileSize = mkOption {
type = types.int; type = types.int;
default = 100000; default = 100000;
description = lib.mdDoc "Number of history lines to keep on file."; description = "Number of history lines to keep on file.";
}; };
historyControl = mkOption { historyControl = mkOption {
type = type =
types.listOf (types.enum [ "erasedups" "ignoredups" "ignorespace" ]); types.listOf (types.enum [ "erasedups" "ignoredups" "ignorespace" ]);
default = [ ]; default = [ ];
description = description = "Controlling how commands are saved on the history list.";
lib.mdDoc "Controlling how commands are saved on the history list.";
}; };
historyIgnore = mkOption { historyIgnore = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "ls" "cd" "exit" ]; example = [ "ls" "cd" "exit" ];
description = lib.mdDoc description =
"List of commands that should not be saved to the history list."; "List of commands that should not be saved to the history list.";
}; };
@ -100,7 +99,7 @@ in {
"checkjobs" "checkjobs"
]; ];
example = [ "extglob" "-cdspell" ]; example = [ "extglob" "-cdspell" ];
description = lib.mdDoc '' description = ''
Shell options to set. Prefix an option with Shell options to set. Prefix an option with
"`-`" to unset. "`-`" to unset.
''; '';
@ -110,7 +109,7 @@ in {
default = { }; default = { };
type = types.attrs; type = types.attrs;
example = { MAILCHECK = 30; }; example = { MAILCHECK = 30; };
description = lib.mdDoc '' description = ''
Environment variables that will be set for the Bash session. Environment variables that will be set for the Bash session.
''; '';
}; };
@ -124,7 +123,7 @@ in {
".." = "cd .."; ".." = "cd ..";
} }
''; '';
description = lib.mdDoc '' description = ''
An attribute set that maps aliases (the top level attribute names in An attribute set that maps aliases (the top level attribute names in
this option) to command strings or directly to build outputs. this option) to command strings or directly to build outputs.
''; '';
@ -133,7 +132,7 @@ in {
profileExtra = mkOption { profileExtra = mkOption {
default = ""; default = "";
type = types.lines; type = types.lines;
description = lib.mdDoc '' description = ''
Extra commands that should be run when initializing a login Extra commands that should be run when initializing a login
shell. shell.
''; '';
@ -142,7 +141,7 @@ in {
initExtra = mkOption { initExtra = mkOption {
default = ""; default = "";
type = types.lines; type = types.lines;
description = lib.mdDoc '' description = ''
Extra commands that should be run when initializing an Extra commands that should be run when initializing an
interactive shell. interactive shell.
''; '';
@ -151,7 +150,7 @@ in {
bashrcExtra = mkOption { bashrcExtra = mkOption {
default = ""; default = "";
type = types.lines; type = types.lines;
description = lib.mdDoc '' description = ''
Extra commands that should be placed in {file}`~/.bashrc`. Extra commands that should be placed in {file}`~/.bashrc`.
Note that these commands will be run even in non-interactive shells. Note that these commands will be run even in non-interactive shells.
''; '';
@ -160,7 +159,7 @@ in {
logoutExtra = mkOption { logoutExtra = mkOption {
default = ""; default = "";
type = types.lines; type = types.lines;
description = lib.mdDoc '' description = ''
Extra commands that should be run when logging out of an Extra commands that should be run when logging out of an
interactive shell. interactive shell.
''; '';

View file

@ -10,12 +10,12 @@ in {
meta.maintainers = [ maintainers.AndersonTorres ]; meta.maintainers = [ maintainers.AndersonTorres ];
options.programs.bashmount = { options.programs.bashmount = {
enable = mkEnableOption (lib.mdDoc "bashmount"); enable = mkEnableOption "bashmount";
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/bashmount/config`. Look at {file}`$XDG_CONFIG_HOME/bashmount/config`. Look at
<https://github.com/jamielinux/bashmount/blob/master/bashmount.conf> <https://github.com/jamielinux/bashmount/blob/master/bashmount.conf>

View file

@ -17,7 +17,7 @@ in {
meta.maintainers = [ ]; meta.maintainers = [ ];
options.programs.bat = { options.programs.bat = {
enable = mkEnableOption (lib.mdDoc "bat, a cat clone with wings"); enable = mkEnableOption "bat, a cat clone with wings";
config = mkOption { config = mkOption {
type = with types; attrsOf (either str (listOf str)); type = with types; attrsOf (either str (listOf str));
@ -27,7 +27,7 @@ in {
pager = "less -FR"; pager = "less -FR";
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ]; map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
}; };
description = lib.mdDoc '' description = ''
Bat configuration. Bat configuration.
''; '';
}; };
@ -37,7 +37,7 @@ in {
default = [ ]; default = [ ];
example = literalExpression example = literalExpression
"with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];"; "with pkgs.bat-extras; [ batdiff batman batgrep batwatch ];";
description = lib.mdDoc '' description = ''
Additional bat packages to install. Additional bat packages to install.
''; '';
}; };
@ -55,7 +55,7 @@ in {
} + "/Dracula.tmTheme"); } + "/Dracula.tmTheme");
} }
''; '';
description = lib.mdDoc '' description = ''
Additional themes to provide. Additional themes to provide.
''; '';
}; };

View file

@ -20,7 +20,7 @@ in {
else else
cfg.settings != { }; cfg.settings != { };
defaultText = "false"; defaultText = "false";
description = lib.mdDoc '' description = ''
Whether to enable the beets music library manager. This Whether to enable the beets music library manager. This
defaults to `false` for state defaults to `false` for state
version  19.03. For earlier versions beets is enabled if version  19.03. For earlier versions beets is enabled if
@ -34,7 +34,7 @@ in {
defaultText = literalExpression "pkgs.beets"; defaultText = literalExpression "pkgs.beets";
example = example =
literalExpression "(pkgs.beets.override { enableCheck = true; })"; literalExpression "(pkgs.beets.override { enableCheck = true; })";
description = lib.mdDoc '' description = ''
The `beets` package to use. The `beets` package to use.
Can be used to specify extensions. Can be used to specify extensions.
''; '';
@ -43,22 +43,22 @@ in {
settings = mkOption { settings = mkOption {
type = yamlFormat.type; type = yamlFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/beets/config.yaml` {file}`$XDG_CONFIG_HOME/beets/config.yaml`
''; '';
}; };
mpdIntegration = { mpdIntegration = {
enableStats = mkEnableOption (lib.mdDoc "mpdstats plugin and service"); enableStats = mkEnableOption "mpdstats plugin and service";
enableUpdate = mkEnableOption (lib.mdDoc "mpdupdate plugin"); enableUpdate = mkEnableOption "mpdupdate plugin";
host = mkOption { host = mkOption {
type = types.str; type = types.str;
default = "localhost"; default = "localhost";
example = "10.0.0.42"; example = "10.0.0.42";
description = lib.mdDoc "The host that mpdstats will connect to."; description = "The host that mpdstats will connect to.";
}; };
port = mkOption { port = mkOption {
@ -66,7 +66,7 @@ in {
default = config.services.mpd.network.port; default = config.services.mpd.network.port;
defaultText = literalExpression "config.services.mpd.network.port"; defaultText = literalExpression "config.services.mpd.network.port";
example = 6601; example = 6601;
description = lib.mdDoc "The port that mpdstats will connect to."; description = "The port that mpdstats will connect to.";
}; };
}; };
}; };

View file

@ -16,7 +16,7 @@ let
mkRetentionOption = frequency: mkRetentionOption = frequency:
mkNullableOption { mkNullableOption {
type = types.int; type = types.int;
description = lib.mdDoc description =
"Number of ${frequency} archives to keep. Use -1 for no limit."; "Number of ${frequency} archives to keep. Use -1 for no limit.";
example = 3; example = 3;
}; };
@ -24,20 +24,20 @@ let
extraConfigOption = mkOption { extraConfigOption = mkOption {
type = yamlFormat.type; type = yamlFormat.type;
default = { }; default = { };
description = lib.mdDoc "Extra settings."; description = "Extra settings.";
}; };
consistencyCheckModule = types.submodule { consistencyCheckModule = types.submodule {
options = { options = {
name = mkOption { name = mkOption {
type = types.enum [ "repository" "archives" "data" "extract" ]; type = types.enum [ "repository" "archives" "data" "extract" ];
description = lib.mdDoc "Name of consistency check to run."; description = "Name of consistency check to run.";
example = "repository"; example = "repository";
}; };
frequency = mkNullableOption { frequency = mkNullableOption {
type = types.strMatching "([[:digit:]]+ .*)|always"; type = types.strMatching "([[:digit:]]+ .*)|always";
description = lib.mdDoc "Frequency of this type of check"; description = "Frequency of this type of check";
example = "2 weeks"; example = "2 weeks";
}; };
}; };
@ -51,20 +51,20 @@ let
location = { location = {
sourceDirectories = mkOption { sourceDirectories = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = lib.mdDoc "Directories to backup."; description = "Directories to backup.";
example = literalExpression "[config.home.homeDirectory]"; example = literalExpression "[config.home.homeDirectory]";
}; };
repositories = mkOption { repositories = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = lib.mdDoc "Paths to repositories."; description = "Paths to repositories.";
example = example =
literalExpression ''["ssh://myuser@myrepo.myserver.com/./repo"]''; literalExpression ''["ssh://myuser@myrepo.myserver.com/./repo"]'';
}; };
excludeHomeManagerSymlinks = mkOption { excludeHomeManagerSymlinks = mkOption {
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to exclude Home Manager generated symbolic links from Whether to exclude Home Manager generated symbolic links from
the backups. This facilitates restoring the whole home the backups. This facilitates restoring the whole home
directory when the Nix store doesn't contain the latest directory when the Nix store doesn't contain the latest
@ -80,8 +80,7 @@ let
storage = { storage = {
encryptionPasscommand = mkNullableOption { encryptionPasscommand = mkNullableOption {
type = types.str; type = types.str;
description = description = "Command writing the passphrase to standard output.";
lib.mdDoc "Command writing the passphrase to standard output.";
example = example =
literalExpression ''"''${pkgs.password-store}/bin/pass borg-repo"''; literalExpression ''"''${pkgs.password-store}/bin/pass borg-repo"'';
}; };
@ -91,8 +90,7 @@ let
retention = { retention = {
keepWithin = mkNullableOption { keepWithin = mkNullableOption {
type = types.strMatching "[[:digit:]]+[Hdwmy]"; type = types.strMatching "[[:digit:]]+[Hdwmy]";
description = description = "Keep all archives within this time interval.";
lib.mdDoc "Keep all archives within this time interval.";
example = "2d"; example = "2d";
}; };
@ -111,7 +109,7 @@ let
checks = mkOption { checks = mkOption {
type = types.listOf consistencyCheckModule; type = types.listOf consistencyCheckModule;
default = [ ]; default = [ ];
description = lib.mdDoc "Consistency checks to run"; description = "Consistency checks to run";
example = literalExpression '' example = literalExpression ''
[ [
{ {
@ -182,13 +180,13 @@ in {
options = { options = {
programs.borgmatic = { programs.borgmatic = {
enable = mkEnableOption (lib.mdDoc "Borgmatic"); enable = mkEnableOption "Borgmatic";
package = mkPackageOptionMD pkgs "borgmatic" { }; package = mkPackageOption pkgs "borgmatic" { };
backups = mkOption { backups = mkOption {
type = types.attrsOf configModule; type = types.attrsOf configModule;
description = lib.mdDoc '' description = ''
Borgmatic allows for several named backup configurations, Borgmatic allows for several named backup configurations,
each with its own source directories and repositories. each with its own source directories and repositories.
''; '';

View file

@ -11,21 +11,21 @@ let
in { in {
options = { options = {
programs.bottom = { programs.bottom = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
bottom, a cross-platform graphical process/system monitor with a bottom, a cross-platform graphical process/system monitor with a
customizable interface''); customizable interface'';
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.bottom; default = pkgs.bottom;
defaultText = literalExpression "pkgs.bottom"; defaultText = literalExpression "pkgs.bottom";
description = lib.mdDoc "Package providing {command}`bottom`."; description = "Package providing {command}`bottom`.";
}; };
settings = mkOption { settings = mkOption {
type = tomlFormat.type; type = tomlFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/bottom/bottom.toml`. {file}`$XDG_CONFIG_HOME/bottom/bottom.toml`.

View file

@ -12,7 +12,7 @@ let
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
Unique identifier of the boxxy rule. This can be any single-line string. Unique identifier of the boxxy rule. This can be any single-line string.
''; '';
}; };
@ -21,7 +21,7 @@ let
type = types.str; type = types.str;
default = ""; default = "";
example = "~/.ssh"; example = "~/.ssh";
description = lib.mdDoc '' description = ''
What directory/file to redirect. What directory/file to redirect.
''; '';
}; };
@ -30,7 +30,7 @@ let
type = types.str; type = types.str;
default = ""; default = "";
example = literalExpression ''"''${config.xdg.configHome}/ssh"''; example = literalExpression ''"''${config.xdg.configHome}/ssh"'';
description = lib.mdDoc '' description = ''
Where that file/directory should be rewritten to. Where that file/directory should be rewritten to.
''; '';
}; };
@ -38,7 +38,7 @@ let
mode = mkOption { mode = mkOption {
type = types.enum [ "file" "directory" ]; type = types.enum [ "file" "directory" ];
default = "directory"; default = "directory";
description = lib.mdDoc '' description = ''
Does the current path redirect a file or a directory? Does the current path redirect a file or a directory?
''; '';
}; };
@ -52,7 +52,7 @@ let
"/usr/bin/sh" "/usr/bin/sh"
] ]
''; '';
description = lib.mdDoc '' description = ''
Apply redirection ONLY to specified executable names. Apply redirection ONLY to specified executable names.
''; '';
}; };
@ -61,7 +61,7 @@ let
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "/home/example/Projects/my-project" ]; example = [ "/home/example/Projects/my-project" ];
description = lib.mdDoc '' description = ''
Apply redirection ONLY when in a certain directory. Apply redirection ONLY when in a certain directory.
''; '';
}; };
@ -74,7 +74,7 @@ let
MY_ENV_VAR = "my_env_var_value"; MY_ENV_VAR = "my_env_var_value";
} }
''; '';
description = lib.mdDoc '' description = ''
Give certain environment variables for said match. Give certain environment variables for said match.
''; '';
}; };
@ -82,15 +82,14 @@ let
}; };
in { in {
options.programs.boxxy = { options.programs.boxxy = {
enable = enable = mkEnableOption "boxxy: Boxes in badly behaving applications";
mkEnableOption (lib.mdDoc "boxxy: Boxes in badly behaving applications");
package = mkPackageOptionMD pkgs "boxxy" { }; package = mkPackageOption pkgs "boxxy" { };
rules = mkOption { rules = mkOption {
type = types.listOf boxxyRulesOpts; type = types.listOf boxxyRulesOpts;
default = [ ]; default = [ ];
description = lib.mdDoc "List of boxxy rules"; description = "List of boxxy rules";
}; };
}; };

View file

@ -12,7 +12,7 @@ let
freeformType = tomlFormat.type; freeformType = tomlFormat.type;
options = { options = {
modal = mkEnableOption (lib.mdDoc "modal (vim) mode"); modal = mkEnableOption "modal (vim) mode";
verbs = mkOption { verbs = mkOption {
type = with types; listOf (attrsOf (either bool str)); type = with types; listOf (attrsOf (either bool str));
@ -30,7 +30,7 @@ let
} }
] ]
''; '';
description = lib.mdDoc '' description = ''
Define new verbs. For more information, see Define new verbs. For more information, see
[Verb Definition Attributes](https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes) [Verb Definition Attributes](https://dystroy.org/broot/documentation/configuration/#verb-definition-attributes)
in the broot documentation. in the broot documentation.
@ -81,7 +81,7 @@ let
code_fg = "lightyellow"; code_fg = "lightyellow";
} }
''; '';
description = lib.mdDoc '' description = ''
Color configuration. Color configuration.
Complete list of keys (expected to change before the v1 of broot): Complete list of keys (expected to change before the v1 of broot):
@ -149,13 +149,12 @@ in {
]; ];
options.programs.broot = { options.programs.broot = {
enable = enable = mkEnableOption "Broot, a better way to navigate directories";
mkEnableOption (lib.mdDoc "Broot, a better way to navigate directories");
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Bash integration. Whether to enable Bash integration.
''; '';
}; };
@ -163,7 +162,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Zsh integration. Whether to enable Zsh integration.
''; '';
}; };
@ -171,7 +170,7 @@ in {
enableFishIntegration = mkOption { enableFishIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Fish integration. Whether to enable Fish integration.
''; '';
}; };
@ -180,13 +179,13 @@ in {
type = types.package; type = types.package;
default = pkgs.broot; default = pkgs.broot;
defaultText = literalExpression "pkgs.broot"; defaultText = literalExpression "pkgs.broot";
description = lib.mdDoc "Package providing broot"; description = "Package providing broot";
}; };
settings = mkOption { settings = mkOption {
type = types.submodule settingsModule; type = types.submodule settingsModule;
default = { }; default = { };
description = lib.mdDoc "Verbatim config entries"; description = "Verbatim config entries";
}; };
}; };

View file

@ -8,14 +8,13 @@ let
in { in {
options = { options = {
programs.browserpass = { programs.browserpass = {
enable = enable = mkEnableOption "the browserpass extension host application";
mkEnableOption (lib.mdDoc "the browserpass extension host application");
browsers = mkOption { browsers = mkOption {
type = types.listOf (types.enum browsers); type = types.listOf (types.enum browsers);
default = browsers; default = browsers;
example = [ "firefox" ]; example = [ "firefox" ];
description = lib.mdDoc "Which browsers to install browserpass for"; description = "Which browsers to install browserpass for";
}; };
}; };
}; };

View file

@ -28,9 +28,9 @@ in {
meta.maintainers = [ hm.maintainers.GaetanLepage ]; meta.maintainers = [ hm.maintainers.GaetanLepage ];
options.programs.btop = { options.programs.btop = {
enable = mkEnableOption (lib.mdDoc "btop"); enable = mkEnableOption "btop";
package = mkPackageOptionMD pkgs "btop" { }; package = mkPackageOption pkgs "btop" { };
settings = mkOption { settings = mkOption {
type = with types; attrsOf (oneOf [ bool float int str ]); type = with types; attrsOf (oneOf [ bool float int str ]);
@ -39,7 +39,7 @@ in {
color_theme = "Default"; color_theme = "Default";
theme_background = false; theme_background = false;
}; };
description = lib.mdDoc '' description = ''
Options to add to {file}`btop.conf` file. Options to add to {file}`btop.conf` file.
See <https://github.com/aristocratos/btop#configurability> See <https://github.com/aristocratos/btop#configurability>
for options. for options.
@ -49,7 +49,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra lines added to the {file}`btop.conf` file. Extra lines added to the {file}`btop.conf` file.
''; '';
}; };

View file

@ -23,7 +23,7 @@ let
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = lib.mdDoc "Whether to enable ${name}."; description = "Whether to enable ${name}.";
}; };
package = mkOption { package = mkOption {
@ -31,7 +31,7 @@ let
type = types.package; type = types.package;
default = defaultPkg; default = defaultPkg;
defaultText = literalExpression "pkgs.${browser}"; defaultText = literalExpression "pkgs.${browser}";
description = lib.mdDoc "The ${name} package to use."; description = "The ${name} package to use.";
}; };
commandLineArgs = mkOption { commandLineArgs = mkOption {
@ -39,7 +39,7 @@ let
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--enable-logging=stderr" "--ignore-gpu-blocklist" ]; example = [ "--enable-logging=stderr" "--ignore-gpu-blocklist" ];
description = lib.mdDoc '' description = ''
List of command-line arguments to be passed to ${name}. List of command-line arguments to be passed to ${name}.
For a list of common switches, see For a list of common switches, see
@ -60,7 +60,7 @@ let
options = { options = {
id = mkOption { id = mkOption {
type = strMatching "[a-zA-Z]{32}"; type = strMatching "[a-zA-Z]{32}";
description = lib.mdDoc '' description = ''
The extension's ID from the Chrome Web Store url or the unpacked crx. The extension's ID from the Chrome Web Store url or the unpacked crx.
''; '';
default = ""; default = "";
@ -68,7 +68,7 @@ let
updateUrl = mkOption { updateUrl = mkOption {
type = str; type = str;
description = lib.mdDoc '' description = ''
URL of the extension's update manifest XML file. Linux only. URL of the extension's update manifest XML file. Linux only.
''; '';
default = "https://clients2.google.com/service/update2/crx"; default = "https://clients2.google.com/service/update2/crx";
@ -78,7 +78,7 @@ let
crxPath = mkOption { crxPath = mkOption {
type = nullOr path; type = nullOr path;
description = lib.mdDoc '' description = ''
Path to the extension's crx file. Linux only. Path to the extension's crx file. Linux only.
''; '';
default = null; default = null;
@ -87,7 +87,7 @@ let
version = mkOption { version = mkOption {
type = nullOr str; type = nullOr str;
description = lib.mdDoc '' description = ''
The extension's version, required for local installation. Linux only. The extension's version, required for local installation. Linux only.
''; '';
default = null; default = null;
@ -111,7 +111,7 @@ let
} }
] ]
''; '';
description = lib.mdDoc '' description = ''
List of ${name} extensions to install. List of ${name} extensions to install.
To find the extension ID, check its URL on the To find the extension ID, check its URL on the
[Chrome Web Store](https://chrome.google.com/webstore/category/extensions). [Chrome Web Store](https://chrome.google.com/webstore/category/extensions).

View file

@ -31,13 +31,12 @@ let
in { in {
options.programs.command-not-found = { options.programs.command-not-found = {
enable = enable = mkEnableOption "command-not-found hook for interactive shell";
mkEnableOption (lib.mdDoc "command-not-found hook for interactive shell");
dbPath = mkOption { dbPath = mkOption {
default = default =
"/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite"; "/nix/var/nix/profiles/per-user/root/channels/nixos/programs.sqlite";
description = lib.mdDoc '' description = ''
Absolute path to {file}`programs.sqlite`. By Absolute path to {file}`programs.sqlite`. By
default this file will be provided by your channel default this file will be provided by your channel
(nixexprs.tar.xz). (nixexprs.tar.xz).

View file

@ -8,15 +8,14 @@ in {
meta.maintainers = with lib.hm.maintainers; [ soywod ]; meta.maintainers = with lib.hm.maintainers; [ soywod ];
options.programs.comodoro = { options.programs.comodoro = {
enable = enable = lib.mkEnableOption "Comodoro, a CLI to manage your time";
lib.mkEnableOption (lib.mdDoc "Comodoro, a CLI to manage your time");
package = lib.mkPackageOptionMD pkgs "comodoro" { }; package = lib.mkPackageOption pkgs "comodoro" { };
settings = lib.mkOption { settings = lib.mkOption {
type = lib.types.submodule { freeformType = tomlFormat.type; }; type = lib.types.submodule { freeformType = tomlFormat.type; };
default = { }; default = { };
description = lib.mdDoc '' description = ''
Comodoro configuration. Comodoro configuration.
See <https://pimalaya.org/comodoro/cli/configuration/> for supported values. See <https://pimalaya.org/comodoro/cli/configuration/> for supported values.
''; '';

View file

@ -11,7 +11,7 @@ in {
options = { options = {
programs.darcs = { programs.darcs = {
enable = mkEnableOption (lib.mdDoc "darcs"); enable = mkEnableOption "darcs";
package = mkPackageOption pkgs "darcs" { }; package = mkPackageOption pkgs "darcs" { };
@ -19,7 +19,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "Fred Bloggs <fred@example.net>" ]; example = [ "Fred Bloggs <fred@example.net>" ];
description = lib.mdDoc '' description = ''
If this list has a single entry, it will be used as the author If this list has a single entry, it will be used as the author
when you record a patch. If there are multiple entries, Darcs when you record a patch. If there are multiple entries, Darcs
will prompt you to choose one of them. will prompt you to choose one of them.
@ -30,7 +30,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "^.idea$" ".iml$" "^.stack-work$" ]; example = [ "^.idea$" ".iml$" "^.stack-work$" ];
description = lib.mdDoc "File patterns to ignore"; description = "File patterns to ignore";
}; };
}; };
}; };

View file

@ -13,7 +13,7 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to manage {file}`.dir_colors` Whether to manage {file}`.dir_colors`
and set `LS_COLORS`. and set `LS_COLORS`.
''; '';
@ -22,7 +22,7 @@ in {
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Bash integration. Whether to enable Bash integration.
''; '';
}; };
@ -30,7 +30,7 @@ in {
enableFishIntegration = mkOption { enableFishIntegration = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Fish integration. Whether to enable Fish integration.
''; '';
}; };
@ -38,7 +38,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Whether to enable Zsh integration. Whether to enable Zsh integration.
''; '';
}; };
@ -46,7 +46,7 @@ in {
settings = mkOption { settings = mkOption {
type = with types; attrsOf str; type = with types; attrsOf str;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Options to add to {file}`.dir_colors` file. Options to add to {file}`.dir_colors` file.
See {command}`dircolors --print-database` See {command}`dircolors --print-database`
for options. for options.
@ -63,7 +63,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra lines added to {file}`.dir_colors` file. Extra lines added to {file}`.dir_colors` file.
''; '';
}; };

View file

@ -22,12 +22,12 @@ in {
meta.maintainers = [ maintainers.rycee ]; meta.maintainers = [ maintainers.rycee ];
options.programs.direnv = { options.programs.direnv = {
enable = mkEnableOption (lib.mdDoc "direnv, the environment switcher"); enable = mkEnableOption "direnv, the environment switcher";
config = mkOption { config = mkOption {
type = tomlFormat.type; type = tomlFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/direnv/direnv.toml`. {file}`$XDG_CONFIG_HOME/direnv/direnv.toml`.
@ -40,7 +40,7 @@ in {
stdlib = mkOption { stdlib = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Custom stdlib written to Custom stdlib written to
{file}`$XDG_CONFIG_HOME/direnv/direnvrc`. {file}`$XDG_CONFIG_HOME/direnv/direnvrc`.
''; '';
@ -49,7 +49,7 @@ in {
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Bash integration. Whether to enable Bash integration.
''; '';
}; };
@ -57,7 +57,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Zsh integration. Whether to enable Zsh integration.
''; '';
}; };
@ -66,7 +66,7 @@ in {
default = true; default = true;
type = types.bool; type = types.bool;
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
Whether to enable Fish integration. Note, enabling the direnv module Whether to enable Fish integration. Note, enabling the direnv module
will always active its functionality for Fish since the direnv package will always active its functionality for Fish since the direnv package
automatically gets loaded in Fish. If this is not the case try adding automatically gets loaded in Fish. If this is not the case try adding
@ -80,15 +80,15 @@ in {
enableNushellIntegration = mkOption { enableNushellIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Nushell integration. Whether to enable Nushell integration.
''; '';
}; };
nix-direnv = { nix-direnv = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
[nix-direnv](https://github.com/nix-community/nix-direnv), [nix-direnv](https://github.com/nix-community/nix-direnv),
a fast, persistent use_nix implementation for direnv''); a fast, persistent use_nix implementation for direnv'';
}; };
}; };

View file

@ -9,22 +9,22 @@ in {
options = { options = {
programs.discocss = { programs.discocss = {
enable = mkEnableOption enable = mkEnableOption
(lib.mdDoc "discocss, a tiny Discord CSS injector for Linux and MacOS"); "discocss, a tiny Discord CSS injector for Linux and MacOS";
package = mkPackageOptionMD pkgs "discocss" { }; package = mkPackageOption pkgs "discocss" { };
discordPackage = mkPackageOptionMD pkgs "discord" { }; discordPackage = mkPackageOption pkgs "discord" { };
discordAlias = mkOption { discordAlias = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc "Whether to alias discocss to discord."; description = "Whether to alias discocss to discord.";
}; };
css = mkOption { css = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
description = lib.mdDoc "The custom CSS for discocss to use."; description = "The custom CSS for discocss to use.";
}; };
}; };
}; };

View file

@ -11,14 +11,14 @@ in {
options = { options = {
programs.eclipse = { programs.eclipse = {
enable = mkEnableOption (lib.mdDoc "Eclipse"); enable = mkEnableOption "Eclipse";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.eclipses.eclipse-platform; default = pkgs.eclipses.eclipse-platform;
defaultText = literalExpression "pkgs.eclipses.eclipse-platform"; defaultText = literalExpression "pkgs.eclipses.eclipse-platform";
example = literalExpression "pkgs.eclipses.eclipse-java"; example = literalExpression "pkgs.eclipses.eclipse-java";
description = lib.mdDoc '' description = ''
The Eclipse package to install. The Eclipse package to install.
''; '';
}; };
@ -27,7 +27,7 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = lib.mdDoc '' description = ''
Whether to enable the Lombok Java Agent in Eclipse. This is Whether to enable the Lombok Java Agent in Eclipse. This is
necessary to use the Lombok class annotations. necessary to use the Lombok class annotations.
''; '';
@ -36,13 +36,13 @@ in {
jvmArgs = mkOption { jvmArgs = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
description = lib.mdDoc "JVM arguments to use for the Eclipse process."; description = "JVM arguments to use for the Eclipse process.";
}; };
plugins = mkOption { plugins = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = lib.mdDoc "Plugins that should be added to Eclipse."; description = "Plugins that should be added to Eclipse.";
}; };
}; };
}; };

View file

@ -28,14 +28,14 @@ in {
options = { options = {
programs.emacs = { programs.emacs = {
enable = mkEnableOption (lib.mdDoc "Emacs"); enable = mkEnableOption "Emacs";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.emacs; default = pkgs.emacs;
defaultText = literalExpression "pkgs.emacs"; defaultText = literalExpression "pkgs.emacs";
example = literalExpression "pkgs.emacs25-nox"; example = literalExpression "pkgs.emacs25-nox";
description = lib.mdDoc "The Emacs package to use."; description = "The Emacs package to use.";
}; };
# NOTE: The config is placed in default.el instead of ~/.emacs.d so that # NOTE: The config is placed in default.el instead of ~/.emacs.d so that
@ -48,7 +48,7 @@ in {
example = '' example = ''
(setq standard-indent 2) (setq standard-indent 2)
''; '';
description = lib.mdDoc '' description = ''
Configuration to include in the Emacs default init file. See Configuration to include in the Emacs default init file. See
<https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html> <https://www.gnu.org/software/emacs/manual/html_node/elisp/Init-File.html>
for more. for more.
@ -64,7 +64,7 @@ in {
type = hm.types.selectorFunction; type = hm.types.selectorFunction;
defaultText = "epkgs: []"; defaultText = "epkgs: []";
example = literalExpression "epkgs: [ epkgs.emms epkgs.magit ]"; example = literalExpression "epkgs: [ epkgs.emms epkgs.magit ]";
description = lib.mdDoc '' description = ''
Extra packages available to Emacs. To get a list of Extra packages available to Emacs. To get a list of
available packages run: available packages run:
{command}`nix-env -f '<nixpkgs>' -qaP -A emacsPackages`. {command}`nix-env -f '<nixpkgs>' -qaP -A emacsPackages`.
@ -81,7 +81,7 @@ in {
# ... # ...
}; };
''; '';
description = lib.mdDoc '' description = ''
Allows overriding packages within the Emacs package set. Allows overriding packages within the Emacs package set.
''; '';
}; };
@ -90,7 +90,7 @@ in {
type = types.package; type = types.package;
visible = false; visible = false;
readOnly = true; readOnly = true;
description = lib.mdDoc '' description = ''
The Emacs package including any overrides and extra packages. The Emacs package including any overrides and extra packages.
''; '';
}; };

View file

@ -10,14 +10,14 @@ in {
meta.maintainers = [ hm.maintainers.mainrs ]; meta.maintainers = [ hm.maintainers.mainrs ];
options.programs.eww = { options.programs.eww = {
enable = mkEnableOption (lib.mdDoc "eww"); enable = mkEnableOption "eww";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.eww; default = pkgs.eww;
defaultText = literalExpression "pkgs.eww"; defaultText = literalExpression "pkgs.eww";
example = literalExpression "pkgs.eww"; example = literalExpression "pkgs.eww";
description = lib.mdDoc '' description = ''
The eww package to install. The eww package to install.
''; '';
}; };
@ -25,7 +25,7 @@ in {
configDir = mkOption { configDir = mkOption {
type = types.path; type = types.path;
example = literalExpression "./eww-config-dir"; example = literalExpression "./eww-config-dir";
description = lib.mdDoc '' description = ''
The directory that gets symlinked to The directory that gets symlinked to
{file}`$XDG_CONFIG_HOME/eww`. {file}`$XDG_CONFIG_HOME/eww`.
''; '';

View file

@ -6,17 +6,15 @@ with lib;
meta.maintainers = [ hm.maintainers.kalhauge ]; meta.maintainers = [ hm.maintainers.kalhauge ];
options.programs.exa = { options.programs.exa = {
enable = enable = mkEnableOption "exa, a modern replacement for {command}`ls`";
mkEnableOption (lib.mdDoc "exa, a modern replacement for {command}`ls`");
enableAliases = enableAliases = mkEnableOption "recommended exa aliases (ls, ll)";
mkEnableOption (lib.mdDoc "recommended exa aliases (ls, ll)");
extraOptions = mkOption { extraOptions = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--group-directories-first" "--header" ]; example = [ "--group-directories-first" "--header" ];
description = lib.mdDoc '' description = ''
Extra command line options passed to exa. Extra command line options passed to exa.
''; '';
}; };
@ -24,7 +22,7 @@ with lib;
icons = mkOption { icons = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Display icons next to file names ({option}`--icons` argument). Display icons next to file names ({option}`--icons` argument).
''; '';
}; };
@ -32,12 +30,12 @@ with lib;
git = mkOption { git = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
List each file's Git status if tracked or ignored ({option}`--git` argument). List each file's Git status if tracked or ignored ({option}`--git` argument).
''; '';
}; };
package = mkPackageOptionMD pkgs "exa" { }; package = mkPackageOption pkgs "exa" { };
}; };
config = let config = let

View file

@ -25,9 +25,9 @@ let
in { in {
options.programs.feh = { options.programs.feh = {
enable = mkEnableOption (lib.mdDoc "feh - a fast and light image viewer"); enable = mkEnableOption "feh - a fast and light image viewer";
package = mkPackageOptionMD pkgs "feh" { }; package = mkPackageOption pkgs "feh" { };
buttons = mkOption { buttons = mkOption {
default = { }; default = { };
@ -37,7 +37,7 @@ in {
zoom_out = "C-4"; zoom_out = "C-4";
prev_img = [ 3 "C-3" ]; prev_img = [ 3 "C-3" ];
}; };
description = lib.mdDoc '' description = ''
Override feh's default mouse button mapping. If you want to disable an Override feh's default mouse button mapping. If you want to disable an
action, set its value to null. If you want to bind multiple buttons to action, set its value to null. If you want to bind multiple buttons to
an action, set its value to a list. an action, set its value to a list.
@ -54,7 +54,7 @@ in {
zoom_out = "minus"; zoom_out = "minus";
prev_img = [ "h" "Left" ]; prev_img = [ "h" "Left" ];
}; };
description = lib.mdDoc '' description = ''
Override feh's default keybindings. If you want to disable a keybinding Override feh's default keybindings. If you want to disable a keybinding
set its value to null. If you want to bind multiple keys to an action, set its value to null. If you want to bind multiple keys to an action,
set its value to a list. set its value to a list.

View file

@ -134,7 +134,7 @@ in {
options = { options = {
programs.firefox = { programs.firefox = {
enable = mkEnableOption (lib.mdDoc "Firefox"); enable = mkEnableOption "Firefox";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
@ -154,7 +154,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
The Firefox package to use. If state version  19.09 then The Firefox package to use. If state version  19.09 then
this should be a wrapped Firefox package. For earlier state this should be a wrapped Firefox package. For earlier state
versions it should be an unwrapped Firefox package. versions it should be an unwrapped Firefox package.
@ -167,13 +167,13 @@ in {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = name; default = name;
description = lib.mdDoc "Profile name."; description = "Profile name.";
}; };
id = mkOption { id = mkOption {
type = types.ints.unsigned; type = types.ints.unsigned;
default = 0; default = 0;
description = lib.mdDoc '' description = ''
Profile ID. This should be set to a unique number per profile. Profile ID. This should be set to a unique number per profile.
''; '';
}; };
@ -198,7 +198,7 @@ in {
}]; }];
} }
''; '';
description = lib.mdDoc '' description = ''
Attribute set of Firefox preferences. Attribute set of Firefox preferences.
Firefox only supports int, bool, and string types for Firefox only supports int, bool, and string types for
@ -210,7 +210,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Extra preferences to add to {file}`user.js`. Extra preferences to add to {file}`user.js`.
''; '';
}; };
@ -218,7 +218,7 @@ in {
userChrome = mkOption { userChrome = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc "Custom Firefox user chrome CSS."; description = "Custom Firefox user chrome CSS.";
example = '' example = ''
/* Hide tab bar in FF Quantum */ /* Hide tab bar in FF Quantum */
@-moz-document url("chrome://browser/content/browser.xul") { @-moz-document url("chrome://browser/content/browser.xul") {
@ -237,7 +237,7 @@ in {
userContent = mkOption { userContent = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc "Custom Firefox user content CSS."; description = "Custom Firefox user content CSS.";
example = '' example = ''
/* Hide scrollbar in FF Quantum */ /* Hide scrollbar in FF Quantum */
*{scrollbar-width:none !important} *{scrollbar-width:none !important}
@ -251,25 +251,24 @@ in {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = name; default = name;
description = lib.mdDoc "Bookmark name."; description = "Bookmark name.";
}; };
tags = mkOption { tags = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
description = lib.mdDoc "Bookmark tags."; description = "Bookmark tags.";
}; };
keyword = mkOption { keyword = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "Bookmark search keyword."; description = "Bookmark search keyword.";
}; };
url = mkOption { url = mkOption {
type = types.str; type = types.str;
description = description = "Bookmark url, use %s for search terms.";
lib.mdDoc "Bookmark url, use %s for search terms.";
}; };
}; };
}) // { }) // {
@ -283,20 +282,19 @@ in {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = name; default = name;
description = lib.mdDoc "Directory name."; description = "Directory name.";
}; };
bookmarks = mkOption { bookmarks = mkOption {
type = types.listOf nodeType; type = types.listOf nodeType;
default = [ ]; default = [ ];
description = lib.mdDoc "Bookmarks within directory."; description = "Bookmarks within directory.";
}; };
toolbar = mkOption { toolbar = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = description = "If directory should be shown in toolbar.";
lib.mdDoc "If directory should be shown in toolbar.";
}; };
}; };
}) // { }) // {
@ -336,7 +334,7 @@ in {
} }
] ]
''; '';
description = lib.mdDoc '' description = ''
Preloaded bookmarks. Note, this may silently overwrite any Preloaded bookmarks. Note, this may silently overwrite any
previously existing bookmarks! previously existing bookmarks!
''; '';
@ -345,21 +343,21 @@ in {
path = mkOption { path = mkOption {
type = types.str; type = types.str;
default = name; default = name;
description = lib.mdDoc "Profile path."; description = "Profile path.";
}; };
isDefault = mkOption { isDefault = mkOption {
type = types.bool; type = types.bool;
default = config.id == 0; default = config.id == 0;
defaultText = "true if profile ID is 0"; defaultText = "true if profile ID is 0";
description = lib.mdDoc "Whether this is a default profile."; description = "Whether this is a default profile.";
}; };
search = { search = {
force = mkOption { force = mkOption {
type = with types; bool; type = with types; bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to force replace the existing search Whether to force replace the existing search
configuration. This is recommended since Firefox will configuration. This is recommended since Firefox will
replace the symlink for the search configuration on every replace the symlink for the search configuration on every
@ -372,7 +370,7 @@ in {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
example = "DuckDuckGo"; example = "DuckDuckGo";
description = lib.mdDoc '' description = ''
The default search engine used in the address bar and search bar. The default search engine used in the address bar and search bar.
''; '';
}; };
@ -381,7 +379,7 @@ in {
type = with types; uniq (listOf str); type = with types; uniq (listOf str);
default = [ ]; default = [ ];
example = [ "DuckDuckGo" "Google" ]; example = [ "DuckDuckGo" "Google" ];
description = lib.mdDoc '' description = ''
The order the search engines are listed in. Any engines The order the search engines are listed in. Any engines
that aren't included in this list will be listed after that aren't included in this list will be listed after
these in an unspecified order. these in an unspecified order.
@ -417,7 +415,7 @@ in {
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias "Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
} }
''; '';
description = lib.mdDoc '' description = ''
Attribute set of search engine configurations. Engines Attribute set of search engine configurations. Engines
that only have {var}`metaData` specified will that only have {var}`metaData` specified will
be treated as builtin to Firefox. be treated as builtin to Firefox.
@ -443,7 +441,7 @@ in {
privacy-badger privacy-badger
] ]
''; '';
description = lib.mdDoc '' description = ''
List of Firefox add-on packages to install for this profile. List of Firefox add-on packages to install for this profile.
Some pre-packaged add-ons are accessible from the Some pre-packaged add-ons are accessible from the
[Nix User Repository](https://github.com/nix-community/NUR). [Nix User Repository](https://github.com/nix-community/NUR).
@ -463,13 +461,13 @@ in {
}; };
})); }));
default = { }; default = { };
description = lib.mdDoc "Attribute set of Firefox profiles."; description = "Attribute set of Firefox profiles.";
}; };
enableGnomeExtensions = mkOption { enableGnomeExtensions = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to enable the GNOME Shell native host connector. Note, you Whether to enable the GNOME Shell native host connector. Note, you
also need to set the NixOS option also need to set the NixOS option
`services.gnome.gnome-browser-connector.enable` to `services.gnome.gnome-browser-connector.enable` to

View file

@ -10,7 +10,7 @@ let
options = { options = {
src = mkOption { src = mkOption {
type = types.path; type = types.path;
description = lib.mdDoc '' description = ''
Path to the plugin folder. Path to the plugin folder.
Relevant pieces will be added to the fish function path and Relevant pieces will be added to the fish function path and
@ -22,7 +22,7 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc '' description = ''
The name of the plugin. The name of the plugin.
''; '';
}; };
@ -33,7 +33,7 @@ let
options = { options = {
body = mkOption { body = mkOption {
type = types.lines; type = types.lines;
description = lib.mdDoc '' description = ''
The function body. The function body.
''; '';
}; };
@ -41,7 +41,7 @@ let
argumentNames = mkOption { argumentNames = mkOption {
type = with types; nullOr (either str (listOf str)); type = with types; nullOr (either str (listOf str));
default = null; default = null;
description = lib.mdDoc '' description = ''
Assigns the value of successive command line arguments to the names Assigns the value of successive command line arguments to the names
given. given.
''; '';
@ -50,7 +50,7 @@ let
description = mkOption { description = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
A description of what the function does, suitable as a completion A description of what the function does, suitable as a completion
description. description.
''; '';
@ -59,7 +59,7 @@ let
wraps = mkOption { wraps = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Causes the function to inherit completions from the given wrapped Causes the function to inherit completions from the given wrapped
command. command.
''; '';
@ -68,7 +68,7 @@ let
onEvent = mkOption { onEvent = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Tells fish to run this function when the specified named event is Tells fish to run this function when the specified named event is
emitted. Fish internally generates named events e.g. when showing the emitted. Fish internally generates named events e.g. when showing the
prompt. prompt.
@ -78,7 +78,7 @@ let
onVariable = mkOption { onVariable = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Tells fish to run this function when the specified variable changes Tells fish to run this function when the specified variable changes
value. value.
''; '';
@ -87,7 +87,7 @@ let
onJobExit = mkOption { onJobExit = mkOption {
type = with types; nullOr (either str int); type = with types; nullOr (either str int);
default = null; default = null;
description = lib.mdDoc '' description = ''
Tells fish to run this function when the job with the specified group Tells fish to run this function when the job with the specified group
ID exits. Instead of a PID, the stringer `caller` can ID exits. Instead of a PID, the stringer `caller` can
be specified. This is only legal when in a command substitution, and be specified. This is only legal when in a command substitution, and
@ -100,7 +100,7 @@ let
type = with types; nullOr (either str int); type = with types; nullOr (either str int);
default = null; default = null;
example = "$fish_pid"; example = "$fish_pid";
description = lib.mdDoc '' description = ''
Tells fish to run this function when the fish child process with the Tells fish to run this function when the fish child process with the
specified process ID exits. Instead of a PID, for backwards specified process ID exits. Instead of a PID, for backwards
compatibility, `%self` can be specified as an alias compatibility, `%self` can be specified as an alias
@ -113,7 +113,7 @@ let
type = with types; nullOr (either str int); type = with types; nullOr (either str int);
default = null; default = null;
example = [ "SIGHUP" "HUP" 1 ]; example = [ "SIGHUP" "HUP" 1 ];
description = lib.mdDoc '' description = ''
Tells fish to run this function when the specified signal is Tells fish to run this function when the specified signal is
delievered. The signal can be a signal number or signal name. delievered. The signal can be a signal number or signal name.
''; '';
@ -122,7 +122,7 @@ let
noScopeShadowing = mkOption { noScopeShadowing = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Allows the function to access the variables of calling functions. Allows the function to access the variables of calling functions.
''; '';
}; };
@ -130,7 +130,7 @@ let
inheritVariable = mkOption { inheritVariable = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Snapshots the value of the specified variable and defines a local Snapshots the value of the specified variable and defines a local
variable with that same name and value when the function is defined. variable with that same name and value when the function is defined.
''; '';
@ -172,14 +172,13 @@ in {
options = { options = {
programs.fish = { programs.fish = {
enable = enable = mkEnableOption "fish, the friendly interactive shell";
mkEnableOption (lib.mdDoc "fish, the friendly interactive shell");
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.fish; default = pkgs.fish;
defaultText = literalExpression "pkgs.fish"; defaultText = literalExpression "pkgs.fish";
description = lib.mdDoc '' description = ''
The fish package to install. May be used to change the version. The fish package to install. May be used to change the version.
''; '';
}; };
@ -193,7 +192,7 @@ in {
"..." = "cd ../.."; "..." = "cd ../..";
} }
''; '';
description = lib.mdDoc '' description = ''
An attribute set that maps aliases (the top level attribute names An attribute set that maps aliases (the top level attribute names
in this option) to command strings or directly to build outputs. in this option) to command strings or directly to build outputs.
''; '';
@ -206,7 +205,7 @@ in {
l = "less"; l = "less";
gco = "git checkout"; gco = "git checkout";
}; };
description = lib.mdDoc '' description = ''
An attribute set that maps aliases (the top level attribute names An attribute set that maps aliases (the top level attribute names
in this option) to abbreviations. Abbreviations are expanded with in this option) to abbreviations. Abbreviations are expanded with
the longer phrase after they are entered. the longer phrase after they are entered.
@ -216,7 +215,7 @@ in {
shellInit = mkOption { shellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Shell script code called during fish shell Shell script code called during fish shell
initialisation. initialisation.
''; '';
@ -225,7 +224,7 @@ in {
loginShellInit = mkOption { loginShellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Shell script code called during fish login shell Shell script code called during fish login shell
initialisation. initialisation.
''; '';
@ -234,7 +233,7 @@ in {
interactiveShellInit = mkOption { interactiveShellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = lib.mdDoc '' description = ''
Shell script code called during interactive fish shell Shell script code called during interactive fish shell
initialisation. initialisation.
''; '';
@ -269,7 +268,7 @@ in {
} }
] ]
''; '';
description = lib.mdDoc '' description = ''
The plugins to source in The plugins to source in
{file}`conf.d/99plugins.fish`. {file}`conf.d/99plugins.fish`.
''; '';
@ -288,7 +287,7 @@ in {
gitignore = "curl -sL https://www.gitignore.io/api/$argv"; gitignore = "curl -sL https://www.gitignore.io/api/$argv";
} }
''; '';
description = lib.mdDoc '' description = ''
Basic functions to add to fish. For more information see Basic functions to add to fish. For more information see
<https://fishshell.com/docs/current/cmds/function.html>. <https://fishshell.com/docs/current/cmds/function.html>.
''; '';

View file

@ -11,21 +11,21 @@ in {
meta.maintainers = with lib.maintainers; [ plabadens ]; meta.maintainers = with lib.maintainers; [ plabadens ];
options.programs.foot = { options.programs.foot = {
enable = mkEnableOption (lib.mdDoc "Foot terminal"); enable = mkEnableOption "Foot terminal";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.foot; default = pkgs.foot;
defaultText = literalExpression "pkgs.foot"; defaultText = literalExpression "pkgs.foot";
description = lib.mdDoc "The foot package to install"; description = "The foot package to install";
}; };
server.enable = mkEnableOption (lib.mdDoc "Foot terminal server"); server.enable = mkEnableOption "Foot terminal server";
settings = mkOption { settings = mkOption {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/foot/foot.ini`. See <https://codeberg.org/dnkl/foot/src/branch/master/foot.ini> {file}`$XDG_CONFIG_HOME/foot/foot.ini`. See <https://codeberg.org/dnkl/foot/src/branch/master/foot.ini>
for a list of available options. for a list of available options.

View file

@ -2,8 +2,7 @@
let let
inherit (lib) inherit (lib) literalExpression mkEnableOption mkPackageOption mkOption mkIf;
literalExpression mkEnableOption mkPackageOptionMD mkOption mkIf;
cfg = config.programs.fuzzel; cfg = config.programs.fuzzel;
@ -13,9 +12,9 @@ in {
meta.maintainers = [ lib.maintainers.Scrumplex ]; meta.maintainers = [ lib.maintainers.Scrumplex ];
options.programs.fuzzel = { options.programs.fuzzel = {
enable = mkEnableOption (lib.mdDoc "fuzzel"); enable = mkEnableOption "fuzzel";
package = mkPackageOptionMD pkgs "fuzzel" { }; package = mkPackageOption pkgs "fuzzel" { };
settings = mkOption { settings = mkOption {
type = iniFormat.type; type = iniFormat.type;
@ -29,7 +28,7 @@ in {
colors.background = "ffffffff"; colors.background = "ffffffff";
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration for fuzzel written to Configuration for fuzzel written to
{file}`$XDG_CONFIG_HOME/fuzzel/fuzzel.ini`. See {file}`$XDG_CONFIG_HOME/fuzzel/fuzzel.ini`. See
{manpage}`fuzzel.ini(5)` for a list of available options. {manpage}`fuzzel.ini(5)` for a list of available options.

View file

@ -17,20 +17,20 @@ in {
]; ];
options.programs.fzf = { options.programs.fzf = {
enable = mkEnableOption (lib.mdDoc "fzf - a command-line fuzzy finder"); enable = mkEnableOption "fzf - a command-line fuzzy finder";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.fzf; default = pkgs.fzf;
defaultText = literalExpression "pkgs.fzf"; defaultText = literalExpression "pkgs.fzf";
description = lib.mdDoc "Package providing the {command}`fzf` tool."; description = "Package providing the {command}`fzf` tool.";
}; };
defaultCommand = mkOption { defaultCommand = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "fd --type f"; example = "fd --type f";
description = lib.mdDoc '' description = ''
The command that gets executed as the default source for fzf The command that gets executed as the default source for fzf
when running. when running.
''; '';
@ -40,7 +40,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--height 40%" "--border" ]; example = [ "--height 40%" "--border" ];
description = lib.mdDoc '' description = ''
Extra command line options given to fzf by default. Extra command line options given to fzf by default.
''; '';
}; };
@ -49,7 +49,7 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "fd --type f"; example = "fd --type f";
description = lib.mdDoc '' description = ''
The command that gets executed as the source for fzf for the The command that gets executed as the source for fzf for the
CTRL-T keybinding. CTRL-T keybinding.
''; '';
@ -59,7 +59,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--preview 'head {}'" ]; example = [ "--preview 'head {}'" ];
description = lib.mdDoc '' description = ''
Command line options for the CTRL-T keybinding. Command line options for the CTRL-T keybinding.
''; '';
}; };
@ -68,7 +68,7 @@ in {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "fd --type d"; example = "fd --type d";
description = lib.mdDoc '' description = ''
The command that gets executed as the source for fzf for the The command that gets executed as the source for fzf for the
ALT-C keybinding. ALT-C keybinding.
''; '';
@ -78,7 +78,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--preview 'tree -C {} | head -200'" ]; example = [ "--preview 'tree -C {} | head -200'" ];
description = lib.mdDoc '' description = ''
Command line options for the ALT-C keybinding. Command line options for the ALT-C keybinding.
''; '';
}; };
@ -87,7 +87,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--sort" "--exact" ]; example = [ "--sort" "--exact" ];
description = lib.mdDoc '' description = ''
Command line options for the CTRL-R keybinding. Command line options for the CTRL-R keybinding.
''; '';
}; };
@ -103,7 +103,7 @@ in {
"fg+" = "#d4d4d4"; "fg+" = "#d4d4d4";
} }
''; '';
description = lib.mdDoc '' description = ''
Color scheme options added to `FZF_DEFAULT_OPTS`. See Color scheme options added to `FZF_DEFAULT_OPTS`. See
<https://github.com/junegunn/fzf/wiki/Color-schemes> <https://github.com/junegunn/fzf/wiki/Color-schemes>
for documentation. for documentation.
@ -111,15 +111,15 @@ in {
}; };
tmux = { tmux = {
enableShellIntegration = mkEnableOption (lib.mdDoc '' enableShellIntegration = mkEnableOption ''
setting `FZF_TMUX=1` which causes shell integration to use fzf-tmux setting `FZF_TMUX=1` which causes shell integration to use fzf-tmux
''); '';
shellIntegrationOptions = mkOption { shellIntegrationOptions = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = literalExpression ''[ "-d 40%" ]''; example = literalExpression ''[ "-d 40%" ]'';
description = lib.mdDoc '' description = ''
If {option}`programs.fzf.tmux.enableShellIntegration` is set to `true`, If {option}`programs.fzf.tmux.enableShellIntegration` is set to `true`,
shell integration will use these options for fzf-tmux. shell integration will use these options for fzf-tmux.
See {command}`fzf-tmux --help` for available options. See {command}`fzf-tmux --help` for available options.
@ -130,7 +130,7 @@ in {
enableBashIntegration = mkOption { enableBashIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Bash integration. Whether to enable Bash integration.
''; '';
}; };
@ -138,7 +138,7 @@ in {
enableZshIntegration = mkOption { enableZshIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Zsh integration. Whether to enable Zsh integration.
''; '';
}; };
@ -146,7 +146,7 @@ in {
enableFishIntegration = mkOption { enableFishIntegration = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc '' description = ''
Whether to enable Fish integration. Whether to enable Fish integration.
''; '';
}; };

View file

@ -12,7 +12,7 @@ in {
meta.maintainers = [ ]; meta.maintainers = [ ];
options.programs.gallery-dl = { options.programs.gallery-dl = {
enable = mkEnableOption (lib.mdDoc "gallery-dl"); enable = mkEnableOption "gallery-dl";
settings = mkOption { settings = mkOption {
type = jsonFormat.type; type = jsonFormat.type;
@ -22,7 +22,7 @@ in {
extractor.base-directory = "~/Downloads"; extractor.base-directory = "~/Downloads";
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/gallery-dl/config.json`. See {file}`$XDG_CONFIG_HOME/gallery-dl/config.json`. See
<https://github.com/mikf/gallery-dl#configuration> <https://github.com/mikf/gallery-dl#configuration>

View file

@ -4,14 +4,13 @@ with lib;
{ {
options.getmail = { options.getmail = {
enable = enable = mkEnableOption "the getmail mail retriever for this account";
mkEnableOption (lib.mdDoc "the getmail mail retriever for this account");
destinationCommand = mkOption { destinationCommand = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "\${pkgs.maildrop}/bin/maildrop"; example = "\${pkgs.maildrop}/bin/maildrop";
description = lib.mdDoc '' description = ''
Specify a command delivering the incoming mail to your maildir. Specify a command delivering the incoming mail to your maildir.
''; '';
}; };
@ -20,7 +19,7 @@ with lib;
type = types.nonEmptyListOf types.str; type = types.nonEmptyListOf types.str;
default = [ ]; default = [ ];
example = [ "INBOX" "INBOX.spam" ]; example = [ "INBOX" "INBOX.spam" ];
description = lib.mdDoc '' description = ''
A non-empty list of mailboxes. To download all mail you can A non-empty list of mailboxes. To download all mail you can
use the `ALL` mailbox. use the `ALL` mailbox.
''; '';
@ -29,7 +28,7 @@ with lib;
delete = mkOption { delete = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Enable if you want to delete read messages from the server. Most Enable if you want to delete read messages from the server. Most
users should either enable `delete` or disable users should either enable `delete` or disable
`readAll`. `readAll`.
@ -39,7 +38,7 @@ with lib;
readAll = mkOption { readAll = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
Enable if you want to fetch all, even the read messages from the Enable if you want to fetch all, even the read messages from the
server. Most users should either enable `delete` or server. Most users should either enable `delete` or
disable `readAll`. disable `readAll`.

View file

@ -21,14 +21,14 @@ let
pv = "pr view"; pv = "pr view";
} }
''; '';
description = lib.mdDoc '' description = ''
Aliases that allow you to create nicknames for gh commands. Aliases that allow you to create nicknames for gh commands.
''; '';
}; };
editor = mkOption { editor = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
description = lib.mdDoc '' description = ''
The editor that gh should run when creating issues, pull requests, etc. The editor that gh should run when creating issues, pull requests, etc.
If blank, will refer to environment. If blank, will refer to environment.
''; '';
@ -37,7 +37,7 @@ let
type = types.str; type = types.str;
default = "https"; default = "https";
example = "ssh"; example = "ssh";
description = lib.mdDoc '' description = ''
The protocol to use when performing Git operations. The protocol to use when performing Git operations.
''; '';
}; };
@ -63,19 +63,19 @@ in {
]; ];
options.programs.gh = { options.programs.gh = {
enable = mkEnableOption (lib.mdDoc "GitHub CLI tool"); enable = mkEnableOption "GitHub CLI tool";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.gh; default = pkgs.gh;
defaultText = literalExpression "pkgs.gh"; defaultText = literalExpression "pkgs.gh";
description = lib.mdDoc "Package providing {command}`gh`."; description = "Package providing {command}`gh`.";
}; };
settings = mkOption { settings = mkOption {
type = settingsType; type = settingsType;
default = { }; default = { };
description = lib.mdDoc description =
"Configuration written to {file}`$XDG_CONFIG_HOME/gh/config.yml`."; "Configuration written to {file}`$XDG_CONFIG_HOME/gh/config.yml`.";
example = literalExpression '' example = literalExpression ''
{ {
@ -92,15 +92,14 @@ in {
}; };
enableGitCredentialHelper = enableGitCredentialHelper =
mkEnableOption (lib.mdDoc "the gh git credential helper for github.com") mkEnableOption "the gh git credential helper for github.com" // {
// {
default = true; default = true;
}; };
extensions = mkOption { extensions = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = lib.mdDoc '' description = ''
gh extensions, see <https://cli.github.com/manual/gh_extension>. gh extensions, see <https://cli.github.com/manual/gh_extension>.
''; '';
example = literalExpression "[ pkgs.gh-eco ]"; example = literalExpression "[ pkgs.gh-eco ]";

View file

@ -11,9 +11,9 @@ in {
meta.maintainers = [ hm.maintainers.NateCox ]; meta.maintainers = [ hm.maintainers.NateCox ];
options.programs.git-cliff = { options.programs.git-cliff = {
enable = mkEnableOption (lib.mdDoc "git-cliff changelog generator"); enable = mkEnableOption "git-cliff changelog generator";
package = mkPackageOptionMD pkgs "git-cliff" { }; package = mkPackageOption pkgs "git-cliff" { };
settings = mkOption { settings = mkOption {
type = tomlFormat.type; type = tomlFormat.type;
@ -24,7 +24,7 @@ in {
trim = true; trim = true;
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/git-cliff/cliff.toml`. See {file}`$XDG_CONFIG_HOME/git-cliff/cliff.toml`. See
<https://git-cliff.org/docs/configuration> <https://git-cliff.org/docs/configuration>

View file

@ -9,10 +9,9 @@ in {
options = { options = {
programs.git-credential-oauth = { programs.git-credential-oauth = {
enable = enable = lib.mkEnableOption "Git authentication handler for OAuth";
lib.mkEnableOption (lib.mdDoc "Git authentication handler for OAuth");
package = lib.mkPackageOptionMD pkgs "git-credential-oauth" { }; package = lib.mkPackageOption pkgs "git-credential-oauth" { };
}; };
}; };

View file

@ -62,7 +62,7 @@ let
options = { options = {
key = mkOption { key = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The default GPG signing key fingerprint. The default GPG signing key fingerprint.
Set to `null` to let GnuPG decide what signing key Set to `null` to let GnuPG decide what signing key
@ -73,15 +73,14 @@ let
signByDefault = mkOption { signByDefault = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = description = "Whether commits and tags should be signed by default.";
lib.mdDoc "Whether commits and tags should be signed by default.";
}; };
gpgPath = mkOption { gpgPath = mkOption {
type = types.str; type = types.str;
default = "${pkgs.gnupg}/bin/gpg2"; default = "${pkgs.gnupg}/bin/gpg2";
defaultText = "\${pkgs.gnupg}/bin/gpg2"; defaultText = "\${pkgs.gnupg}/bin/gpg2";
description = lib.mdDoc "Path to GnuPG binary to use."; description = "Path to GnuPG binary to use.";
}; };
}; };
}; };
@ -91,7 +90,7 @@ let
condition = mkOption { condition = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Include this configuration only when {var}`condition` Include this configuration only when {var}`condition`
matches. Allowed conditions are described in matches. Allowed conditions are described in
{manpage}`git-config(1)`. {manpage}`git-config(1)`.
@ -100,7 +99,7 @@ let
path = mkOption { path = mkOption {
type = with types; either str path; type = with types; either str path;
description = lib.mdDoc "Path of the configuration file to include."; description = "Path of the configuration file to include.";
}; };
contents = mkOption { contents = mkOption {
@ -118,7 +117,7 @@ let
}; };
}; };
''; '';
description = lib.mdDoc '' description = ''
Configuration to include. If empty then a path must be given. Configuration to include. If empty then a path must be given.
This follows the configuration structure as described in This follows the configuration structure as described in
@ -129,7 +128,7 @@ let
contentSuffix = mkOption { contentSuffix = mkOption {
type = types.str; type = types.str;
default = "gitconfig"; default = "gitconfig";
description = lib.mdDoc '' description = ''
Nix store name for the git configuration text file, Nix store name for the git configuration text file,
when generating the configuration text from nix options. when generating the configuration text from nix options.
''; '';
@ -146,13 +145,13 @@ in {
options = { options = {
programs.git = { programs.git = {
enable = mkEnableOption (lib.mdDoc "Git"); enable = mkEnableOption "Git";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.git; default = pkgs.git;
defaultText = literalExpression "pkgs.git"; defaultText = literalExpression "pkgs.git";
description = lib.mdDoc '' description = ''
Git package to install. Use {var}`pkgs.gitAndTools.gitFull` Git package to install. Use {var}`pkgs.gitAndTools.gitFull`
to gain access to {command}`git send-email` for instance. to gain access to {command}`git send-email` for instance.
''; '';
@ -161,27 +160,26 @@ in {
userName = mkOption { userName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "Default user name to use."; description = "Default user name to use.";
}; };
userEmail = mkOption { userEmail = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc "Default user email to use."; description = "Default user email to use.";
}; };
aliases = mkOption { aliases = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
example = { co = "checkout"; }; example = { co = "checkout"; };
description = lib.mdDoc "Git aliases to define."; description = "Git aliases to define.";
}; };
signing = mkOption { signing = mkOption {
type = types.nullOr signModule; type = types.nullOr signModule;
default = null; default = null;
description = description = "Options related to signing commits using GnuPG.";
lib.mdDoc "Options related to signing commits using GnuPG.";
}; };
extraConfig = mkOption { extraConfig = mkOption {
@ -191,7 +189,7 @@ in {
core = { whitespace = "trailing-space,space-before-tab"; }; core = { whitespace = "trailing-space,space-before-tab"; };
url."ssh://git@host".insteadOf = "otherhost"; url."ssh://git@host".insteadOf = "otherhost";
}; };
description = lib.mdDoc '' description = ''
Additional configuration to add. The use of string values is Additional configuration to add. The use of string values is
deprecated and will be removed in the future. deprecated and will be removed in the future.
''; '';
@ -205,7 +203,7 @@ in {
pre-commit = ./pre-commit-script; pre-commit = ./pre-commit-script;
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration helper for Git hooks. Configuration helper for Git hooks.
See <https://git-scm.com/docs/githooks> See <https://git-scm.com/docs/githooks>
for reference. for reference.
@ -221,15 +219,14 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "*~" "*.swp" ]; example = [ "*~" "*.swp" ];
description = description = "List of paths that should be globally ignored.";
lib.mdDoc "List of paths that should be globally ignored.";
}; };
attributes = mkOption { attributes = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "*.pdf diff=pdf" ]; example = [ "*.pdf diff=pdf" ];
description = lib.mdDoc "List of defining attributes set globally."; description = "List of defining attributes set globally.";
}; };
includes = mkOption { includes = mkOption {
@ -244,16 +241,16 @@ in {
} }
] ]
''; '';
description = lib.mdDoc "List of configuration files to include."; description = "List of configuration files to include.";
}; };
lfs = { lfs = {
enable = mkEnableOption (lib.mdDoc "Git Large File Storage"); enable = mkEnableOption "Git Large File Storage";
skipSmudge = mkOption { skipSmudge = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Skip automatic downloading of objects on clone or pull. Skip automatic downloading of objects on clone or pull.
This requires a manual {command}`git lfs pull` This requires a manual {command}`git lfs pull`
every time a new commit is checked out on your repository. every time a new commit is checked out on your repository.
@ -262,8 +259,8 @@ in {
}; };
difftastic = { difftastic = {
enable = mkEnableOption (lib.mdDoc "") // { enable = mkEnableOption "" // {
description = lib.mdDoc '' description = ''
Enable the {command}`difftastic` syntax highlighter. Enable the {command}`difftastic` syntax highlighter.
See <https://github.com/Wilfred/difftastic>. See <https://github.com/Wilfred/difftastic>.
''; '';
@ -273,7 +270,7 @@ in {
type = types.enum [ "light" "dark" ]; type = types.enum [ "light" "dark" ];
default = "light"; default = "light";
example = "dark"; example = "dark";
description = lib.mdDoc '' description = ''
Determines whether difftastic should use the lighter or darker colors Determines whether difftastic should use the lighter or darker colors
for syntax highlighting. for syntax highlighting.
''; '';
@ -283,7 +280,7 @@ in {
type = types.enum [ "always" "auto" "never" ]; type = types.enum [ "always" "auto" "never" ];
default = "auto"; default = "auto";
example = "always"; example = "always";
description = lib.mdDoc '' description = ''
Determines when difftastic should color its output. Determines when difftastic should color its output.
''; '';
}; };
@ -293,21 +290,21 @@ in {
types.enum [ "side-by-side" "side-by-side-show-both" "inline" ]; types.enum [ "side-by-side" "side-by-side-show-both" "inline" ];
default = "side-by-side"; default = "side-by-side";
example = "inline"; example = "inline";
description = lib.mdDoc '' description = ''
Determines how the output displays - in one column or two columns. Determines how the output displays - in one column or two columns.
''; '';
}; };
}; };
delta = { delta = {
enable = mkEnableOption (lib.mdDoc "") // { enable = mkEnableOption "" // {
description = lib.mdDoc '' description = ''
Whether to enable the {command}`delta` syntax highlighter. Whether to enable the {command}`delta` syntax highlighter.
See <https://github.com/dandavison/delta>. See <https://github.com/dandavison/delta>.
''; '';
}; };
package = mkPackageOptionMD pkgs "delta" { }; package = mkPackageOption pkgs "delta" { };
options = mkOption { options = mkOption {
type = with types; type = with types;
@ -325,15 +322,15 @@ in {
file-decoration-style = "none"; file-decoration-style = "none";
}; };
}; };
description = lib.mdDoc '' description = ''
Options to configure delta. Options to configure delta.
''; '';
}; };
}; };
diff-so-fancy = { diff-so-fancy = {
enable = mkEnableOption (lib.mdDoc "") // { enable = mkEnableOption "" // {
description = lib.mdDoc '' description = ''
Enable the {command}`diff-so-fancy` diff colorizer. Enable the {command}`diff-so-fancy` diff colorizer.
See <https://github.com/so-fancy/diff-so-fancy>. See <https://github.com/so-fancy/diff-so-fancy>.
''; '';
@ -342,7 +339,7 @@ in {
pagerOpts = mkOption { pagerOpts = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ "--tabs=4" "-RFX" ]; default = [ "--tabs=4" "-RFX" ];
description = lib.mdDoc '' description = ''
Arguments to be passed to {command}`less`. Arguments to be passed to {command}`less`.
''; '';
}; };
@ -351,7 +348,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
example = false; example = false;
description = lib.mdDoc '' description = ''
Whether the first block of an empty line should be colored. Whether the first block of an empty line should be colored.
''; '';
}; };
@ -360,7 +357,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
example = false; example = false;
description = lib.mdDoc '' description = ''
Simplify git header chunks to a more human readable format. Simplify git header chunks to a more human readable format.
''; '';
}; };
@ -369,7 +366,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
example = false; example = false;
description = lib.mdDoc '' description = ''
Whether the `+` or `-` at Whether the `+` or `-` at
line-start should be removed. line-start should be removed.
''; '';
@ -379,7 +376,7 @@ in {
type = types.bool; type = types.bool;
default = true; default = true;
example = false; example = false;
description = lib.mdDoc '' description = ''
By default, the separator for the file header uses Unicode By default, the separator for the file header uses Unicode
line-drawing characters. If this is causing output errors on line-drawing characters. If this is causing output errors on
your terminal, set this to false to use ASCII characters instead. your terminal, set this to false to use ASCII characters instead.
@ -390,7 +387,7 @@ in {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
example = false; example = false;
description = lib.mdDoc '' description = ''
By default, the separator for the file header spans the full By default, the separator for the file header spans the full
width of the terminal. Use this setting to set the width of width of the terminal. Use this setting to set the width of
the file header manually. the file header manually.

View file

@ -10,14 +10,14 @@ in {
meta.maintainers = [ hm.maintainers.mifom ]; meta.maintainers = [ hm.maintainers.mifom ];
options.programs.gitui = { options.programs.gitui = {
enable = mkEnableOption enable =
(lib.mdDoc "gitui, blazing fast terminal-ui for git written in rust"); mkEnableOption "gitui, blazing fast terminal-ui for git written in rust";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.gitui; default = pkgs.gitui;
defaultText = "pkgs.gitui"; defaultText = "pkgs.gitui";
description = lib.mdDoc "The package to use."; description = "The package to use.";
}; };
keyConfig = mkOption { keyConfig = mkOption {
@ -28,7 +28,7 @@ in {
quit: Some(( code: Char('q'), modifiers: ( bits: 0,),)), quit: Some(( code: Char('q'), modifiers: ( bits: 0,),)),
exit_popup: Some(( code: Esc, modifiers: ( bits: 0,),)), exit_popup: Some(( code: Esc, modifiers: ( bits: 0,),)),
''; '';
description = lib.mdDoc '' description = ''
Key config in Ron file format. This is written to Key config in Ron file format. This is written to
{file}`$XDG_CONFIG_HOME/gitui/key_config.ron`. {file}`$XDG_CONFIG_HOME/gitui/key_config.ron`.
''; '';
@ -61,7 +61,7 @@ in {
branch_fg: LightYellow, branch_fg: LightYellow,
) )
''; '';
description = lib.mdDoc '' description = ''
Theme in Ron file format. This is written to Theme in Ron file format. This is written to
{file}`$XDG_CONFIG_HOME/gitui/theme.ron`. {file}`$XDG_CONFIG_HOME/gitui/theme.ron`.
''; '';

View file

@ -18,12 +18,12 @@ let
options = { options = {
foreground = mkOption { foreground = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "The foreground color."; description = "The foreground color.";
}; };
background = mkOption { background = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "The background color."; description = "The background color.";
}; };
}; };
}); });
@ -32,37 +32,35 @@ let
options = { options = {
foregroundColor = mkOption { foregroundColor = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "The foreground color."; description = "The foreground color.";
}; };
backgroundColor = mkOption { backgroundColor = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "The background color."; description = "The background color.";
}; };
boldColor = mkOption { boldColor = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = description = "The bold color, null to use same as foreground.";
lib.mdDoc "The bold color, null to use same as foreground.";
}; };
palette = mkOption { palette = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = lib.mdDoc "The terminal palette."; description = "The terminal palette.";
}; };
cursor = mkOption { cursor = mkOption {
default = null; default = null;
type = types.nullOr backForeSubModule; type = types.nullOr backForeSubModule;
description = lib.mdDoc "The color for the terminal cursor."; description = "The color for the terminal cursor.";
}; };
highlight = mkOption { highlight = mkOption {
default = null; default = null;
type = types.nullOr backForeSubModule; type = types.nullOr backForeSubModule;
description = description = "The colors for the terminals highlighted area.";
lib.mdDoc "The colors for the terminals highlighted area.";
}; };
}; };
}); });
@ -72,43 +70,42 @@ let
default = mkOption { default = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether this should be the default profile."; description = "Whether this should be the default profile.";
}; };
visibleName = mkOption { visibleName = mkOption {
type = types.str; type = types.str;
description = lib.mdDoc "The profile name."; description = "The profile name.";
}; };
colors = mkOption { colors = mkOption {
default = null; default = null;
type = types.nullOr profileColorsSubModule; type = types.nullOr profileColorsSubModule;
description = description = "The terminal colors, null to use system default.";
lib.mdDoc "The terminal colors, null to use system default.";
}; };
cursorBlinkMode = mkOption { cursorBlinkMode = mkOption {
default = "system"; default = "system";
type = types.enum [ "system" "on" "off" ]; type = types.enum [ "system" "on" "off" ];
description = lib.mdDoc "The cursor blink mode."; description = "The cursor blink mode.";
}; };
cursorShape = mkOption { cursorShape = mkOption {
default = "block"; default = "block";
type = types.enum [ "block" "ibeam" "underline" ]; type = types.enum [ "block" "ibeam" "underline" ];
description = lib.mdDoc "The cursor shape."; description = "The cursor shape.";
}; };
font = mkOption { font = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc "The font name, null to use system default."; description = "The font name, null to use system default.";
}; };
allowBold = mkOption { allowBold = mkOption {
default = null; default = null;
type = types.nullOr types.bool; type = types.nullOr types.bool;
description = lib.mdDoc '' description = ''
If `true`, allow applications in the If `true`, allow applications in the
terminal to make text boldface. terminal to make text boldface.
''; '';
@ -117,19 +114,19 @@ let
scrollOnOutput = mkOption { scrollOnOutput = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether to scroll when output is written."; description = "Whether to scroll when output is written.";
}; };
showScrollbar = mkOption { showScrollbar = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether the scroll bar should be visible."; description = "Whether the scroll bar should be visible.";
}; };
scrollbackLines = mkOption { scrollbackLines = mkOption {
default = 10000; default = 10000;
type = types.nullOr types.int; type = types.nullOr types.int;
description = lib.mdDoc '' description = ''
The number of scrollback lines to keep, null for infinite. The number of scrollback lines to keep, null for infinite.
''; '';
}; };
@ -137,7 +134,7 @@ let
customCommand = mkOption { customCommand = mkOption {
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
description = lib.mdDoc '' description = ''
The command to use to start the shell, or null for default shell. The command to use to start the shell, or null for default shell.
''; '';
}; };
@ -145,13 +142,13 @@ let
loginShell = mkOption { loginShell = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
description = lib.mdDoc "Run command as a login shell."; description = "Run command as a login shell.";
}; };
backspaceBinding = mkOption { backspaceBinding = mkOption {
default = "ascii-delete"; default = "ascii-delete";
type = eraseBinding; type = eraseBinding;
description = lib.mdDoc '' description = ''
Which string the terminal should send to an application when the user Which string the terminal should send to an application when the user
presses the *Backspace* key. presses the *Backspace* key.
@ -175,13 +172,13 @@ let
boldIsBright = mkOption { boldIsBright = mkOption {
default = null; default = null;
type = types.nullOr types.bool; type = types.nullOr types.bool;
description = lib.mdDoc "Whether bold text is shown in bright colors."; description = "Whether bold text is shown in bright colors.";
}; };
deleteBinding = mkOption { deleteBinding = mkOption {
default = "delete-sequence"; default = "delete-sequence";
type = eraseBinding; type = eraseBinding;
description = lib.mdDoc '' description = ''
Which string the terminal should send to an application when the user Which string the terminal should send to an application when the user
presses the *Delete* key. presses the *Delete* key.
@ -205,13 +202,13 @@ let
audibleBell = mkOption { audibleBell = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc "Turn on/off the terminal's bell."; description = "Turn on/off the terminal's bell.";
}; };
transparencyPercent = mkOption { transparencyPercent = mkOption {
default = null; default = null;
type = types.nullOr (types.ints.between 0 100); type = types.nullOr (types.ints.between 0 100);
description = lib.mdDoc "Background transparency in percent."; description = "Background transparency in percent.";
}; };
}; };
}); });
@ -278,24 +275,24 @@ in {
options = { options = {
programs.gnome-terminal = { programs.gnome-terminal = {
enable = mkEnableOption (lib.mdDoc "Gnome Terminal"); enable = mkEnableOption "Gnome Terminal";
showMenubar = mkOption { showMenubar = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = lib.mdDoc "Whether to show the menubar by default"; description = "Whether to show the menubar by default";
}; };
themeVariant = mkOption { themeVariant = mkOption {
default = "default"; default = "default";
type = types.enum [ "default" "light" "dark" "system" ]; type = types.enum [ "default" "light" "dark" "system" ];
description = lib.mdDoc "The theme variation to request"; description = "The theme variation to request";
}; };
profile = mkOption { profile = mkOption {
default = { }; default = { };
type = types.attrsOf profileSubModule; type = types.attrsOf profileSubModule;
description = lib.mdDoc "A set of Gnome Terminal profiles."; description = "A set of Gnome Terminal profiles.";
}; };
}; };
}; };

View file

@ -11,13 +11,13 @@ in {
options = { options = {
programs.go = { programs.go = {
enable = mkEnableOption (lib.mdDoc "Go"); enable = mkEnableOption "Go";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.go; default = pkgs.go;
defaultText = literalExpression "pkgs.go"; defaultText = literalExpression "pkgs.go";
description = lib.mdDoc "The Go package to use."; description = "The Go package to use.";
}; };
packages = mkOption { packages = mkOption {
@ -29,14 +29,14 @@ in {
"golang.org/x/time" = builtins.fetchGit "https://go.googlesource.com/time"; "golang.org/x/time" = builtins.fetchGit "https://go.googlesource.com/time";
} }
''; '';
description = lib.mdDoc "Packages to add to GOPATH."; description = "Packages to add to GOPATH.";
}; };
goPath = mkOption { goPath = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
example = "go"; example = "go";
description = lib.mdDoc '' description = ''
Primary {env}`GOPATH` relative to Primary {env}`GOPATH` relative to
{env}`HOME`. It will be exported first and therefore {env}`HOME`. It will be exported first and therefore
used by default by the Go tooling. used by default by the Go tooling.
@ -47,7 +47,7 @@ in {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "extraGoPath1" "extraGoPath2" ]; example = [ "extraGoPath1" "extraGoPath2" ];
description = lib.mdDoc '' description = ''
Extra {env}`GOPATH`s relative to {env}`HOME` appended Extra {env}`GOPATH`s relative to {env}`HOME` appended
after [](#opt-programs.go.goPath), if that option is set. after [](#opt-programs.go.goPath), if that option is set.
''; '';
@ -57,14 +57,14 @@ in {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
example = ".local/bin.go"; example = ".local/bin.go";
description = lib.mdDoc "GOBIN relative to HOME"; description = "GOBIN relative to HOME";
}; };
goPrivate = mkOption { goPrivate = mkOption {
type = with types; listOf str; type = with types; listOf str;
default = [ ]; default = [ ];
example = [ "*.corp.example.com" "rsc.io/private" ]; example = [ "*.corp.example.com" "rsc.io/private" ];
description = lib.mdDoc '' description = ''
The {env}`GOPRIVATE` environment variable controls The {env}`GOPRIVATE` environment variable controls
which modules the go command considers to be private (not which modules the go command considers to be private (not
available publicly) and should therefore not use the proxy available publicly) and should therefore not use the proxy

View file

@ -25,14 +25,14 @@ let
text = mkOption { text = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Text of an OpenPGP public key. Text of an OpenPGP public key.
''; '';
}; };
source = mkOption { source = mkOption {
type = types.path; type = types.path;
description = lib.mdDoc '' description = ''
Path of an OpenPGP public key file. Path of an OpenPGP public key file.
''; '';
}; };
@ -62,7 +62,7 @@ let
}.${v} }.${v}
else else
v; v;
description = lib.mdDoc '' description = ''
The amount of trust you have in the key ownership and the care the The amount of trust you have in the key ownership and the care the
owner puts into signing other keys. The available levels are owner puts into signing other keys. The available levels are
@ -139,7 +139,7 @@ let
in { in {
options.programs.gpg = { options.programs.gpg = {
enable = mkEnableOption (lib.mdDoc "GnuPG"); enable = mkEnableOption "GnuPG";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
@ -147,7 +147,7 @@ in {
defaultText = literalExpression "pkgs.gnupg"; defaultText = literalExpression "pkgs.gnupg";
example = literalExpression "pkgs.gnupg23"; example = literalExpression "pkgs.gnupg23";
description = description =
lib.mdDoc "The Gnupg package to use (also used the gpg-agent service)."; "The Gnupg package to use (also used the gpg-agent service).";
}; };
settings = mkOption { settings = mkOption {
@ -159,7 +159,7 @@ in {
s2k-cipher-algo = "AES128"; s2k-cipher-algo = "AES128";
} }
''; '';
description = lib.mdDoc '' description = ''
GnuPG configuration options. Available options are described GnuPG configuration options. Available options are described
in in
[ [
@ -178,7 +178,7 @@ in {
disable-ccid = true; disable-ccid = true;
} }
''; '';
description = lib.mdDoc '' description = ''
SCdaemon configuration options. Available options are described SCdaemon configuration options. Available options are described
in in
[ [
@ -193,13 +193,13 @@ in {
default = "${config.home.homeDirectory}/.gnupg"; default = "${config.home.homeDirectory}/.gnupg";
defaultText = defaultText =
literalExpression ''"''${config.home.homeDirectory}/.gnupg"''; literalExpression ''"''${config.home.homeDirectory}/.gnupg"'';
description = lib.mdDoc "Directory to store keychains and configuration."; description = "Directory to store keychains and configuration.";
}; };
mutableKeys = mkOption { mutableKeys = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
If set to `true`, you may manage your keyring as a user If set to `true`, you may manage your keyring as a user
using the `gpg` command. Upon activation, the keyring using the `gpg` command. Upon activation, the keyring
will have managed keys added without overwriting unmanaged keys. will have managed keys added without overwriting unmanaged keys.
@ -213,7 +213,7 @@ in {
mutableTrust = mkOption { mutableTrust = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = lib.mdDoc '' description = ''
If set to `true`, you may manage trust as a user using If set to `true`, you may manage trust as a user using
the {command}`gpg` command. Upon activation, trusted keys have the {command}`gpg` command. Upon activation, trusted keys have
their trust set without overwriting unmanaged keys. their trust set without overwriting unmanaged keys.
@ -232,7 +232,7 @@ in {
[ { source = ./pubkeys.txt; } ] [ { source = ./pubkeys.txt; } ]
''; '';
default = [ ]; default = [ ];
description = lib.mdDoc '' description = ''
A list of public keys to be imported into GnuPG. Note, these key files A list of public keys to be imported into GnuPG. Note, these key files
will be copied into the world-readable Nix store. will be copied into the world-readable Nix store.
''; '';

View file

@ -11,14 +11,14 @@ in {
meta.maintainers = with lib.maintainers; [ AndersonTorres ]; meta.maintainers = with lib.maintainers; [ AndersonTorres ];
options.programs.havoc = { options.programs.havoc = {
enable = mkEnableOption (lib.mdDoc "Havoc terminal"); enable = mkEnableOption "Havoc terminal";
package = mkPackageOptionMD pkgs "havoc" { }; package = mkPackageOption pkgs "havoc" { };
settings = mkOption { settings = mkOption {
type = iniFormat.type; type = iniFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/havoc.cfg`. See <https://raw.githubusercontent.com/ii8/havoc/master/havoc.cfg> {file}`$XDG_CONFIG_HOME/havoc.cfg`. See <https://raw.githubusercontent.com/ii8/havoc/master/havoc.cfg>
for a list of available options. for a list of available options.

View file

@ -9,19 +9,19 @@ in {
meta.maintainers = [ hm.maintainers.Philipp-M ]; meta.maintainers = [ hm.maintainers.Philipp-M ];
options.programs.helix = { options.programs.helix = {
enable = mkEnableOption (lib.mdDoc "helix text editor"); enable = mkEnableOption "helix text editor";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.helix; default = pkgs.helix;
defaultText = literalExpression "pkgs.helix"; defaultText = literalExpression "pkgs.helix";
description = lib.mdDoc "The package to use for helix."; description = "The package to use for helix.";
}; };
defaultEditor = mkOption { defaultEditor = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Whether to configure {command}`hx` as the default Whether to configure {command}`hx` as the default
editor using the {env}`EDITOR` environment variable. editor using the {env}`EDITOR` environment variable.
''; '';
@ -45,7 +45,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
Configuration written to Configuration written to
{file}`$XDG_CONFIG_HOME/helix/config.toml`. {file}`$XDG_CONFIG_HOME/helix/config.toml`.
@ -80,7 +80,7 @@ in {
}]; }];
} }
''; '';
description = lib.mdDoc '' description = ''
Language specific configuration at Language specific configuration at
{file}`$XDG_CONFIG_HOME/helix/languages.toml`. {file}`$XDG_CONFIG_HOME/helix/languages.toml`.
@ -149,7 +149,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc '' description = ''
Each theme is written to Each theme is written to
{file}`$XDG_CONFIG_HOME/helix/themes/theme-name.toml`. {file}`$XDG_CONFIG_HOME/helix/themes/theme-name.toml`.
Where the name of each attribute is the theme-name (in the example "base16"). Where the name of each attribute is the theme-name (in the example "base16").

View file

@ -11,37 +11,37 @@ let
autoconnect = mkOption { autoconnect = mkOption {
type = nullOr bool; type = nullOr bool;
default = false; default = false;
description = lib.mdDoc "Autoconnect to network."; description = "Autoconnect to network.";
}; };
connectToSelectedServerOnly = mkOption { connectToSelectedServerOnly = mkOption {
type = nullOr bool; type = nullOr bool;
default = true; default = true;
description = lib.mdDoc "Connect to selected server only."; description = "Connect to selected server only.";
}; };
bypassProxy = mkOption { bypassProxy = mkOption {
type = nullOr bool; type = nullOr bool;
default = true; default = true;
description = lib.mdDoc "Bypass proxy."; description = "Bypass proxy.";
}; };
forceSSL = mkOption { forceSSL = mkOption {
type = nullOr bool; type = nullOr bool;
default = false; default = false;
description = lib.mdDoc "Use SSL for all servers."; description = "Use SSL for all servers.";
}; };
acceptInvalidSSLCertificates = mkOption { acceptInvalidSSLCertificates = mkOption {
type = nullOr bool; type = nullOr bool;
default = false; default = false;
description = lib.mdDoc "Accept invalid SSL certificates."; description = "Accept invalid SSL certificates.";
}; };
useGlobalUserInformation = mkOption { useGlobalUserInformation = mkOption {
type = nullOr bool; type = nullOr bool;
default = false; default = false;
description = lib.mdDoc "Use global user information."; description = "Use global user information.";
}; };
}; };
}; };
@ -53,29 +53,27 @@ let
type = listOf str; type = listOf str;
default = [ ]; default = [ ];
example = [ "#home-manager" "#linux" "#nix" ]; example = [ "#home-manager" "#linux" "#nix" ];
description = description = "Channels list to autojoin on connecting to server.";
lib.mdDoc "Channels list to autojoin on connecting to server.";
}; };
charset = mkOption { charset = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
example = "UTF-8 (Unicode)"; example = "UTF-8 (Unicode)";
description = lib.mdDoc "Character set."; description = "Character set.";
}; };
commands = mkOption { commands = mkOption {
type = listOf str; type = listOf str;
default = [ ]; default = [ ];
example = literalExpression ''[ "ECHO Greetings fellow Nixer! ]''; example = literalExpression ''[ "ECHO Greetings fellow Nixer! ]'';
description = description = "Commands to be executed on connecting to server.";
lib.mdDoc "Commands to be executed on connecting to server.";
}; };
loginMethod = mkOption { loginMethod = mkOption {
type = nullOr (enum (attrNames loginMethodMap)); type = nullOr (enum (attrNames loginMethodMap));
default = null; default = null;
description = lib.mdDoc '' description = ''
The login method. The allowed options are: The login method. The allowed options are:
`null` `null`
@ -110,13 +108,13 @@ let
nickname = mkOption { nickname = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "Primary nickname."; description = "Primary nickname.";
}; };
nickname2 = mkOption { nickname2 = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc "Secondary nickname."; description = "Secondary nickname.";
}; };
options = mkOption { options = mkOption {
@ -126,13 +124,13 @@ let
autoconnect = true; autoconnect = true;
useGlobalUserInformation = true; useGlobalUserInformation = true;
}; };
description = lib.mdDoc "Channel options."; description = "Channel options.";
}; };
password = mkOption { password = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Password to use. Note this password will be readable by all user's Password to use. Note this password will be readable by all user's
in the Nix store. in the Nix store.
''; '';
@ -141,7 +139,7 @@ let
realName = mkOption { realName = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Real name. Is used to populate the real name field that appears when Real name. Is used to populate the real name field that appears when
someone uses the `WHOIS` command on your nick. someone uses the `WHOIS` command on your nick.
''; '';
@ -150,7 +148,7 @@ let
userName = mkOption { userName = mkOption {
type = nullOr str; type = nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
User name. Part of your `user@host` hostmask that User name. Part of your `user@host` hostmask that
appears to other on IRC. appears to other on IRC.
''; '';
@ -160,7 +158,7 @@ let
type = listOf str; type = listOf str;
default = [ ]; default = [ ];
example = [ "irc.oftc.net" ]; example = [ "irc.oftc.net" ];
description = lib.mdDoc "IRC Server Address List."; description = "IRC Server Address List.";
}; };
}; };
}; };
@ -221,7 +219,7 @@ in {
meta.maintainers = with maintainers; [ thiagokokada ]; meta.maintainers = with maintainers; [ thiagokokada ];
options.programs.hexchat = with types; { options.programs.hexchat = with types; {
enable = mkEnableOption (lib.mdDoc "HexChat, a graphical IRC client"); enable = mkEnableOption "HexChat, a graphical IRC client";
channels = mkOption { channels = mkOption {
type = attrsOf modChannelOption; type = attrsOf modChannelOption;
@ -256,7 +254,7 @@ in {
userName = "my_username"; userName = "my_username";
}; };
}''; }'';
description = lib.mdDoc '' description = ''
Configures {file}`$XDG_CONFIG_HOME/hexchat/servlist.conf`. Configures {file}`$XDG_CONFIG_HOME/hexchat/servlist.conf`.
''; '';
}; };
@ -272,7 +270,7 @@ in {
text_font = "Monospace 14"; text_font = "Monospace 14";
}; };
''; '';
description = lib.mdDoc '' description = ''
Configuration for {file}`$XDG_CONFIG_HOME/hexchat/hexchat.conf`, see Configuration for {file}`$XDG_CONFIG_HOME/hexchat/hexchat.conf`, see
<https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings> <https://hexchat.readthedocs.io/en/latest/settings.html#list-of-settings>
for supported values. for supported values.
@ -282,7 +280,7 @@ in {
overwriteConfigFiles = mkOption { overwriteConfigFiles = mkOption {
type = nullOr bool; type = nullOr bool;
default = false; default = false;
description = lib.mdDoc '' description = ''
Enables overwriting HexChat configuration files Enables overwriting HexChat configuration files
({file}`hexchat.conf`, {file}`servlist.conf`). ({file}`hexchat.conf`, {file}`servlist.conf`).
Any existing HexChat configuration will be lost. Make sure to back up Any existing HexChat configuration will be lost. Make sure to back up
@ -309,7 +307,7 @@ in {
stripRoot = false; stripRoot = false;
}; };
''; '';
description = lib.mdDoc '' description = ''
Theme package for HexChat. Expects a derivation containing decompressed Theme package for HexChat. Expects a derivation containing decompressed
theme files. Note, `.hct` files are actually ZIP files, theme files. Note, `.hct` files are actually ZIP files,
as seen in example. as seen in example.

View file

@ -118,12 +118,12 @@ in {
options = { options = {
programs.himalaya = { programs.himalaya = {
enable = lib.mkEnableOption (lib.mdDoc "the Himalaya email client"); enable = lib.mkEnableOption "the Himalaya email client";
package = lib.mkPackageOptionMD pkgs "himalaya" { }; package = lib.mkPackageOption pkgs "himalaya" { };
settings = lib.mkOption { settings = lib.mkOption {
type = lib.types.submodule { freeformType = tomlFormat.type; }; type = lib.types.submodule { freeformType = tomlFormat.type; };
default = { }; default = { };
description = lib.mdDoc '' description = ''
Himalaya global configuration. Himalaya global configuration.
See <https://pimalaya.org/himalaya/cli/configuration/global.html> for supported values. See <https://pimalaya.org/himalaya/cli/configuration/global.html> for supported values.
''; '';
@ -132,8 +132,7 @@ in {
services = { services = {
himalaya-notify = { himalaya-notify = {
enable = lib.mkEnableOption enable = lib.mkEnableOption "the Himalaya new emails notifier service";
(lib.mdDoc "the Himalaya new emails notifier service");
environment = lib.mkOption { environment = lib.mkOption {
type = with lib.types; attrsOf str; type = with lib.types; attrsOf str;
@ -143,7 +142,7 @@ in {
"PASSWORD_STORE_DIR" = "~/.password-store"; "PASSWORD_STORE_DIR" = "~/.password-store";
} }
''; '';
description = lib.mdDoc '' description = ''
Extra environment variables to be exported in the service. Extra environment variables to be exported in the service.
''; '';
}; };
@ -153,7 +152,7 @@ in {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
default = null; default = null;
example = "gmail"; example = "gmail";
description = lib.mdDoc '' description = ''
Name of the account the notifier should be started for. If Name of the account the notifier should be started for. If
no account is given, the default one is used. no account is given, the default one is used.
''; '';
@ -163,7 +162,7 @@ in {
type = with lib.types; nullOr int; type = with lib.types; nullOr int;
default = null; default = null;
example = "500"; example = "500";
description = lib.mdDoc '' description = ''
Notifier lifetime of the IDLE session (in seconds). Notifier lifetime of the IDLE session (in seconds).
''; '';
}; };
@ -171,8 +170,8 @@ in {
}; };
himalaya-watch = { himalaya-watch = {
enable = lib.mkEnableOption enable =
(lib.mdDoc "the Himalaya folder changes watcher service"); lib.mkEnableOption "the Himalaya folder changes watcher service";
environment = lib.mkOption { environment = lib.mkOption {
type = with lib.types; attrsOf str; type = with lib.types; attrsOf str;
@ -182,7 +181,7 @@ in {
"PASSWORD_STORE_DIR" = "~/.password-store"; "PASSWORD_STORE_DIR" = "~/.password-store";
} }
''; '';
description = lib.mdDoc '' description = ''
Extra environment variables to be exported in the service. Extra environment variables to be exported in the service.
''; '';
}; };
@ -192,7 +191,7 @@ in {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
default = null; default = null;
example = "gmail"; example = "gmail";
description = lib.mdDoc '' description = ''
Name of the account the watcher should be started for. If Name of the account the watcher should be started for. If
no account is given, the default one is used. no account is given, the default one is used.
''; '';
@ -202,7 +201,7 @@ in {
type = with lib.types; nullOr int; type = with lib.types; nullOr int;
default = null; default = null;
example = "500"; example = "500";
description = lib.mdDoc '' description = ''
Watcher lifetime of the IDLE session (in seconds). Watcher lifetime of the IDLE session (in seconds).
''; '';
}; };
@ -213,14 +212,13 @@ in {
accounts.email.accounts = lib.mkOption { accounts.email.accounts = lib.mkOption {
type = lib.types.attrsOf (lib.types.submodule { type = lib.types.attrsOf (lib.types.submodule {
options.himalaya = { options.himalaya = {
enable = enable = lib.mkEnableOption "Himalaya for this email account";
lib.mkEnableOption (lib.mdDoc "Himalaya for this email account");
# TODO: remove me for the next release # TODO: remove me for the next release
backend = lib.mkOption { backend = lib.mkOption {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
default = null; default = null;
description = lib.mdDoc '' description = ''
Specifying {option}`accounts.email.accounts.*.himalaya.backend` is deprecated, Specifying {option}`accounts.email.accounts.*.himalaya.backend` is deprecated,
set {option}`accounts.email.accounts.*.himalaya.settings.backend` instead. set {option}`accounts.email.accounts.*.himalaya.settings.backend` instead.
''; '';
@ -229,7 +227,7 @@ in {
# TODO: remove me for the next release # TODO: remove me for the next release
sender = lib.mkOption { sender = lib.mkOption {
type = with lib.types; nullOr str; type = with lib.types; nullOr str;
description = lib.mdDoc '' description = ''
Specifying {option}`accounts.email.accounts.*.himalaya.sender` is deprecated, Specifying {option}`accounts.email.accounts.*.himalaya.sender` is deprecated,
set {option}'accounts.email.accounts.*.himalaya.settings.sender' instead. set {option}'accounts.email.accounts.*.himalaya.settings.sender' instead.
''; '';
@ -238,7 +236,7 @@ in {
settings = lib.mkOption { settings = lib.mkOption {
type = lib.types.submodule { freeformType = tomlFormat.type; }; type = lib.types.submodule { freeformType = tomlFormat.type; };
default = { }; default = { };
description = lib.mdDoc '' description = ''
Himalaya configuration for this email account. Himalaya configuration for this email account.
See <https://pimalaya.org/himalaya/cli/configuration/account.html> for supported values. See <https://pimalaya.org/himalaya/cli/configuration/account.html> for supported values.
''; '';

View file

@ -11,13 +11,13 @@ in {
options = { options = {
programs.home-manager = { programs.home-manager = {
enable = mkEnableOption (lib.mdDoc "Home Manager"); enable = mkEnableOption "Home Manager";
path = mkOption { path = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "$HOME/devel/home-manager"; example = "$HOME/devel/home-manager";
description = lib.mdDoc '' description = ''
The default path to use for Home Manager. When The default path to use for Home Manager. When
`null`, then the {file}`home-manager` `null`, then the {file}`home-manager`
channel, {file}`$HOME/.config/nixpkgs/home-manager`, and channel, {file}`$HOME/.config/nixpkgs/home-manager`, and

View file

@ -10,17 +10,17 @@ in {
meta.maintainers = [ hm.maintainers.Dines97 ]; meta.maintainers = [ hm.maintainers.Dines97 ];
options.programs.hstr = { options.programs.hstr = {
enable = mkEnableOption (lib.mdDoc '' enable = mkEnableOption ''
Bash And Zsh shell history suggest box - easily view, navigate, search and Bash And Zsh shell history suggest box - easily view, navigate, search and
manage your command history''); manage your command history'';
package = mkPackageOptionMD pkgs "hstr" { }; package = mkPackageOption pkgs "hstr" { };
enableBashIntegration = mkEnableOption (lib.mdDoc "Bash integration") // { enableBashIntegration = mkEnableOption "Bash integration" // {
default = true; default = true;
}; };
enableZshIntegration = mkEnableOption (lib.mdDoc "Zsh integration") // { enableZshIntegration = mkEnableOption "Zsh integration" // {
default = true; default = true;
}; };
}; };

View file

@ -110,7 +110,7 @@ in {
meta.maintainers = [ hm.maintainers.bjpbakker ]; meta.maintainers = [ hm.maintainers.bjpbakker ];
options.programs.htop = { options.programs.htop = {
enable = mkEnableOption (lib.mdDoc "htop"); enable = mkEnableOption "htop";
settings = mkOption { settings = mkOption {
type = types.attrs; type = types.attrs;
@ -149,7 +149,7 @@ in {
(text "Systemd") (text "Systemd")
]); ]);
''; '';
description = lib.mdDoc '' description = ''
Configuration options to add to Configuration options to add to
{file}`$XDG_CONFIG_HOME/htop/htoprc`. {file}`$XDG_CONFIG_HOME/htop/htoprc`.
''; '';
@ -159,7 +159,7 @@ in {
type = types.package; type = types.package;
default = pkgs.htop; default = pkgs.htop;
defaultText = literalExpression "pkgs.htop"; defaultText = literalExpression "pkgs.htop";
description = lib.mdDoc "Package containing the {command}`htop` program."; description = "Package containing the {command}`htop` program.";
}; };
}; };

View file

@ -10,13 +10,13 @@ in {
meta.maintainers = [ maintainers.lilyinstarlight ]; meta.maintainers = [ maintainers.lilyinstarlight ];
options.programs.hyfetch = { options.programs.hyfetch = {
enable = mkEnableOption (lib.mdDoc "hyfetch"); enable = mkEnableOption "hyfetch";
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.hyfetch; default = pkgs.hyfetch;
defaultText = literalExpression "pkgs.hyfetch"; defaultText = literalExpression "pkgs.hyfetch";
description = lib.mdDoc "The hyfetch package to use."; description = "The hyfetch package to use.";
}; };
settings = mkOption { settings = mkOption {
@ -31,7 +31,7 @@ in {
}; };
} }
''; '';
description = lib.mdDoc "JSON config for HyFetch"; description = "JSON config for HyFetch";
}; };
}; };

View file

@ -12,8 +12,7 @@ in {
meta.maintainers = with lib.maintainers; [ farlion thiagokokada ]; meta.maintainers = with lib.maintainers; [ farlion thiagokokada ];
options.programs.i3status-rust = { options.programs.i3status-rust = {
enable = enable = mkEnableOption "a replacement for i3-status written in Rust";
mkEnableOption (lib.mdDoc "a replacement for i3-status written in Rust");
bars = mkOption { bars = mkOption {
type = types.attrsOf (types.submodule { type = types.attrsOf (types.submodule {
@ -50,7 +49,7 @@ in {
format = " $timestamp.datetime(f:'%a %d/%m %R') "; format = " $timestamp.datetime(f:'%a %d/%m %R') ";
} }
]; ];
description = lib.mdDoc '' description = ''
Configuration blocks to add to i3status-rust Configuration blocks to add to i3status-rust
{file}`config`. See {file}`config`. See
<https://github.com/greshake/i3status-rust/blob/master/blocks.md> <https://github.com/greshake/i3status-rust/blob/master/blocks.md>
@ -87,7 +86,7 @@ in {
settings = mkOption { settings = mkOption {
type = settingsFormat.type; type = settingsFormat.type;
default = { }; default = { };
description = lib.mdDoc '' description = ''
Any extra options to add to i3status-rust Any extra options to add to i3status-rust
{file}`config`. {file}`config`.
''; '';
@ -107,7 +106,7 @@ in {
icons = mkOption { icons = mkOption {
type = types.str; type = types.str;
default = "none"; default = "none";
description = lib.mdDoc '' description = ''
The icons set to use. See The icons set to use. See
<https://github.com/greshake/i3status-rust/blob/master/doc/themes.md> <https://github.com/greshake/i3status-rust/blob/master/doc/themes.md>
for a list of available icon sets. for a list of available icon sets.
@ -118,7 +117,7 @@ in {
theme = mkOption { theme = mkOption {
type = types.str; type = types.str;
default = "plain"; default = "plain";
description = lib.mdDoc '' description = ''
The theme to use. See The theme to use. See
<https://github.com/greshake/i3status-rust/blob/master/doc/themes.md> <https://github.com/greshake/i3status-rust/blob/master/doc/themes.md>
for a list of available themes. for a list of available themes.
@ -162,7 +161,7 @@ in {
]; ];
}; };
}; };
description = lib.mdDoc '' description = ''
Attribute set of i3status-rust bars, each with their own configuration. Attribute set of i3status-rust bars, each with their own configuration.
Each bar {var}`name` generates a config file suffixed with Each bar {var}`name` generates a config file suffixed with
the bar's {var}`name` from the attribute set, like so: the bar's {var}`name` from the attribute set, like so:
@ -226,7 +225,7 @@ in {
type = types.package; type = types.package;
default = pkgs.i3status-rust; default = pkgs.i3status-rust;
defaultText = literalExpression "pkgs.i3status-rust"; defaultText = literalExpression "pkgs.i3status-rust";
description = lib.mdDoc "Package providing i3status-rust"; description = "Package providing i3status-rust";
}; };
}; };

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