1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2025-03-05 16:27:03 +00:00

treewide: convert all option docs to Markdown

This process was automated by [my fork of `nix-doc-munge`]; thanks
to @pennae for writing this tool! It automatically checks that the
resulting documentation doesn't change, although my fork loosens
this a little to ignore some irrelevant whitespace and typographical
differences.

As of this commit there is no DocBook remaining in the options
documentation.

You can play along at home if you want to reproduce this commit:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/c1bca7fe84c646cfd4ebf3482c0e6317a0b13f22 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run github:emilazy/nix-doc-munge/0a7190f600027bf7baf6cb7139e4d69ac2f51062 \
      {} +

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge
This commit is contained in:
Emily 2023-06-22 12:21:32 +01:00
parent efe314cdba
commit e65131e69c
89 changed files with 921 additions and 918 deletions

View file

@ -89,9 +89,9 @@ in
documentation.enable = mkOption { documentation.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to install documentation of packages from Whether to install documentation of packages from
<option>environment.systemPackages</option> into the generated system path. {option}`environment.systemPackages` into the generated system path.
See "Multiple-output packages" chapter in the nixpkgs manual for more info. See "Multiple-output packages" chapter in the nixpkgs manual for more info.
''; '';
@ -101,8 +101,8 @@ in
documentation.man.enable = mkOption { documentation.man.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to install manual pages and the <command>man</command> command. Whether to install manual pages and the {command}`man` command.
This also includes "man" outputs. This also includes "man" outputs.
''; '';
}; };
@ -110,8 +110,8 @@ in
documentation.info.enable = mkOption { documentation.info.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to install info pages and the <command>info</command> command. Whether to install info pages and the {command}`info` command.
This also includes "info" outputs. This also includes "info" outputs.
''; '';
}; };
@ -119,8 +119,8 @@ in
documentation.doc.enable = mkOption { documentation.doc.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to install documentation distributed in packages' <literal>/share/doc</literal>. Whether to install documentation distributed in packages' `/share/doc`.
Usually plain text and/or HTML. Usually plain text and/or HTML.
This also includes "doc" outputs. This also includes "doc" outputs.
''; '';

View file

@ -21,57 +21,57 @@ in
type = types.listOf types.package; type = types.listOf types.package;
default = []; default = [];
example = literalExpression "[ pkgs.curl pkgs.vim ]"; example = literalExpression "[ pkgs.curl pkgs.vim ]";
description = '' description = lib.mdDoc ''
The set of packages that appear in The set of packages that appear in
/run/current-system/sw. These packages are /run/current-system/sw. These packages are
automatically available to all users, and are automatically available to all users, and are
automatically updated every time you rebuild the system automatically updated every time you rebuild the system
configuration. (The latter is the main difference with configuration. (The latter is the main difference with
installing them in the default profile, installing them in the default profile,
<filename>/nix/var/nix/profiles/default</filename>. {file}`/nix/var/nix/profiles/default`.
''; '';
}; };
environment.systemPath = mkOption { environment.systemPath = mkOption {
type = types.listOf (types.either types.path types.str); type = types.listOf (types.either types.path types.str);
description = "The set of paths that are added to PATH."; description = lib.mdDoc "The set of paths that are added to PATH.";
apply = x: if isList x then makeDrvBinPath x else x; apply = x: if isList x then makeDrvBinPath x else x;
}; };
environment.profiles = mkOption { environment.profiles = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = "A list of profiles used to setup the global environment."; description = lib.mdDoc "A list of profiles used to setup the global environment.";
}; };
environment.postBuild = mkOption { environment.postBuild = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Commands to execute when building the global environment."; description = lib.mdDoc "Commands to execute when building the global environment.";
}; };
environment.extraOutputsToInstall = mkOption { environment.extraOutputsToInstall = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = [ "doc" "info" "devdoc" ]; example = [ "doc" "info" "devdoc" ];
description = "List of additional package outputs to be symlinked into <filename>/run/current-system/sw</filename>."; description = lib.mdDoc "List of additional package outputs to be symlinked into {file}`/run/current-system/sw`.";
}; };
environment.pathsToLink = mkOption { environment.pathsToLink = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = [ "/share/doc" ]; example = [ "/share/doc" ];
description = "List of directories to be symlinked in <filename>/run/current-system/sw</filename>."; description = lib.mdDoc "List of directories to be symlinked in {file}`/run/current-system/sw`.";
}; };
environment.darwinConfig = mkOption { environment.darwinConfig = mkOption {
type = types.either types.path types.str; type = types.either types.path types.str;
default = "$HOME/.nixpkgs/darwin-configuration.nix"; default = "$HOME/.nixpkgs/darwin-configuration.nix";
description = '' description = lib.mdDoc ''
The path of the darwin configuration.nix used to configure the system, The path of the darwin configuration.nix used to configure the system,
this updates the default darwin-config entry in NIX_PATH. Since this this updates the default darwin-config entry in NIX_PATH. Since this
changes an environment variable it will only apply to new shells. changes an environment variable it will only apply to new shells.
NOTE: Changing this requires running <command>darwin-rebuild switch -I darwin-config=/path/to/configuration.nix</command> NOTE: Changing this requires running {command}`darwin-rebuild switch -I darwin-config=/path/to/configuration.nix`
the first time to make darwin-rebuild aware of the custom location. the first time to make darwin-rebuild aware of the custom location.
''; '';
}; };
@ -79,14 +79,14 @@ in
environment.loginShell = mkOption { environment.loginShell = mkOption {
type = types.str; type = types.str;
default = "$SHELL -l"; default = "$SHELL -l";
description = "Configure default login shell."; description = lib.mdDoc "Configure default login shell.";
}; };
environment.variables = mkOption { environment.variables = mkOption {
type = types.attrsOf (types.either types.str (types.listOf types.str)); type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {}; default = {};
example = { EDITOR = "vim"; LANG = "nl_NL.UTF-8"; }; example = { EDITOR = "vim"; LANG = "nl_NL.UTF-8"; };
description = '' description = lib.mdDoc ''
A set of environment variables used in the global environment. A set of environment variables used in the global environment.
These variables will be set on shell initialisation. These variables will be set on shell initialisation.
The value of each variable can be either a string or a list of The value of each variable can be either a string or a list of
@ -100,7 +100,7 @@ in
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = {}; default = {};
example = { ll = "ls -l"; }; example = { ll = "ls -l"; };
description = '' description = lib.mdDoc ''
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. The this option) to command strings or directly to build outputs. The
alises are added to all users' shells. alises are added to all users' shells.
@ -110,7 +110,7 @@ in
environment.extraInit = mkOption { environment.extraInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during global environment initialisation Shell script code called during global environment initialisation
after all variables and profileVariables have been set. after all variables and profileVariables have been set.
This code is asumed to be shell-independent, which means you should This code is asumed to be shell-independent, which means you should
@ -120,7 +120,7 @@ in
environment.shellInit = mkOption { environment.shellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during shell initialisation. Shell script code called during shell initialisation.
This code is asumed to be shell-independent, which means you should This code is asumed to be shell-independent, which means you should
stick to pure sh without sh word split. stick to pure sh without sh word split.
@ -130,7 +130,7 @@ in
environment.loginShellInit = mkOption { environment.loginShellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during login shell initialisation. Shell script code called during login shell initialisation.
This code is asumed to be shell-independent, which means you should This code is asumed to be shell-independent, which means you should
stick to pure sh without sh word split. stick to pure sh without sh word split.
@ -140,7 +140,7 @@ in
environment.interactiveShellInit = mkOption { environment.interactiveShellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during interactive shell initialisation. Shell script code called during interactive shell initialisation.
This code is asumed to be shell-independent, which means you should This code is asumed to be shell-independent, which means you should
stick to pure sh without sh word split. stick to pure sh without sh word split.

View file

@ -14,9 +14,9 @@ in
options = { options = {
fonts.fontDir.enable = mkOption { fonts.fontDir.enable = mkOption {
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable font management and install configured fonts to Whether to enable font management and install configured fonts to
<filename>/Library/Fonts</filename>. {file}`/Library/Fonts`.
NOTE: removes any manually-added fonts. NOTE: removes any manually-added fonts.
''; '';
@ -26,7 +26,7 @@ in
type = types.listOf types.path; type = types.listOf types.path;
default = [ ]; default = [ ];
example = literalExpression "[ pkgs.dejavu_fonts ]"; example = literalExpression "[ pkgs.dejavu_fonts ]";
description = '' description = lib.mdDoc ''
List of fonts to install. List of fonts to install.
Fonts present in later entries override those with the same filenames Fonts present in later entries override those with the same filenames

View file

@ -65,52 +65,52 @@ let
type = types.enum [ "none" "uninstall" "zap" ]; type = types.enum [ "none" "uninstall" "zap" ];
default = "none"; default = "none";
example = "uninstall"; example = "uninstall";
description = '' description = lib.mdDoc ''
This option manages what happens to formulae installed by Homebrew, that aren't present in This option manages what happens to formulae installed by Homebrew, that aren't present in
the Brewfile generated by this module, during <command>nix-darwin</command> system the Brewfile generated by this module, during {command}`nix-darwin` system
activation. activation.
When set to <literal>"none"</literal> (the default), formulae not present in the generated When set to `"none"` (the default), formulae not present in the generated
Brewfile are left installed. Brewfile are left installed.
When set to <literal>"uninstall"</literal>, <command>nix-darwin</command> invokes When set to `"uninstall"`, {command}`nix-darwin` invokes
<command>brew bundle [install]</command> with the <command>--cleanup</command> flag. This {command}`brew bundle [install]` with the {command}`--cleanup` flag. This
uninstalls all formulae not listed in generated Brewfile, i.e., uninstalls all formulae not listed in generated Brewfile, i.e.,
<command>brew uninstall</command> is run for those formulae. {command}`brew uninstall` is run for those formulae.
When set to <literal>"zap"</literal>, <command>nix-darwin</command> invokes When set to `"zap"`, {command}`nix-darwin` invokes
<command>brew bundle [install]</command> with the <command>--cleanup --zap</command> {command}`brew bundle [install]` with the {command}`--cleanup --zap`
flags. This uninstalls all formulae not listed in the generated Brewfile, and if the flags. This uninstalls all formulae not listed in the generated Brewfile, and if the
formula is a cask, removes all files associated with that cask. In other words, formula is a cask, removes all files associated with that cask. In other words,
<command>brew uninstall --zap</command> is run for all those formulae. {command}`brew uninstall --zap` is run for all those formulae.
If you plan on exclusively using <command>nix-darwin</command> to manage formulae If you plan on exclusively using {command}`nix-darwin` to manage formulae
installed by Homebrew, you probably want to set this option to installed by Homebrew, you probably want to set this option to
<literal>"uninstall"</literal> or <literal>"zap"</literal>. `"uninstall"` or `"zap"`.
''; '';
}; };
autoUpdate = mkOption { autoUpdate = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable Homebrew to auto-update itself and all formulae during Whether to enable Homebrew to auto-update itself and all formulae during
<command>nix-darwin</command> system activation. The default is <literal>false</literal> {command}`nix-darwin` system activation. The default is `false`
so that repeated invocations of <command>darwin-rebuild switch</command> are idempotent. so that repeated invocations of {command}`darwin-rebuild switch` are idempotent.
Note that Homebrew auto-updates when it's been more then 5 minutes since it last updated. Note that Homebrew auto-updates when it's been more then 5 minutes since it last updated.
Although auto-updating is disabled by default during system activation, note that Homebrew Although auto-updating is disabled by default during system activation, note that Homebrew
will auto-update when you manually invoke certain Homebrew commands. To modify this will auto-update when you manually invoke certain Homebrew commands. To modify this
behavior see <xref linkend="opt-homebrew.global.autoUpdate"/>. behavior see [](#opt-homebrew.global.autoUpdate).
''; '';
}; };
upgrade = mkOption { upgrade = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable Homebrew to upgrade outdated formulae and Mac App Store apps during Whether to enable Homebrew to upgrade outdated formulae and Mac App Store apps during
<command>nix-darwin</command> system activation. The default is <literal>false</literal> {command}`nix-darwin` system activation. The default is `false`
so that repeated invocations of <command>darwin-rebuild switch</command> are idempotent. so that repeated invocations of {command}`darwin-rebuild switch` are idempotent.
''; '';
}; };
@ -133,65 +133,65 @@ let
brewfile = mkOption { brewfile = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable Homebrew to automatically use the Brewfile that this module generates in Whether to enable Homebrew to automatically use the Brewfile that this module generates in
the Nix store, when you manually invoke <command>brew bundle</command>. the Nix store, when you manually invoke {command}`brew bundle`.
Enabling this option will change the default value of Enabling this option will change the default value of
<xref linkend="opt-homebrew.global.lockfiles"/> to <literal>false</literal> since, with [](#opt-homebrew.global.lockfiles) to `false` since, with
this option enabled, <command>brew bundle [install]</command> will default to using the this option enabled, {command}`brew bundle [install]` will default to using the
Brewfile that this module generates in the Nix store, unless you explicitly point it at Brewfile that this module generates in the Nix store, unless you explicitly point it at
another Brewfile using the <literal>--file</literal> flag. As a result, it will try to another Brewfile using the `--file` flag. As a result, it will try to
write the lockfile in the Nix store, and complain that it can't (though the command will write the lockfile in the Nix store, and complain that it can't (though the command will
run successfully regardless). run successfully regardless).
Implementation note: when enabled, this option sets the Implementation note: when enabled, this option sets the
<literal>HOMEBREW_BUNDLE_FILE</literal> environment variable to the path of the Brewfile `HOMEBREW_BUNDLE_FILE` environment variable to the path of the Brewfile
that this module generates in the Nix store, by adding it to that this module generates in the Nix store, by adding it to
<xref linkend="opt-environment.variables"/>. [](#opt-environment.variables).
''; '';
}; };
autoUpdate = mkOption { autoUpdate = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to enable Homebrew to auto-update itself and all formulae when you manually invoke Whether to enable Homebrew to auto-update itself and all formulae when you manually invoke
commands like <command>brew install</command>, <command>brew upgrade</command>, commands like {command}`brew install`, {command}`brew upgrade`,
<command>brew tap</command>, and <command>brew bundle [install]</command>. {command}`brew tap`, and {command}`brew bundle [install]`.
Note that Homebrew auto-updates when you manually invoke commands like the ones mentioned Note that Homebrew auto-updates when you manually invoke commands like the ones mentioned
above if it's been more then 5 minutes since it last updated. above if it's been more then 5 minutes since it last updated.
You may want to consider disabling this option if you have You may want to consider disabling this option if you have
<xref linkend="opt-homebrew.onActivation.upgrade"/> enabled, and [](#opt-homebrew.onActivation.upgrade) enabled, and
<xref linkend="opt-homebrew.onActivation.autoUpdate"/> disabled, if you want to ensure that [](#opt-homebrew.onActivation.autoUpdate) disabled, if you want to ensure that
your installed formulae will only be upgraded during <command>nix-darwin</command> system your installed formulae will only be upgraded during {command}`nix-darwin` system
activation, after you've explicitly run <command>brew update</command>. activation, after you've explicitly run {command}`brew update`.
Implementation note: when disabled, this option sets the Implementation note: when disabled, this option sets the
<literal>HOMEBREW_NO_AUTO_UPDATE</literal> environment variable, by adding it to `HOMEBREW_NO_AUTO_UPDATE` environment variable, by adding it to
<xref linkend="opt-environment.variables"/>. [](#opt-environment.variables).
''; '';
}; };
lockfiles = mkOption { lockfiles = mkOption {
type = types.bool; type = types.bool;
default = !config.brewfile; default = !config.brewfile;
defaultText = literalExpression "!config.homebrew.global.brewfile"; defaultText = literalExpression "!config.homebrew.global.brewfile";
description = '' description = lib.mdDoc ''
Whether to enable Homebrew to generate lockfiles when you manually invoke Whether to enable Homebrew to generate lockfiles when you manually invoke
<command>brew bundle [install]</command>. {command}`brew bundle [install]`.
This option will default to <literal>false</literal> if This option will default to `false` if
<xref linkend="opt-homebrew.global.brewfile"/> is enabled since, with that option enabled, [](#opt-homebrew.global.brewfile) is enabled since, with that option enabled,
<command>brew bundle [install]</command> will default to using the Brewfile that this {command}`brew bundle [install]` will default to using the Brewfile that this
module generates in the Nix store, unless you explicitly point it at another Brewfile module generates in the Nix store, unless you explicitly point it at another Brewfile
using the <literal>--file</literal> flag. As a result, it will try to write the using the `--file` flag. As a result, it will try to write the
lockfile in the Nix store, and complain that it can't (though the command will run lockfile in the Nix store, and complain that it can't (though the command will run
successfully regardless). successfully regardless).
Implementation note: when disabled, this option sets the Implementation note: when disabled, this option sets the
<literal>HOMEBREW_BUNDLE_NO_LOCK</literal> environment variable, by adding it to `HOMEBREW_BUNDLE_NO_LOCK` environment variable, by adding it to
<xref linkend="opt-environment.variables"/>. [](#opt-environment.variables).
''; '';
}; };
@ -217,22 +217,22 @@ let
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "homebrew/cask-fonts"; example = "homebrew/cask-fonts";
description = '' description = lib.mdDoc ''
When <option>clone_target</option> is unspecified, this is the name of a formula When {option}`clone_target` is unspecified, this is the name of a formula
repository to tap from GitHub using HTTPS. For example, <literal>"user/repo"</literal> repository to tap from GitHub using HTTPS. For example, `"user/repo"`
will tap https://github.com/user/homebrew-repo. will tap https://github.com/user/homebrew-repo.
''; '';
}; };
clone_target = mkNullOrStrOption { clone_target = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Use this option to tap a formula repository from anywhere, using any transport protocol Use this option to tap a formula repository from anywhere, using any transport protocol
that <command>git</command> handles. When <option>clone_target</option> is specified, taps that {command}`git` handles. When {option}`clone_target` is specified, taps
can be cloned from places other than GitHub and using protocols other than HTTPS, e.g., can be cloned from places other than GitHub and using protocols other than HTTPS, e.g.,
SSH, git, HTTP, FTP(S), rsync. SSH, git, HTTP, FTP(S), rsync.
''; '';
}; };
force_auto_update = mkNullOrBoolOption { force_auto_update = mkNullOrBoolOption {
description = '' description = lib.mdDoc ''
Whether to auto-update the tap even if it is not hosted on GitHub. By default, only taps Whether to auto-update the tap even if it is not hosted on GitHub. By default, only taps
hosted on GitHub are auto-updated (for performance reasons). hosted on GitHub are auto-updated (for performance reasons).
''; '';
@ -259,106 +259,106 @@ let
caskArgsOptions = { config, ... }: { caskArgsOptions = { config, ... }: {
options = { options = {
appdir = mkNullOrStrOption { appdir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Applications. Target location for Applications.
Homebrew's default is <filename>/Applications</filename>. Homebrew's default is {file}`/Applications`.
''; '';
}; };
colorpickerdir = mkNullOrStrOption { colorpickerdir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Color Pickers. Target location for Color Pickers.
Homebrew's default is <filename>~/Library/ColorPickers</filename>. Homebrew's default is {file}`~/Library/ColorPickers`.
''; '';
}; };
prefpanedir = mkNullOrStrOption { prefpanedir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Preference Panes. Target location for Preference Panes.
Homebrew's default is <filename>~/Library/PreferencePanes</filename>. Homebrew's default is {file}`~/Library/PreferencePanes`.
''; '';
}; };
qlplugindir = mkNullOrStrOption { qlplugindir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for QuickLook Plugins. Target location for QuickLook Plugins.
Homebrew's default is <filename>~/Library/QuickLook</filename>. Homebrew's default is {file}`~/Library/QuickLook`.
''; '';
}; };
mdimporterdir = mkNullOrStrOption { mdimporterdir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Spotlight Plugins. Target location for Spotlight Plugins.
Homebrew's default is <filename>~/Library/Spotlight</filename>. Homebrew's default is {file}`~/Library/Spotlight`.
''; '';
}; };
dictionarydir = mkNullOrStrOption { dictionarydir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Dictionaries. Target location for Dictionaries.
Homebrew's default is <filename>~/Library/Dictionaries</filename>. Homebrew's default is {file}`~/Library/Dictionaries`.
''; '';
}; };
fontdir = mkNullOrStrOption { fontdir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Fonts. Target location for Fonts.
Homebrew's default is <filename>~/Library/Fonts</filename>. Homebrew's default is {file}`~/Library/Fonts`.
''; '';
}; };
servicedir = mkNullOrStrOption { servicedir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Services. Target location for Services.
Homebrew's default is <filename>~/Library/Services</filename>. Homebrew's default is {file}`~/Library/Services`.
''; '';
}; };
input_methoddir = mkNullOrStrOption { input_methoddir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Input Methods. Target location for Input Methods.
Homebrew's default is <filename>~/Library/Input Methods</filename>. Homebrew's default is {file}`~/Library/Input Methods`.
''; '';
}; };
internet_plugindir = mkNullOrStrOption { internet_plugindir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Internet Plugins. Target location for Internet Plugins.
Homebrew's default is <filename>~/Library/Internet Plug-Ins</filename>. Homebrew's default is {file}`~/Library/Internet Plug-Ins`.
''; '';
}; };
audio_unit_plugindir = mkNullOrStrOption { audio_unit_plugindir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Audio Unit Plugins. Target location for Audio Unit Plugins.
Homebrew's default is Homebrew's default is
<filename>~/Library/Audio/Plug-Ins/Components</filename>. {file}`~/Library/Audio/Plug-Ins/Components`.
''; '';
}; };
vst_plugindir = mkNullOrStrOption { vst_plugindir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for VST Plugins. Target location for VST Plugins.
Homebrew's default is <filename>~/Library/Audio/Plug-Ins/VST</filename>. Homebrew's default is {file}`~/Library/Audio/Plug-Ins/VST`.
''; '';
}; };
vst3_plugindir = mkNullOrStrOption { vst3_plugindir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for VST3 Plugins. Target location for VST3 Plugins.
Homebrew's default is <filename>~/Library/Audio/Plug-Ins/VST3</filename>. Homebrew's default is {file}`~/Library/Audio/Plug-Ins/VST3`.
''; '';
}; };
screen_saverdir = mkNullOrStrOption { screen_saverdir = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Target location for Screen Savers. Target location for Screen Savers.
Homebrew's default is <filename>~/Library/Screen Savers</filename>. Homebrew's default is {file}`~/Library/Screen Savers`.
''; '';
}; };
language = mkNullOrStrOption { language = mkNullOrStrOption {
description = '' description = lib.mdDoc ''
Comma-separated list of language codes to prefer for cask installation. The first matching Comma-separated list of language codes to prefer for cask installation. The first matching
language is used, otherwise it reverts to the casks default language. The default value language is used, otherwise it reverts to the casks default language. The default value
is the language of your system. is the language of your system.
@ -366,17 +366,17 @@ let
example = "zh-TW"; example = "zh-TW";
}; };
require_sha = mkNullOrBoolOption { require_sha = mkNullOrBoolOption {
description = '' description = lib.mdDoc ''
Whether to require cask(s) to have a checksum. Whether to require cask(s) to have a checksum.
Homebrew's default is <literal>false</literal>. Homebrew's default is `false`.
''; '';
}; };
no_quarantine = mkNullOrBoolOption { no_quarantine = mkNullOrBoolOption {
description = "Whether to disable quarantining of downloads."; description = lib.mdDoc "Whether to disable quarantining of downloads.";
}; };
no_binaries = mkNullOrBoolOption { no_binaries = mkNullOrBoolOption {
description = "Whether to disable linking of helper executables."; description = lib.mdDoc "Whether to disable linking of helper executables.";
}; };
brewfileLine = mkInternalOption { type = types.nullOr types.str; }; brewfileLine = mkInternalOption { type = types.nullOr types.str; };
@ -397,20 +397,20 @@ let
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = "The name of the formula to install."; description = lib.mdDoc "The name of the formula to install.";
}; };
args = mkOption { args = mkOption {
type = with types; nullOr (listOf str); type = with types; nullOr (listOf str);
default = null; default = null;
description = '' description = lib.mdDoc ''
Arguments flags to pass to <command>brew install</command>. Values should not include the Arguments flags to pass to {command}`brew install`. Values should not include the
leading <literal>"--"</literal>. leading `"--"`.
''; '';
}; };
conflicts_with = mkOption { conflicts_with = mkOption {
type = with types; nullOr (listOf str); type = with types; nullOr (listOf str);
default = null; default = null;
description = '' description = lib.mdDoc ''
List of formulae that should be unlinked and their services stopped (if they are List of formulae that should be unlinked and their services stopped (if they are
installed). installed).
''; '';
@ -418,26 +418,26 @@ let
restart_service = mkOption { restart_service = mkOption {
type = with types; nullOr (either bool (enum [ "changed" ])); type = with types; nullOr (either bool (enum [ "changed" ]));
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to run <command>brew services restart</command> for the formula and register it to Whether to run {command}`brew services restart` for the formula and register it to
launch at login (or boot). If set to <literal>"changed"</literal>, the service will only launch at login (or boot). If set to `"changed"`, the service will only
be restarted on version changes. be restarted on version changes.
Homebrew's default is <literal>false</literal>. Homebrew's default is `false`.
''; '';
}; };
start_service = mkNullOrBoolOption { start_service = mkNullOrBoolOption {
description = '' description = lib.mdDoc ''
Whether to run <command>brew services start</command> for the formula and register it to Whether to run {command}`brew services start` for the formula and register it to
launch at login (or boot). launch at login (or boot).
Homebrew's default is <literal>false</literal>. Homebrew's default is `false`.
''; '';
}; };
link = mkNullOrBoolOption { link = mkNullOrBoolOption {
description = '' description = lib.mdDoc ''
Whether to link the formula to the Homebrew prefix. When this option is Whether to link the formula to the Homebrew prefix. When this option is
<literal>null</literal>, Homebrew will use it's default behavior which is to link the `null`, Homebrew will use it's default behavior which is to link the
formula if it's currently unlinked and not keg-only, and to unlink the formula if it's formula if it's currently unlinked and not keg-only, and to unlink the formula if it's
currently linked and keg-only. currently linked and keg-only.
''; '';
@ -470,19 +470,19 @@ let
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = "The name of the cask to install."; description = lib.mdDoc "The name of the cask to install.";
}; };
args = mkOption { args = mkOption {
type = types.nullOr (types.submodule caskArgsOptions); type = types.nullOr (types.submodule caskArgsOptions);
default = null; default = null;
visible = "shallow"; # so that options from `homebrew.caskArgs` aren't repeated. visible = "shallow"; # so that options from `homebrew.caskArgs` aren't repeated.
description = '' description = lib.mdDoc ''
Arguments passed to <command>brew install --cask</command> when installing this cask. See Arguments passed to {command}`brew install --cask` when installing this cask. See
<xref linkend="opt-homebrew.caskArgs"/> for the available options. [](#opt-homebrew.caskArgs) for the available options.
''; '';
}; };
greedy = mkNullOrBoolOption { greedy = mkNullOrBoolOption {
description = '' description = lib.mdDoc ''
Whether to always upgrade this cask regardless of whether it's unversioned or it updates Whether to always upgrade this cask regardless of whether it's unversioned or it updates
itself. itself.
''; '';
@ -513,31 +513,31 @@ in
]; ];
options.homebrew = { options.homebrew = {
enable = mkEnableOption '' enable = mkEnableOption (lib.mdDoc ''
<command>nix-darwin</command> to manage installing/updating/upgrading Homebrew taps, formulae, {command}`nix-darwin` to manage installing/updating/upgrading Homebrew taps, formulae,
and casks, as well as Mac App Store apps and Docker containers, using Homebrew Bundle. and casks, as well as Mac App Store apps and Docker containers, using Homebrew Bundle.
Note that enabling this option does not install Homebrew, see the Homebrew Note that enabling this option does not install Homebrew, see the Homebrew
<link xlink:href="https://brew.sh">website</link> for installation instructions. [website](https://brew.sh) for installation instructions.
Use the <xref linkend="opt-homebrew.brews"/>, <xref linkend="opt-homebrew.casks"/>, Use the [](#opt-homebrew.brews), [](#opt-homebrew.casks),
<xref linkend="opt-homebrew.masApps"/>, and <xref linkend="opt-homebrew.whalebrews"/> options [](#opt-homebrew.masApps), and [](#opt-homebrew.whalebrews) options
to list the Homebrew formulae, casks, Mac App Store apps, and Docker containers you'd like to to list the Homebrew formulae, casks, Mac App Store apps, and Docker containers you'd like to
install. Use the <xref linkend="opt-homebrew.taps"/> option, to make additional formula install. Use the [](#opt-homebrew.taps) option, to make additional formula
repositories available to Homebrew. This module uses those options (along with the repositories available to Homebrew. This module uses those options (along with the
<xref linkend="opt-homebrew.caskArgs"/> options) to generate a Brewfile that [](#opt-homebrew.caskArgs) options) to generate a Brewfile that
<command>nix-darwin</command> passes to the <command>brew bundle</command> command during {command}`nix-darwin` passes to the {command}`brew bundle` command during
system activation. system activation.
The default configuration of this module prevents Homebrew Bundle from auto-updating Homebrew The default configuration of this module prevents Homebrew Bundle from auto-updating Homebrew
and all formulae, as well as upgrading anything that's already installed, so that repeated and all formulae, as well as upgrading anything that's already installed, so that repeated
invocations of <command>darwin-rebuild switch</command> (without any change to the invocations of {command}`darwin-rebuild switch` (without any change to the
configuration) are idempotent. You can modify this behavior using the options under configuration) are idempotent. You can modify this behavior using the options under
<xref linkend="opt-homebrew.onActivation"/>. [](#opt-homebrew.onActivation).
This module also provides a few options for modifying how Homebrew commands behave when This module also provides a few options for modifying how Homebrew commands behave when
you manually invoke them, under <xref linkend="opt-homebrew.global"/> you manually invoke them, under [](#opt-homebrew.global)
''; '');
brewPrefix = mkOption { brewPrefix = mkOption {
type = types.str; type = types.str;
@ -546,8 +546,8 @@ in
if pkgs.stdenv.hostPlatform.isAarch64 then "/opt/homebrew/bin" if pkgs.stdenv.hostPlatform.isAarch64 then "/opt/homebrew/bin"
else "/usr/local/bin" else "/usr/local/bin"
''; '';
description = '' description = lib.mdDoc ''
The path prefix where the <command>brew</command> executable is located. This will be set to The path prefix where the {command}`brew` executable is located. This will be set to
the correct value based on your system's platform, and should only need to be changed if you the correct value based on your system's platform, and should only need to be changed if you
manually installed Homebrew in a non-standard location. manually installed Homebrew in a non-standard location.
''; '';
@ -556,16 +556,16 @@ in
onActivation = mkOption { onActivation = mkOption {
type = types.submodule onActivationOptions; type = types.submodule onActivationOptions;
default = { }; default = { };
description = '' description = lib.mdDoc ''
Options for configuring the behavior of the <command>brew bundle</command> command that Options for configuring the behavior of the {command}`brew bundle` command that
<command>nix-darwin</command> runs during system activation. {command}`nix-darwin` runs during system activation.
''; '';
}; };
global = mkOption { global = mkOption {
type = types.submodule globalOptions; type = types.submodule globalOptions;
default = { }; default = { };
description = '' description = lib.mdDoc ''
Options for configuring the behavior of Homebrew commands when you manually invoke them. Options for configuring the behavior of Homebrew commands when you manually invoke them.
''; '';
}; };
@ -587,12 +587,12 @@ in
} }
] ]
''; '';
description = '' description = lib.mdDoc ''
List of Homebrew formula repositories to tap. List of Homebrew formula repositories to tap.
Taps defined as strings, e.g., <literal>"user/repo"</literal>, are a shorthand for: Taps defined as strings, e.g., `"user/repo"`, are a shorthand for:
<literal>{ name = "user/repo"; }</literal> `{ name = "user/repo"; }`
''; '';
}; };
@ -605,9 +605,9 @@ in
require_sha = true; require_sha = true;
} }
''; '';
description = '' description = lib.mdDoc ''
Arguments passed to <command>brew install --cask</command> for all casks listed in Arguments passed to {command}`brew install --cask` for all casks listed in
<xref linkend="opt-homebrew.casks"/>. [](#opt-homebrew.casks).
''; '';
}; };
@ -636,12 +636,12 @@ in
} }
] ]
''; '';
description = '' description = lib.mdDoc ''
List of Homebrew formulae to install. List of Homebrew formulae to install.
Formulae defined as strings, e.g., <literal>"imagemagick"</literal>, are a shorthand for: Formulae defined as strings, e.g., `"imagemagick"`, are a shorthand for:
<literal>{ name = "imagemagick"; }</literal> `{ name = "imagemagick"; }`
''; '';
}; };
@ -667,12 +667,12 @@ in
} }
] ]
''; '';
description = '' description = lib.mdDoc ''
List of Homebrew casks to install. List of Homebrew casks to install.
Casks defined as strings, e.g., <literal>"google-chrome"</literal>, are a shorthand for: Casks defined as strings, e.g., `"google-chrome"`, are a shorthand for:
<literal>{ name = "google-chrome"; }</literal> `{ name = "google-chrome"; }`
''; '';
}; };
@ -685,20 +685,20 @@ in
Xcode = 497799835; Xcode = 497799835;
} }
''; '';
description = '' description = lib.mdDoc ''
Applications to install from Mac App Store using <command>mas</command>. Applications to install from Mac App Store using {command}`mas`.
When this option is used, <literal>"mas"</literal> is automatically added to When this option is used, `"mas"` is automatically added to
<xref linkend="opt-homebrew.brews"/>. [](#opt-homebrew.brews).
Note that you need to be signed into the Mac App Store for <command>mas</command> to Note that you need to be signed into the Mac App Store for {command}`mas` to
successfully install and upgrade applications, and that unfortunately apps removed from this successfully install and upgrade applications, and that unfortunately apps removed from this
option will not be uninstalled automatically even if option will not be uninstalled automatically even if
<xref linkend="opt-homebrew.onActivation.cleanup"/> is set to <literal>"uninstall"</literal> [](#opt-homebrew.onActivation.cleanup) is set to `"uninstall"`
or <literal>"zap"</literal> (this is currently a limitation of Homebrew Bundle). or `"zap"` (this is currently a limitation of Homebrew Bundle).
For more information on <command>mas</command> see: For more information on {command}`mas` see:
<link xlink:href="https://github.com/mas-cli/mas">github.com/mas-cli/mas</link>. [github.com/mas-cli/mas](https://github.com/mas-cli/mas).
''; '';
}; };
@ -706,14 +706,14 @@ in
type = with types; listOf str; type = with types; listOf str;
default = [ ]; default = [ ];
example = [ "whalebrew/wget" ]; example = [ "whalebrew/wget" ];
description = '' description = lib.mdDoc ''
List of Docker images to install using <command>whalebrew</command>. List of Docker images to install using {command}`whalebrew`.
When this option is used, <literal>"whalebrew"</literal> is automatically added to When this option is used, `"whalebrew"` is automatically added to
<xref linkend="opt-homebrew.brews"/>. [](#opt-homebrew.brews).
For more information on <command>whalebrew</command> see: For more information on {command}`whalebrew` see:
<link xlink:href="https://github.com/whalebrew/whalebrew">github.com/whalebrew/whalebrew</link>. [github.com/whalebrew/whalebrew](https://github.com/whalebrew/whalebrew).
''; '';
}; };
@ -724,12 +724,12 @@ in
# 'brew cask install' only if '/usr/libexec/java_home --failfast' fails # 'brew cask install' only if '/usr/libexec/java_home --failfast' fails
cask "java" unless system "/usr/libexec/java_home --failfast" cask "java" unless system "/usr/libexec/java_home --failfast"
''; '';
description = "Extra lines to be added verbatim to the bottom of the generated Brewfile."; description = lib.mdDoc "Extra lines to be added verbatim to the bottom of the generated Brewfile.";
}; };
brewfile = mkInternalOption { brewfile = mkInternalOption {
type = types.str; type = types.str;
description = "String reprensentation of the generated Brewfile useful for debugging."; description = lib.mdDoc "String reprensentation of the generated Brewfile useful for debugging.";
}; };
}; };

View file

@ -31,16 +31,16 @@ let
type = types.attrsOf (types.either types.str (types.listOf types.str)); type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {}; default = {};
example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; }; example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
description = "Environment variables passed to the service's processes."; description = lib.mdDoc "Environment variables passed to the service's processes.";
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v); apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
}; };
path = mkOption { path = mkOption {
type = types.listOf (types.either types.path types.str); type = types.listOf (types.either types.path types.str);
default = []; default = [];
description = '' description = lib.mdDoc ''
Packages added to the service's <envar>PATH</envar> Packages added to the service's {env}`PATH`
environment variable. Only the <filename>bin</filename> environment variable. Only the {file}`bin`
and subdirectories of each package is added. and subdirectories of each package is added.
''; '';
apply = ps: if isList ps then (makeDrvBinPath ps) else ps; apply = ps: if isList ps then (makeDrvBinPath ps) else ps;
@ -49,13 +49,13 @@ let
command = mkOption { command = mkOption {
type = types.either types.str types.path; type = types.either types.str types.path;
default = ""; default = "";
description = "Command executed as the service's main process."; description = lib.mdDoc "Command executed as the service's main process.";
}; };
script = mkOption { script = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Shell commands executed as the service's main process."; description = lib.mdDoc "Shell commands executed as the service's main process.";
}; };
# preStart = mkOption { # preStart = mkOption {
@ -74,9 +74,9 @@ let
KeepAlive = true; KeepAlive = true;
}; };
default = {}; default = {};
description = '' description = lib.mdDoc ''
Each attribute in this set specifies an option for a key in the plist. Each attribute in this set specifies an option for a key in the plist.
<link xlink:href="https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html"/> <https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man5/launchd.plist.5.html>
''; '';
}; };
}; };
@ -100,7 +100,7 @@ in
launchd.labelPrefix = mkOption { launchd.labelPrefix = mkOption {
type = types.str; type = types.str;
default = "org.nixos"; default = "org.nixos";
description = '' description = lib.mdDoc ''
The default prefix of the service label. Individual services can The default prefix of the service label. Individual services can
override this by setting the Label attribute. override this by setting the Label attribute.
''; '';
@ -110,7 +110,7 @@ in
type = types.attrsOf (types.either types.str (types.listOf types.str)); type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {}; default = {};
example = { LANG = "nl_NL.UTF-8"; }; example = { LANG = "nl_NL.UTF-8"; };
description = '' description = lib.mdDoc ''
A set of environment variables to be set on all future A set of environment variables to be set on all future
processes launched by launchd in the caller's context. processes launched by launchd in the caller's context.
The value of each variable can be either a string or a list of The value of each variable can be either a string or a list of
@ -124,7 +124,7 @@ in
type = types.attrsOf (types.either types.str (types.listOf types.str)); type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {}; default = {};
example = { LANG = "nl_NL.UTF-8"; }; example = { LANG = "nl_NL.UTF-8"; };
description = '' description = lib.mdDoc ''
A set of environment variables to be set on all future A set of environment variables to be set on all future
processes launched by launchd in the caller's context. processes launched by launchd in the caller's context.
The value of each variable can be either a string or a list of The value of each variable can be either a string or a list of

View file

@ -6,24 +6,24 @@ with lib;
options = { options = {
Label = mkOption { Label = mkOption {
type = types.str; type = types.str;
description = "This required key uniquely identifies the job to launchd."; description = 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 = '' description = lib.mdDoc ''
This optional key is used as a hint to <literal>launchctl(1)</literal> 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
file yourself is not a sufficient test. You should query launchd for the presence of the job using file yourself is not a sufficient test. You should query launchd for the presence of the job using
the <literal>launchctl(1)</literal> list subcommand or use the ServiceManagement framework's the `launchctl(1)` list subcommand or use the ServiceManagement framework's
<literal>SMJobCopyDictionary()</literal> method. `SMJobCopyDictionary()` method.
Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which Note that as of Mac OS X v10.6, this key's value in a configuration file conveys a default value, which
is changed with the [-w] option of the <literal>launchctl(1)</literal> load and unload subcommands. These subcommands no is changed with the [-w] option of the `launchctl(1)` load and unload subcommands. These subcommands no
longer modify the configuration file, so the value displayed in the configuration file is not necessarily longer modify the configuration file, so the value displayed in the configuration file is not necessarily
the value that <literal>launchctl(1)</literal> will apply. See <literal>launchctl(1)</literal> for more information. the value that `launchctl(1)` will apply. See `launchctl(1)` for more information.
Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria Please also be mindful that you should only use this key if the provided on-demand and KeepAlive criteria
are insufficient to describe the conditions under which your job needs to run. The cost to have a are insufficient to describe the conditions under which your job needs to run. The cost to have a
@ -35,7 +35,7 @@ with lib;
UserName = mkOption { UserName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -44,7 +44,7 @@ with lib;
GroupName = mkOption { GroupName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -54,7 +54,7 @@ with lib;
inetdCompatibility = mkOption { inetdCompatibility = mkOption {
default = null; default = null;
example = { Wait = true; }; example = { Wait = true; };
description = '' description = lib.mdDoc ''
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 {
@ -62,9 +62,9 @@ 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 = '' description = lib.mdDoc ''
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 <literal>accept(2)</literal> 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.
''; '';
}; };
@ -75,35 +75,35 @@ 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 = '' description = lib.mdDoc ''
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 <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
LimitLoadFromHosts = mkOption { LimitLoadFromHosts = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sysctl.conf(5)</literal> for this feature to work reliably. in `sysctl.conf(5)` for this feature to work reliably.
''; '';
}; };
LimitLoadToSessionType = mkOption { LimitLoadToSessionType = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
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</command>. with the -S flag to {command}`launchctl`.
''; '';
}; };
Program = mkOption { Program = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
This key maps to the first argument of <literal>execvp(3)</literal>. 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.
''; '';
@ -112,26 +112,26 @@ 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 = '' description = lib.mdDoc ''
This key maps to the second argument of <literal>execvp(3)</literal>. 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 <literal>execvp(3)</literal> very carefully! key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully!
''; '';
}; };
EnableGlobbing = mkOption { EnableGlobbing = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This flag causes launchd to use the <literal>glob(3)</literal> 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.
''; '';
}; };
EnableTransactions = mkOption { EnableTransactions = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This flag instructs launchd that the job promises to use <literal>vproc_transaction_begin(3)</literal> and This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
<literal>vproc_transaction_end(3)</literal> 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
send the SIGKILL signal. send the SIGKILL signal.
''; '';
@ -140,7 +140,7 @@ with lib;
OnDemand = mkOption { OnDemand = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -154,7 +154,7 @@ with lib;
SuccessfulExit = mkOption { SuccessfulExit = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -164,7 +164,7 @@ with lib;
NetworkState = mkOption { NetworkState = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -174,7 +174,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 = '' description = lib.mdDoc ''
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
@ -185,7 +185,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 = '' description = lib.mdDoc ''
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
@ -196,7 +196,7 @@ with lib;
Crashed = mkOption { Crashed = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -211,7 +211,7 @@ with lib;
}; };
})); }));
default = null; default = null;
description = '' description = lib.mdDoc ''
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
@ -226,7 +226,7 @@ with lib;
RunAtLoad = mkOption { RunAtLoad = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -235,23 +235,23 @@ with lib;
RootDirectory = mkOption { RootDirectory = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key is used to specify a directory to <literal>chroot(2)</literal> to before running the job. This optional key is used to specify a directory to `chroot(2)` to before running the job.
''; '';
}; };
WorkingDirectory = mkOption { WorkingDirectory = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key is used to specify a directory to <literal>chdir(2)</literal> to before running the job. This optional key is used to specify a directory to `chdir(2)` to before running the job.
''; '';
}; };
EnvironmentVariables = mkOption { EnvironmentVariables = mkOption {
type = types.nullOr (types.attrsOf types.str); type = types.nullOr (types.attrsOf types.str);
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -260,8 +260,8 @@ with lib;
Umask = mkOption { Umask = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies what value should be passed to <literal>umask(2)</literal> 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.
''; '';
}; };
@ -269,7 +269,7 @@ with lib;
TimeOut = mkOption { TimeOut = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -278,7 +278,7 @@ with lib;
ExitTimeOut = mkOption { ExitTimeOut = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -287,7 +287,7 @@ with lib;
ThrottleInterval = mkOption { ThrottleInterval = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -299,8 +299,8 @@ with lib;
InitGroups = mkOption { InitGroups = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies whether <literal>initgroups(3)</literal> 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.
''; '';
}; };
@ -308,7 +308,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 = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -316,7 +316,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 = '' description = lib.mdDoc ''
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.
''; '';
@ -325,7 +325,7 @@ with lib;
StartOnMount = mkOption { StartOnMount = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -333,7 +333,7 @@ with lib;
StartInterval = mkOption { StartInterval = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -343,9 +343,9 @@ with lib;
StartCalendarInterval = mkOption { StartCalendarInterval = mkOption {
default = null; default = null;
example = { Hour = 2; Minute = 30; }; example = { Hour = 2; Minute = 30; };
description = '' description = lib.mdDoc ''
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 <literal>crontab(5)</literal>. 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
up. If multiple intervals transpire before the computer is woken, those events will be coalesced into up. If multiple intervals transpire before the computer is woken, those events will be coalesced into
one event upon wake from sleep. one event upon wake from sleep.
@ -355,7 +355,7 @@ with lib;
Minute = mkOption { Minute = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The minute on which this job will be run. The minute on which this job will be run.
''; '';
}; };
@ -363,7 +363,7 @@ with lib;
Hour = mkOption { Hour = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The hour on which this job will be run. The hour on which this job will be run.
''; '';
}; };
@ -371,7 +371,7 @@ with lib;
Day = mkOption { Day = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The day on which this job will be run. The day on which this job will be run.
''; '';
}; };
@ -379,7 +379,7 @@ with lib;
Weekday = mkOption { Weekday = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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).
''; '';
}; };
@ -387,7 +387,7 @@ with lib;
Month = mkOption { Month = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The month on which this job will be run. The month on which this job will be run.
''; '';
}; };
@ -398,32 +398,32 @@ with lib;
StandardInPath = mkOption { StandardInPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
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
<literal>stdio(3)</literal>. `stdio(3)`.
''; '';
}; };
StandardOutPath = mkOption { StandardOutPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies what file should be used for data being sent to stdout when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`.
''; '';
}; };
StandardErrorPath = mkOption { StandardErrorPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies what file should be used for data being sent to stderr when using <literal>stdio(3)</literal>. This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`.
''; '';
}; };
Debug = mkOption { Debug = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -432,7 +432,7 @@ with lib;
WaitForDebugger = mkOption { WaitForDebugger = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -440,8 +440,8 @@ with lib;
SoftResourceLimits = mkOption { SoftResourceLimits = mkOption {
default = null; default = null;
description = '' description = lib.mdDoc ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -449,7 +449,7 @@ with lib;
Core = mkOption { Core = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The largest size (in bytes) core file that may be created. The largest size (in bytes) core file that may be created.
''; '';
}; };
@ -457,7 +457,7 @@ with lib;
CPU = mkOption { CPU = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -465,16 +465,16 @@ with lib;
Data = mkOption { Data = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
FileSize = mkOption { FileSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The largest size (in bytes) file that may be created. The largest size (in bytes) file that may be created.
''; '';
}; };
@ -482,7 +482,7 @@ with lib;
MemoryLock = mkOption { MemoryLock = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -490,27 +490,27 @@ with lib;
NumberOfFiles = mkOption { NumberOfFiles = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
NumberOfProcesses = mkOption { NumberOfProcesses = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sysctl(3)</literal> 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 <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
ResidentSetSize = mkOption { ResidentSetSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -520,7 +520,7 @@ with lib;
Stack = mkOption { Stack = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -532,8 +532,8 @@ with lib;
HardResourceLimits = mkOption { HardResourceLimits = mkOption {
default = null; default = null;
example = { NumberOfFiles = 4096; }; example = { NumberOfFiles = 4096; };
description = '' description = lib.mdDoc ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply: keys apply:
''; '';
type = types.nullOr (types.submodule { type = types.nullOr (types.submodule {
@ -541,7 +541,7 @@ with lib;
Core = mkOption { Core = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The largest size (in bytes) core file that may be created. The largest size (in bytes) core file that may be created.
''; '';
}; };
@ -549,7 +549,7 @@ with lib;
CPU = mkOption { CPU = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -557,16 +557,16 @@ with lib;
Data = mkOption { Data = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sbrk(2)</literal> system call. extend its break with the `sbrk(2)` system call.
''; '';
}; };
FileSize = mkOption { FileSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The largest size (in bytes) file that may be created. The largest size (in bytes) file that may be created.
''; '';
}; };
@ -574,35 +574,35 @@ with lib;
MemoryLock = mkOption { MemoryLock = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The maximum size (in bytes) which a process may lock into memory using the <literal>mlock(2)</literal> function. The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function.
''; '';
}; };
NumberOfFiles = mkOption { NumberOfFiles = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sysctl(3)</literal> kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits) will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the <literal>setrlimit(2)</literal> values. value in addition to the `setrlimit(2)` values.
''; '';
}; };
NumberOfProcesses = mkOption { NumberOfProcesses = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>sysctl(3)</literal> 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 <literal>setrlimit(2)</literal> values. (HardResourceLimits) value in addition to the `setrlimit(2)` values.
''; '';
}; };
ResidentSetSize = mkOption { ResidentSetSize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -612,7 +612,7 @@ with lib;
Stack = mkOption { Stack = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -624,7 +624,7 @@ with lib;
Nice = mkOption { Nice = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -660,7 +660,7 @@ with lib;
AbandonProcessGroup = mkOption { AbandonProcessGroup = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -669,7 +669,7 @@ with lib;
LowPriorityIO = mkOption { LowPriorityIO = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -678,7 +678,7 @@ with lib;
LaunchOnlyOnce = mkOption { LaunchOnlyOnce = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -687,7 +687,7 @@ with lib;
MachServices = mkOption { MachServices = mkOption {
default = null; default = null;
example = { "org.nixos.service" = { ResetAtClose = true; }; }; example = { "org.nixos.service" = { ResetAtClose = true; }; };
description = '' description = lib.mdDoc ''
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.
@ -700,7 +700,7 @@ with lib;
ResetAtClose = mkOption { ResetAtClose = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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()
@ -713,7 +713,7 @@ with lib;
HideUntilCheckIn = mkOption { HideUntilCheckIn = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -725,7 +725,7 @@ with lib;
LaunchEvents = mkOption { LaunchEvents = mkOption {
type = types.nullOr (types.attrs); type = types.nullOr (types.attrs);
default = null; default = null;
description = '' description = lib.mdDoc ''
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
@ -750,7 +750,7 @@ with lib;
ServiceIPC = mkOption { ServiceIPC = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies whether the job participates in advanced This optional key specifies whether the job participates in advanced
communication with launchd. The default is false. This flag is communication with launchd. The default is false. This flag is
incompatible with the inetdCompatibility key. incompatible with the inetdCompatibility key.
@ -760,7 +760,7 @@ with lib;
SessionCreate = mkOption { SessionCreate = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This key specifies that the job should be spawned into a new security This key specifies that the job should be spawned into a new security
audit session rather than the default session for the context is belongs audit session rather than the default session for the context is belongs
to. See auditon(2) for details. to. See auditon(2) for details.
@ -769,7 +769,7 @@ with lib;
Sockets = mkOption { Sockets = mkOption {
default = null; default = null;
description = '' description = lib.mdDoc ''
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
@ -779,14 +779,14 @@ with lib;
to be effectively equivalent, even though each file descriptor likely represents a different networking to be effectively equivalent, even though each file descriptor likely represents a different networking
protocol which conforms to the criteria specified in the job configuration file. protocol which conforms to the criteria specified in the job configuration file.
The parameters below are used as inputs to call <literal>getaddrinfo(3)</literal>. The parameters below are used as inputs to call `getaddrinfo(3)`.
''; '';
type = types.nullOr (types.attrsOf (types.submodule { type = types.nullOr (types.attrsOf (types.submodule {
options = { options = {
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 = '' description = lib.mdDoc ''
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.
''; '';
@ -795,8 +795,8 @@ with lib;
SockPassive = mkOption { SockPassive = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies whether <literal>listen(2)</literal> or <literal>connect(2)</literal> 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").
''; '';
}; };
@ -804,23 +804,23 @@ with lib;
SockNodeName = mkOption { SockNodeName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
SockServiceName = mkOption { SockServiceName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies the service on the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to. This optional key specifies the service on the node to `connect(2)` or `bind(2)` to.
''; '';
}; };
SockFamily = mkOption { SockFamily = mkOption {
type = types.nullOr (types.enum [ "IPv4" "IPv6" ]); type = types.nullOr (types.enum [ "IPv4" "IPv6" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
}; };
@ -828,8 +828,8 @@ with lib;
SockProtocol = mkOption { SockProtocol = mkOption {
type = types.nullOr (types.enum [ "TCP" ]); type = types.nullOr (types.enum [ "TCP" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key specifies the protocol to be passed to <literal>socket(2)</literal>. 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".
''; '';
}; };
@ -837,16 +837,16 @@ with lib;
SockPathName = mkOption { SockPathName = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
This optional key implies SockFamily is set to "Unix". It specifies the path to <literal>connect(2)</literal> or This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
<literal>bind(2)</literal> to. `bind(2)` to.
''; '';
}; };
SecureSocketWithKey = mkOption { SecureSocketWithKey = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
@ -856,7 +856,7 @@ with lib;
SockPathMode = mkOption { SockPathMode = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -865,18 +865,18 @@ with lib;
Bonjour = mkOption { Bonjour = mkOption {
type = types.nullOr (types.either types.bool (types.listOf types.str)); type = types.nullOr (types.either types.bool (types.listOf types.str));
default = null; default = null;
description = '' description = lib.mdDoc ''
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
<literal>mDNSResponder(8)</literal>. 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.
''; '';
}; };
MulticastGroup = mkOption { MulticastGroup = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
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 <literal>getaddrinfo(3)</literal> 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
family also be set, otherwise the results are undefined. family also be set, otherwise the results are undefined.
''; '';

View file

@ -16,7 +16,7 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether this file should be generated. Whether this file should be generated.
This option allows specific files to be disabled. This option allows specific files to be disabled.
''; '';
@ -25,7 +25,7 @@ in
text = mkOption { text = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = lib.mdDoc ''
Text of the file. Text of the file.
''; '';
}; };
@ -33,14 +33,14 @@ in
target = mkOption { target = mkOption {
type = types.str; type = types.str;
default = name; default = name;
description = '' description = lib.mdDoc ''
Name of symlink. Defaults to the attribute name. Name of symlink. Defaults to the attribute name.
''; '';
}; };
source = mkOption { source = mkOption {
type = types.path; type = types.path;
description = '' description = lib.mdDoc ''
Path of the source file. Path of the source file.
''; '';
}; };
@ -48,7 +48,7 @@ in
copy = mkOption { copy = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether this file should be copied instead of symlinking. Whether this file should be copied instead of symlinking.
''; '';
}; };

View file

@ -35,13 +35,13 @@ in
internal = true; internal = true;
default = []; default = [];
example = [ lib.maintainers.all ]; example = [ lib.maintainers.all ];
description = '' description = lib.mdDoc ''
List of maintainers of each module. This option should be defined at List of maintainers of each module. This option should be defined at
most once per module. most once per module.
NOTE: <literal>lib</literal> comes from Nixpkgs, which can go out of NOTE: `lib` comes from Nixpkgs, which can go out of
sync with nix-darwin. For this reason, use definitions like sync with nix-darwin. For this reason, use definitions like
<literal>maintainers.alice or "alice"</literal>. `maintainers.alice or "alice"`.
''; '';
}; };

View file

@ -18,7 +18,7 @@ in
ids.uids = lib.mkOption { ids.uids = lib.mkOption {
internal = true; internal = true;
description = '' description = lib.mdDoc ''
The user IDs used in NixOS. The user IDs used in NixOS.
''; '';
type = types.attrsOf types.int; type = types.attrsOf types.int;
@ -26,7 +26,7 @@ in
ids.gids = lib.mkOption { ids.gids = lib.mkOption {
internal = true; internal = true;
description = '' description = lib.mdDoc ''
The group IDs used in NixOS. The group IDs used in NixOS.
''; '';
type = types.attrsOf types.int; type = types.attrsOf types.int;

View file

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

View file

@ -74,11 +74,11 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = [ "Wi-Fi" "Ethernet Adaptor" "Thunderbolt Ethernet" ]; example = [ "Wi-Fi" "Ethernet Adaptor" "Thunderbolt Ethernet" ];
description = '' description = lib.mdDoc ''
List of networkservices that should be configured. List of networkservices that should be configured.
To display a list of all the network services on the server's To display a list of all the network services on the server's
hardware ports, use <command>networksetup -listallnetworkservices</command>. hardware ports, use {command}`networksetup -listallnetworkservices`.
''; '';
}; };
@ -86,13 +86,13 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
example = [ "8.8.8.8" "8.8.4.4" "2001:4860:4860::8888" "2001:4860:4860::8844" ]; example = [ "8.8.8.8" "8.8.4.4" "2001:4860:4860::8888" "2001:4860:4860::8844" ];
description = "The list of dns servers used when resolving domain names."; description = lib.mdDoc "The list of dns servers used when resolving domain names.";
}; };
networking.search = mkOption { networking.search = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = "The list of search paths used when resolving domain names."; description = lib.mdDoc "The list of search paths used when resolving domain names.";
}; };
}; };

View file

@ -164,7 +164,7 @@ in
type = types.package; type = types.package;
default = pkgs.nix; default = pkgs.nix;
defaultText = literalExpression "pkgs.nix"; defaultText = literalExpression "pkgs.nix";
description = '' description = lib.mdDoc ''
This option specifies the Nix package instance to use throughout the system. This option specifies the Nix package instance to use throughout the system.
''; '';
}; };
@ -173,7 +173,7 @@ in
useDaemon = mkOption { useDaemon = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
If set, Nix will use the daemon to perform operations. If set, Nix will use the daemon to perform operations.
Use this instead of services.nix-daemon.enable if you don't wan't the Use this instead of services.nix-daemon.enable if you don't wan't the
daemon service to be managed for you. daemon service to be managed for you.
@ -183,9 +183,9 @@ in
distributedBuilds = mkOption { distributedBuilds = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to distribute builds to the machines listed in Whether to distribute builds to the machines listed in
<option>nix.buildMachines</option>. {option}`nix.buildMachines`.
NOTE: This requires services.nix-daemon.enable for a NOTE: This requires services.nix-daemon.enable for a
multi-user install. multi-user install.
@ -196,13 +196,13 @@ in
daemonProcessType = mkOption { daemonProcessType = mkOption {
type = types.enum [ "Background" "Standard" "Adaptive" "Interactive" ]; type = types.enum [ "Background" "Standard" "Adaptive" "Interactive" ];
default = "Standard"; default = "Standard";
description = '' description = lib.mdDoc ''
Nix daemon process resource limits class. These limits propagate to Nix daemon process resource limits class. These limits propagate to
build processes. <literal>Standard</literal> is the default process type build processes. `Standard` is the default process type
and will apply light resource limits, throttling its CPU usage and I/O and will apply light resource limits, throttling its CPU usage and I/O
bandwidth. bandwidth.
See <command>man launchd.plist</command> for explanation of other See {command}`man launchd.plist` for explanation of other
process types. process types.
''; '';
}; };
@ -211,7 +211,7 @@ in
daemonIOLowPriority = mkOption { daemonIOLowPriority = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether the Nix daemon process should considered to be low priority when Whether the Nix daemon process should considered to be low priority when
doing file system I/O. doing file system I/O.
''; '';
@ -223,7 +223,7 @@ in
hostName = mkOption { hostName = mkOption {
type = types.str; type = types.str;
example = "nixbuilder.example.org"; example = "nixbuilder.example.org";
description = '' description = lib.mdDoc ''
The hostname of the build machine. The hostname of the build machine.
''; '';
}; };
@ -244,10 +244,10 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "x86_64-linux"; example = "x86_64-linux";
description = '' description = lib.mdDoc ''
The system type the build machine can execute derivations on. The system type the build machine can execute derivations on.
Either this attribute or <varname>systems</varname> must be Either this attribute or {var}`systems` must be
present, where <varname>system</varname> takes precedence if present, where {var}`system` takes precedence if
both are set. both are set.
''; '';
}; };
@ -255,10 +255,10 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "x86_64-linux" "aarch64-linux" ]; example = [ "x86_64-linux" "aarch64-linux" ];
description = '' description = lib.mdDoc ''
The system types the build machine can execute derivations on. The system types the build machine can execute derivations on.
Either this attribute or <varname>system</varname> must be Either this attribute or {var}`system` must be
present, where <varname>system</varname> takes precedence if present, where {var}`system` takes precedence if
both are set. both are set.
''; '';
}; };
@ -266,11 +266,11 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "builder"; example = "builder";
description = '' description = lib.mdDoc ''
The username to log in as on the remote host. This user must be The username to log in as on the remote host. This user must be
able to log in and run nix commands non-interactively. It must able to log in and run nix commands non-interactively. It must
also be privileged to build derivations, so must be included in also be privileged to build derivations, so must be included in
<option>nix.settings.trusted-users</option>. {option}`nix.settings.trusted-users`.
''; '';
}; };
sshKey = mkOption { sshKey = mkOption {
@ -290,7 +290,7 @@ in
maxJobs = mkOption { maxJobs = mkOption {
type = types.int; type = types.int;
default = 1; default = 1;
description = '' description = lib.mdDoc ''
The number of concurrent jobs the build machine supports. The The number of concurrent jobs the build machine supports. The
build machine will enforce its own limits, but this allows hydra build machine will enforce its own limits, but this allows hydra
to schedule better since there is no work-stealing between build to schedule better since there is no work-stealing between build
@ -300,7 +300,7 @@ in
speedFactor = mkOption { speedFactor = mkOption {
type = types.int; type = types.int;
default = 1; default = 1;
description = '' description = lib.mdDoc ''
The relative speed of this builder. This is an arbitrary integer The relative speed of this builder. This is an arbitrary integer
that indicates the speed of this builder, relative to other that indicates the speed of this builder, relative to other
builders. Higher is faster. builders. Higher is faster.
@ -310,18 +310,18 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "big-parallel" ]; example = [ "big-parallel" ];
description = '' description = lib.mdDoc ''
A list of features mandatory for this builder. The builder will A list of features mandatory for this builder. The builder will
be ignored for derivations that don't require all features in be ignored for derivations that don't require all features in
this list. All mandatory features are automatically included in this list. All mandatory features are automatically included in
<varname>supportedFeatures</varname>. {var}`supportedFeatures`.
''; '';
}; };
supportedFeatures = mkOption { supportedFeatures = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "kvm" "big-parallel" ]; example = [ "kvm" "big-parallel" ];
description = '' description = lib.mdDoc ''
A list of features supported by this builder. The builder will A list of features supported by this builder. The builder will
be ignored for derivations that require features not in this be ignored for derivations that require features not in this
list. list.
@ -330,18 +330,18 @@ in
publicHostKey = mkOption { publicHostKey = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
The (base64-encoded) public host key of this builder. The field The (base64-encoded) public host key of this builder. The field
is calculated via <command>base64 -w0 /etc/ssh/ssh_host_type_key.pub</command>. is calculated via {command}`base64 -w0 /etc/ssh/ssh_host_type_key.pub`.
If null, SSH will use its regular known-hosts file when connecting. If null, SSH will use its regular known-hosts file when connecting.
''; '';
}; };
}; };
}); });
default = [ ]; default = [ ];
description = '' description = lib.mdDoc ''
This option lists the machines to be used if distributed builds are This option lists the machines to be used if distributed builds are
enabled (see <option>nix.distributedBuilds</option>). enabled (see {option}`nix.distributedBuilds`).
Nix will perform derivations on those machines via SSH by copying the Nix will perform derivations on those machines via SSH by copying the
inputs to the Nix store on the remote machine, starting the build, inputs to the Nix store on the remote machine, starting the build,
then copying the output back to the local Nix store. then copying the output back to the local Nix store.
@ -353,22 +353,22 @@ in
type = types.attrs; type = types.attrs;
internal = true; internal = true;
default = { }; default = { };
description = "Environment variables used by Nix."; description = lib.mdDoc "Environment variables used by Nix.";
}; };
# Not in NixOS module # Not in NixOS module
configureBuildUsers = mkOption { configureBuildUsers = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Enable configuration for nixbld group and users. Enable configuration for nixbld group and users.
''; '';
}; };
nrBuildUsers = mkOption { nrBuildUsers = mkOption {
type = types.int; type = types.int;
description = '' description = lib.mdDoc ''
Number of <literal>nixbld</literal> user accounts created to Number of `nixbld` user accounts created to
perform secure concurrent builds. If you receive an error perform secure concurrent builds. If you receive an error
message saying that all build users are currently in use, message saying that all build users are currently in use,
you should increase this value. you should increase this value.
@ -378,9 +378,9 @@ in
readOnlyStore = mkOption { readOnlyStore = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
If set, Nix will enforce the immutability of the Nix store If set, Nix will enforce the immutability of the Nix store
by making <filename>/nix/store</filename> a read-only bind by making {file}`/nix/store` a read-only bind
mount. Nix will automatically make the store writable when mount. Nix will automatically make the store writable when
needed. needed.
''; '';
@ -394,10 +394,10 @@ in
{ darwin-config = "${config.environment.darwinConfig}"; } { darwin-config = "${config.environment.darwinConfig}"; }
"/nix/var/nix/profiles/per-user/root/channels" "/nix/var/nix/profiles/per-user/root/channels"
]; ];
description = '' description = lib.mdDoc ''
The default Nix expression search path, used by the Nix The default Nix expression search path, used by the Nix
evaluator to look up paths enclosed in angle brackets evaluator to look up paths enclosed in angle brackets
(e.g. <literal>&lt;nixpkgs&gt;</literal>). (e.g. `<nixpkgs>`).
Named entries can be specified using an attribute set, if an Named entries can be specified using an attribute set, if an
entry is configured multiple times the value with the lowest entry is configured multiple times the value with the lowest
@ -408,7 +408,7 @@ in
checkConfig = mkOption { checkConfig = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
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.
''; '';
@ -430,28 +430,28 @@ in
from = mkOption { from = mkOption {
type = referenceAttrs; type = referenceAttrs;
example = { type = "indirect"; id = "nixpkgs"; }; example = { type = "indirect"; id = "nixpkgs"; };
description = "The flake reference to be rewritten."; description = lib.mdDoc "The flake reference to be rewritten.";
}; };
to = mkOption { to = mkOption {
type = referenceAttrs; type = referenceAttrs;
example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; }; example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
description = "The flake reference <option>from</option> is rewritten to."; description = lib.mdDoc "The flake reference {option}`from` is rewritten to.";
}; };
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 = '' description = lib.mdDoc ''
The flake input <option>from</option> is rewritten to. The flake input {option}`from` is rewritten to.
''; '';
}; };
exact = mkOption { exact = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether the <option>from</option> reference needs to match exactly. If set, Whether the {option}`from` reference needs to match exactly. If set,
a <option>from</option> reference like <literal>nixpkgs</literal> does not a {option}`from` reference like `nixpkgs` does not
match with a reference like <literal>nixpkgs/nixos-20.03</literal>. match with a reference like `nixpkgs/nixos-20.03`.
''; '';
}; };
}; };
@ -469,7 +469,7 @@ in
} }
)); ));
default = { }; default = { };
description = '' description = lib.mdDoc ''
A system-wide flake registry. A system-wide flake registry.
''; '';
}; };
@ -481,7 +481,7 @@ in
keep-outputs = true keep-outputs = true
keep-derivations = true keep-derivations = true
''; '';
description = "Additional text appended to <filename>nix.conf</filename>."; description = lib.mdDoc "Additional text appended to {file}`nix.conf`.";
}; };
settings = mkOption { settings = mkOption {
@ -493,7 +493,7 @@ in
type = types.either types.int (types.enum [ "auto" ]); type = types.either types.int (types.enum [ "auto" ]);
default = "auto"; default = "auto";
example = 64; example = 64;
description = '' description = lib.mdDoc ''
This option defines the maximum number of jobs that Nix will try to This option defines the maximum number of jobs that Nix will try to
build in parallel. The default is auto, which means it will use all build in parallel. The default is auto, which means it will use all
available logical cores. It is recommend to set it to the total available logical cores. It is recommend to set it to the total
@ -506,7 +506,7 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = '' description = lib.mdDoc ''
If set to true, Nix automatically detects files in the store that have If set to true, Nix automatically detects files in the store that have
identical contents, and replaces them with hard links to a single copy. identical contents, and replaces them with hard links to a single copy.
This saves disk space. If set to false (the default), you can still run This saves disk space. If set to false (the default), you can still run
@ -518,7 +518,7 @@ in
type = types.int; type = types.int;
default = 0; default = 0;
example = 64; example = 64;
description = '' description = lib.mdDoc ''
This option defines the maximum number of concurrent tasks during This option defines the maximum number of concurrent tasks during
one build. It affects, e.g., -j option for make. one build. It affects, e.g., -j option for make.
The special value 0 means that the builder should use all The special value 0 means that the builder should use all
@ -531,7 +531,7 @@ in
sandbox = mkOption { sandbox = mkOption {
type = types.either types.bool (types.enum [ "relaxed" ]); type = types.either types.bool (types.enum [ "relaxed" ]);
default = false; default = false;
description = '' description = lib.mdDoc ''
If set, Nix will perform builds in a sandboxed environment that it If set, Nix will perform builds in a sandboxed environment that it
will set up automatically for each build. This prevents impurities will set up automatically for each build. This prevents impurities
in builds by disallowing access to dependencies outside of the Nix in builds by disallowing access to dependencies outside of the Nix
@ -545,7 +545,7 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "/dev" "/proc" ]; example = [ "/dev" "/proc" ];
description = '' description = lib.mdDoc ''
Directories from the host filesystem to be included Directories from the host filesystem to be included
in the sandbox. in the sandbox.
''; '';
@ -553,7 +553,7 @@ in
substituters = mkOption { substituters = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = '' description = lib.mdDoc ''
List of binary cache URLs used to obtain pre-built binaries List of binary cache URLs used to obtain pre-built binaries
of Nix packages. of Nix packages.
@ -565,21 +565,21 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "https://hydra.nixos.org/" ]; example = [ "https://hydra.nixos.org/" ];
description = '' description = lib.mdDoc ''
List of binary cache URLs that non-root users can use (in List of binary cache URLs that non-root users can use (in
addition to those specified using addition to those specified using
<option>nix.settings.substituters</option>) by passing {option}`nix.settings.substituters`) by passing
<literal>--option binary-caches</literal> to Nix commands. `--option binary-caches` to Nix commands.
''; '';
}; };
require-sigs = mkOption { require-sigs = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
If enabled (the default), Nix will only download binaries from binary caches if If enabled (the default), Nix will only download binaries from binary caches if
they are cryptographically signed with any of the keys listed in they are cryptographically signed with any of the keys listed in
<option>nix.settings.trusted-public-keys</option>. If disabled, signatures are neither {option}`nix.settings.trusted-public-keys`. If disabled, signatures are neither
required nor checked, so it's strongly recommended that you use only required nor checked, so it's strongly recommended that you use only
trustworthy caches and https to prevent man-in-the-middle attacks. trustworthy caches and https to prevent man-in-the-middle attacks.
''; '';
@ -588,13 +588,13 @@ in
trusted-public-keys = mkOption { trusted-public-keys = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]; example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
description = '' description = lib.mdDoc ''
List of public keys used to sign binary caches. If List of public keys used to sign binary caches. If
<option>nix.settings.trusted-public-keys</option> is enabled, {option}`nix.settings.trusted-public-keys` is enabled,
then Nix will use a binary from a binary cache if and only then Nix will use a binary from a binary cache if and only
if it is signed by <emphasis>any</emphasis> of the keys if it is signed by *any* of the keys
listed here. By default, only the key for listed here. By default, only the key for
<literal>cache.nixos.org</literal> is included. `cache.nixos.org` is included.
''; '';
}; };
@ -602,13 +602,13 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ "root" ]; default = [ "root" ];
example = [ "root" "alice" "@admin" ]; example = [ "root" "alice" "@admin" ];
description = '' description = lib.mdDoc ''
A list of names of users that have additional rights when A list of names of users that have additional rights when
connecting to the Nix daemon, such as the ability to specify connecting to the Nix daemon, such as the ability to specify
additional binary caches, or to import unsigned NARs. You additional binary caches, or to import unsigned NARs. You
can also specify groups by prefixing them with can also specify groups by prefixing them with
<literal>@</literal>; for instance, `@`; for instance,
<literal>@admin</literal> means all users in the wheel `@admin` means all users in the wheel
group. group.
''; '';
}; };
@ -632,27 +632,27 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ "*" ]; default = [ "*" ];
example = [ "@admin" "@builders" "alice" "bob" ]; example = [ "@admin" "@builders" "alice" "bob" ];
description = '' description = lib.mdDoc ''
A list of names of users (separated by whitespace) that are A list of names of users (separated by whitespace) that are
allowed to connect to the Nix daemon. As with allowed to connect to the Nix daemon. As with
<option>nix.settings.trusted-users</option>, you can specify groups by {option}`nix.settings.trusted-users`, you can specify groups by
prefixing them with <literal>@</literal>. Also, you can prefixing them with `@`. Also, you can
allow all users by specifying <literal>*</literal>. The allow all users by specifying `*`. The
default is <literal>*</literal>. Note that trusted users are default is `*`. Note that trusted users are
always allowed to connect. always allowed to connect.
''; '';
}; };
}; };
}; };
default = { }; default = { };
description = '' description = lib.mdDoc ''
Configuration for Nix, see Configuration for Nix, see
<link xlink:href="https://nixos.org/manual/nix/stable/#sec-conf-file"/> <https://nixos.org/manual/nix/stable/#sec-conf-file>
for avalaible options. for avalaible 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.
Nix configurations defined under <option>nix.*</option> will be translated and applied to this Nix configurations defined under {option}`nix.*` will be translated and applied to this
option. In addition, configuration specified in <option>nix.extraOptions</option> which will be appended option. In addition, configuration specified in {option}`nix.extraOptions` which will be appended
verbatim to the resulting config file. verbatim to the resulting config file.
''; '';
}; };

View file

@ -61,13 +61,13 @@ in
} }
''; '';
type = configType; type = configType;
description = '' description = lib.mdDoc ''
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, and to override packages package configuration options, and to override packages
globally through the <varname>packageOverrides</varname> globally through the {var}`packageOverrides`
option. The latter is a function that takes as an argument option. The latter is a function that takes as an argument
the <emphasis>original</emphasis> Nixpkgs, and must evaluate the *original* Nixpkgs, and must evaluate
to a set of new or overridden packages. to a set of new or overridden packages.
''; '';
}; };
@ -85,11 +85,11 @@ in
}; };
) ] ) ]
''; '';
description = '' description = lib.mdDoc ''
List of overlays to use with the Nix Packages collection. List of overlays to use with the Nix Packages collection.
(For details, see the Nixpkgs documentation.) It allows (For details, see the Nixpkgs documentation.) It allows
you to override packages globally. This is a function that you to override packages globally. This is a function that
takes as an argument the <emphasis>original</emphasis> Nixpkgs. takes as an argument the *original* Nixpkgs.
The first argument should be used for finding dependencies, and The first argument should be used for finding dependencies, and
the second should be used for overriding recipes. the second should be used for overriding recipes.
''; '';
@ -98,7 +98,7 @@ in
nixpkgs.system = mkOption { nixpkgs.system = mkOption {
type = types.str; type = types.str;
example = "x86_64-darwin"; example = "x86_64-darwin";
description = '' description = lib.mdDoc ''
Specifies the Nix platform type for which NixOS should be built. Specifies the Nix platform type for which NixOS should be built.
If unset, it defaults to the platform type of your host system. If unset, it defaults to the platform type of your host system.
Specifying this option is useful when doing distributed Specifying this option is useful when doing distributed

View file

@ -12,19 +12,19 @@ in
programs.bash.enable = mkOption { programs.bash.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to configure bash as an interactive shell."; description = lib.mdDoc "Whether to configure bash as an interactive shell.";
}; };
programs.bash.interactiveShellInit = mkOption { programs.bash.interactiveShellInit = mkOption {
default = ""; default = "";
description = "Shell script code called during interactive bash shell initialisation."; description = lib.mdDoc "Shell script code called during interactive bash shell initialisation.";
type = types.lines; type = types.lines;
}; };
programs.bash.enableCompletion = mkOption { programs.bash.enableCompletion = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Enable bash completion for all interactive bash shells. Enable bash completion for all interactive bash shells.
NOTE. This doesn't work with bash 3.2, which is the default on macOS. NOTE. This doesn't work with bash 3.2, which is the default on macOS.

View file

@ -51,7 +51,7 @@ in
enable = mkOption { enable = mkOption {
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to configure fish as an interactive shell. Whether to configure fish as an interactive shell.
''; '';
type = types.bool; type = types.bool;
@ -60,15 +60,15 @@ in
useBabelfish = mkOption { useBabelfish = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
If enabled, the configured environment will be translated to native fish using <link xlink:href="https://github.com/bouk/babelfish">babelfish</link>. If enabled, the configured environment will be translated to native fish using [babelfish](https://github.com/bouk/babelfish).
Otherwise, <link xlink:href="https://github.com/oh-my-fish/plugin-foreign-env">foreign-env</link> will be used. Otherwise, [foreign-env](https://github.com/oh-my-fish/plugin-foreign-env) will be used.
''; '';
}; };
babelfishPackage = mkOption { babelfishPackage = mkOption {
type = types.package; type = types.package;
description = '' description = lib.mdDoc ''
The babelfish package to use when useBabelfish is The babelfish package to use when useBabelfish is
set to true. set to true.
''; '';
@ -77,7 +77,7 @@ in
vendor.config.enable = mkOption { vendor.config.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether fish should source configuration snippets provided by other packages. Whether fish should source configuration snippets provided by other packages.
''; '';
}; };
@ -85,7 +85,7 @@ in
vendor.completions.enable = mkOption { vendor.completions.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether fish should use completion files provided by other packages. Whether fish should use completion files provided by other packages.
''; '';
}; };
@ -93,15 +93,15 @@ in
vendor.functions.enable = mkOption { vendor.functions.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether fish should autoload fish functions provided by other packages. Whether fish should autoload fish functions provided by other packages.
''; '';
}; };
shellAliases = mkOption { shellAliases = mkOption {
default = config.environment.shellAliases; default = config.environment.shellAliases;
description = '' description = lib.mdDoc ''
Set of aliases for fish shell. See <option>environment.shellAliases</option> Set of aliases for fish shell. See {option}`environment.shellAliases`
for an option format description. for an option format description.
''; '';
type = types.attrs; type = types.attrs;
@ -109,7 +109,7 @@ in
shellInit = mkOption { shellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during fish shell initialisation. Shell script code called during fish shell initialisation.
''; '';
type = types.lines; type = types.lines;
@ -117,7 +117,7 @@ in
loginShellInit = mkOption { loginShellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during fish login shell initialisation. Shell script code called during fish login shell initialisation.
''; '';
type = types.lines; type = types.lines;
@ -125,7 +125,7 @@ in
interactiveShellInit = mkOption { interactiveShellInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code called during interactive fish shell initialisation. Shell script code called during interactive fish shell initialisation.
''; '';
type = types.lines; type = types.lines;
@ -133,7 +133,7 @@ in
promptInit = mkOption { promptInit = mkOption {
default = ""; default = "";
description = '' description = lib.mdDoc ''
Shell script code used to initialise fish prompt. Shell script code used to initialise fish prompt.
''; '';
type = types.lines; type = types.lines;

View file

@ -13,7 +13,7 @@ in
agent.enable = mkOption { agent.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Enables GnuPG agent for every user session. Enables GnuPG agent for every user session.
''; '';
}; };
@ -21,7 +21,7 @@ in
agent.enableSSHSupport = mkOption { agent.enableSSHSupport = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK Enable SSH agent support in GnuPG agent. Also sets SSH_AUTH_SOCK
environment variable correctly. environment variable correctly.
''; '';

View file

@ -11,7 +11,7 @@ in
programs.info.enable = mkOption { programs.info.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to enable info pages and the <command>info</command> command."; description = lib.mdDoc "Whether to enable info pages and the {command}`info` command.";
}; };
}; };

View file

@ -8,9 +8,9 @@ with lib;
programs.man.enable = mkOption { programs.man.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = '' description = lib.mdDoc ''
Whether to enable manual pages and the <command>man</command> command. Whether to enable manual pages and the {command}`man` command.
This also includes "man" outputs of all <literal>systemPackages</literal>. This also includes "man" outputs of all `systemPackages`.
''; '';
}; };

View file

@ -11,14 +11,14 @@ in
programs.nix-index.enable = mkOption { programs.nix-index.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable nix-index and its command-not-found helper."; description = lib.mdDoc "Whether to enable nix-index and its command-not-found helper.";
}; };
programs.nix-index.package = mkOption { programs.nix-index.package = mkOption {
type = types.package; type = types.package;
default = pkgs.nix-index; default = pkgs.nix-index;
defaultText = "pkgs.nix-index"; defaultText = "pkgs.nix-index";
description = "This option specifies the nix-index package to use."; description = lib.mdDoc "This option specifies the nix-index package to use.";
}; };
}; };

View file

@ -14,7 +14,7 @@ let
hostNames = mkOption { hostNames = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = lib.mdDoc ''
A list of host names and/or IP numbers used for accessing A list of host names and/or IP numbers used for accessing
the host's ssh service. the host's ssh service.
''; '';
@ -23,9 +23,9 @@ let
default = null; default = null;
type = types.nullOr types.str; type = types.nullOr types.str;
example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg=="; example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg==";
description = '' description = lib.mdDoc ''
The public key data for the host. You can fetch a public key The public key data for the host. You can fetch a public key
from a running SSH server with the <command>ssh-keyscan</command> from a running SSH server with the {command}`ssh-keyscan`
command. The public key should not include any host names, only command. The public key should not include any host names, only
the key type and the key itself. the key type and the key itself.
''; '';
@ -33,13 +33,13 @@ let
publicKeyFile = mkOption { publicKeyFile = mkOption {
default = null; default = null;
type = types.nullOr types.path; type = types.nullOr types.path;
description = '' description = lib.mdDoc ''
The path to the public key file for the host. The public The path to the public key file for the host. The public
key file is read at build time and saved in the Nix store. key file is read at build time and saved in the Nix store.
You can fetch a public key file from a running SSH server You can fetch a public key file from a running SSH server
with the <command>ssh-keyscan</command> command. The content with the {command}`ssh-keyscan` command. The content
of the file should follow the same format as described for of the file should follow the same format as described for
the <literal>publicKey</literal> option. the `publicKey` option.
''; '';
}; };
}; };
@ -54,13 +54,13 @@ let
keys = mkOption { keys = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = lib.mdDoc ''
A list of verbatim OpenSSH public keys that should be added to the A list of verbatim OpenSSH public keys that should be added to the
user's authorized keys. The keys are added to a file that the SSH user's authorized keys. The keys are added to a file that the SSH
daemon reads in addition to the the user's authorized_keys file. daemon reads in addition to the the user's authorized_keys file.
You can combine the <literal>keys</literal> and You can combine the `keys` and
<literal>keyFiles</literal> options. `keyFiles` options.
Warning: If you are using <literal>NixOps</literal> then don't use this Warning: If you are using `NixOps` then don't use this
option since it will replace the key required for deployment via ssh. option since it will replace the key required for deployment via ssh.
''; '';
}; };
@ -68,12 +68,12 @@ let
keyFiles = mkOption { keyFiles = mkOption {
type = types.listOf types.path; type = types.listOf types.path;
default = []; default = [];
description = '' description = lib.mdDoc ''
A list of files each containing one OpenSSH public key that should be A list of files each containing one OpenSSH public key that should be
added to the user's authorized keys. The contents of the files are added to the user's authorized keys. The contents of the files are
read at build time and added to a file that the SSH daemon reads in read at build time and added to a file that the SSH daemon reads in
addition to the the user's authorized_keys file. You can combine the addition to the the user's authorized_keys file. You can combine the
<literal>keyFiles</literal> and <literal>keys</literal> options. `keyFiles` and `keys` options.
''; '';
}; };
}; };
@ -122,7 +122,7 @@ in
programs.ssh.knownHosts = mkOption { programs.ssh.knownHosts = mkOption {
default = {}; default = {};
type = types.attrsOf (types.submodule host); type = types.attrsOf (types.submodule host);
description = '' description = lib.mdDoc ''
The set of system-wide known SSH hosts. The set of system-wide known SSH hosts.
''; '';
example = literalExpression '' example = literalExpression ''

View file

@ -46,47 +46,47 @@ in
programs.tmux.enable = mkOption { programs.tmux.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to configure tmux."; description = lib.mdDoc "Whether to configure tmux.";
}; };
programs.tmux.enableSensible = mkOption { programs.tmux.enableSensible = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Enable sensible configuration options for tmux."; description = lib.mdDoc "Enable sensible configuration options for tmux.";
}; };
programs.tmux.enableMouse = mkOption { programs.tmux.enableMouse = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Enable mouse support for tmux."; description = lib.mdDoc "Enable mouse support for tmux.";
}; };
programs.tmux.enableFzf = mkOption { programs.tmux.enableFzf = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Enable fzf keybindings for selecting tmux sessions and panes."; description = lib.mdDoc "Enable fzf keybindings for selecting tmux sessions and panes.";
}; };
programs.tmux.enableVim = mkOption { programs.tmux.enableVim = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Enable vim style keybindings for copy mode, and navigation of tmux panes."; description = lib.mdDoc "Enable vim style keybindings for copy mode, and navigation of tmux panes.";
}; };
programs.tmux.iTerm2 = mkOption { programs.tmux.iTerm2 = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Cater to iTerm2 and its tmux integration, as appropriate."; description = lib.mdDoc "Cater to iTerm2 and its tmux integration, as appropriate.";
}; };
programs.tmux.defaultCommand = mkOption { programs.tmux.defaultCommand = mkOption {
type = types.either types.str types.package; type = types.either types.str types.package;
description = "The default command to use for tmux panes."; description = lib.mdDoc "The default command to use for tmux panes.";
}; };
programs.tmux.tmuxOptions = mkOption { programs.tmux.tmuxOptions = mkOption {
@ -98,7 +98,7 @@ in
programs.tmux.extraConfig = mkOption { programs.tmux.extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Extra configuration to add to <filename>tmux.conf</filename>."; description = lib.mdDoc "Extra configuration to add to {file}`tmux.conf`.";
}; };
}; };

View file

@ -18,14 +18,14 @@ in
programs.vim.enable = mkOption { programs.vim.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to configure vim."; description = lib.mdDoc "Whether to configure vim.";
}; };
programs.vim.enableSensible = mkOption { programs.vim.enableSensible = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Enable sensible configuration options for vim."; description = lib.mdDoc "Enable sensible configuration options for vim.";
}; };
programs.vim.extraKnownPlugins = mkOption { programs.vim.extraKnownPlugins = mkOption {
@ -46,14 +46,14 @@ in
}; };
} }
''; '';
description = "Custom plugin declarations to add to VAM's knownPlugins."; description = lib.mdDoc "Custom plugin declarations to add to VAM's knownPlugins.";
}; };
programs.vim.plugins = mkOption { programs.vim.plugins = mkOption {
type = types.listOf types.attrs; type = types.listOf types.attrs;
default = []; default = [];
example = [ { names = [ "surround" "vim-nix" ]; } ]; example = [ { names = [ "surround" "vim-nix" ]; } ];
description = "VAM plugin dictionaries to use for vim_configurable."; description = lib.mdDoc "VAM plugin dictionaries to use for vim_configurable.";
}; };
programs.vim.package = mkOption { programs.vim.package = mkOption {
@ -70,7 +70,7 @@ in
programs.vim.vimConfig = mkOption { programs.vim.vimConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Extra vimrcConfig to use for vim_configurable."; description = lib.mdDoc "Extra vimrcConfig to use for vim_configurable.";
}; };
}; };

View file

@ -18,13 +18,13 @@ in
programs.zsh.enable = mkOption { programs.zsh.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to configure zsh as an interactive shell."; description = lib.mdDoc "Whether to configure zsh as an interactive shell.";
}; };
programs.zsh.variables = mkOption { programs.zsh.variables = mkOption {
type = types.attrsOf (types.either types.str (types.listOf types.str)); type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {}; default = {};
description = '' description = lib.mdDoc ''
A set of environment variables used in the global environment. A set of environment variables used in the global environment.
These variables will be set on shell initialisation. These variables will be set on shell initialisation.
The value of each variable can be either a string or a list of The value of each variable can be either a string or a list of
@ -37,61 +37,61 @@ in
programs.zsh.shellInit = mkOption { programs.zsh.shellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Shell script code called during zsh shell initialisation."; description = lib.mdDoc "Shell script code called during zsh shell initialisation.";
}; };
programs.zsh.loginShellInit = mkOption { programs.zsh.loginShellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Shell script code called during zsh login shell initialisation."; description = lib.mdDoc "Shell script code called during zsh login shell initialisation.";
}; };
programs.zsh.interactiveShellInit = mkOption { programs.zsh.interactiveShellInit = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Shell script code called during interactive zsh shell initialisation."; description = lib.mdDoc "Shell script code called during interactive zsh shell initialisation.";
}; };
programs.zsh.promptInit = mkOption { programs.zsh.promptInit = mkOption {
type = types.lines; type = types.lines;
default = "autoload -U promptinit && promptinit && prompt walters"; default = "autoload -U promptinit && promptinit && prompt walters";
description = "Shell script code used to initialise the zsh prompt."; description = lib.mdDoc "Shell script code used to initialise the zsh prompt.";
}; };
programs.zsh.enableCompletion = mkOption { programs.zsh.enableCompletion = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Enable zsh completion for all interactive zsh shells."; description = lib.mdDoc "Enable zsh completion for all interactive zsh shells.";
}; };
programs.zsh.enableBashCompletion = mkOption { programs.zsh.enableBashCompletion = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Enable bash completion for all interactive zsh shells."; description = lib.mdDoc "Enable bash completion for all interactive zsh shells.";
}; };
programs.zsh.enableFzfCompletion = mkOption { programs.zsh.enableFzfCompletion = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable fzf completion."; description = lib.mdDoc "Enable fzf completion.";
}; };
programs.zsh.enableFzfGit = mkOption { programs.zsh.enableFzfGit = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable fzf keybindings for C-g git browsing."; description = lib.mdDoc "Enable fzf keybindings for C-g git browsing.";
}; };
programs.zsh.enableFzfHistory = mkOption { programs.zsh.enableFzfHistory = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable fzf keybinding for Ctrl-r history search."; description = lib.mdDoc "Enable fzf keybinding for Ctrl-r history search.";
}; };
programs.zsh.enableSyntaxHighlighting = mkOption { programs.zsh.enableSyntaxHighlighting = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Enable zsh-syntax-highlighting."; description = lib.mdDoc "Enable zsh-syntax-highlighting.";
}; };
}; };

View file

@ -25,12 +25,12 @@ in
type = types.listOf types.path; type = types.listOf types.path;
default = []; default = [];
example = literalExpression "[ \"\${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\" ]"; example = literalExpression "[ \"\${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\" ]";
description = '' description = lib.mdDoc ''
A list of files containing trusted root certificates in PEM A list of files containing trusted root certificates in PEM
format. These are concatenated to form format. These are concatenated to form
<filename>/etc/ssl/certs/ca-certificates.crt</filename>, which is {file}`/etc/ssl/certs/ca-certificates.crt`, which is
used by many programs that use OpenSSL, such as used by many programs that use OpenSSL, such as
<command>curl</command> and <command>git</command>. {command}`curl` and {command}`git`.
''; '';
}; };
@ -49,7 +49,7 @@ in
''' '''
] ]
''; '';
description = '' description = lib.mdDoc ''
A list of trusted root certificates in PEM format. A list of trusted root certificates in PEM format.
''; '';
}; };
@ -62,10 +62,10 @@ in
"CA WoSign ECC Root" "CA WoSign ECC Root"
"Certification Authority of WoSign G2" "Certification Authority of WoSign G2"
]; ];
description = '' description = lib.mdDoc ''
A list of blacklisted CA certificate names that won't be imported from A list of blacklisted CA certificate names that won't be imported from
the Mozilla Trust Store into the Mozilla Trust Store into
<filename>/etc/ssl/certs/ca-certificates.crt</filename>. Use the {file}`/etc/ssl/certs/ca-certificates.crt`. Use the
names from that file. names from that file.
''; '';
}; };

View file

@ -27,37 +27,37 @@ let
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
apply = paths: pkgs.closureInfo { rootPaths = paths; }; apply = paths: pkgs.closureInfo { rootPaths = paths; };
description = "List of store paths to make accessible."; description = lib.mdDoc "List of store paths to make accessible.";
}; };
readablePaths = mkOption { readablePaths = mkOption {
type = types.listOf types.path; type = types.listOf types.path;
default = [ ]; default = [ ];
description = "List of paths that should be read-only inside the sandbox."; description = lib.mdDoc "List of paths that should be read-only inside the sandbox.";
}; };
writablePaths = mkOption { writablePaths = mkOption {
type = types.listOf types.path; type = types.listOf types.path;
default = [ ]; default = [ ];
description = "List of paths that should be read/write inside the sandbox."; description = lib.mdDoc "List of paths that should be read/write inside the sandbox.";
}; };
allowSystemPaths = mkOption { allowSystemPaths = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to allow read access to FHS paths like /etc and /var."; description = lib.mdDoc "Whether to allow read access to FHS paths like /etc and /var.";
}; };
allowLocalNetworking = mkOption { allowLocalNetworking = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to allow localhost network access inside the sandbox."; description = lib.mdDoc "Whether to allow localhost network access inside the sandbox.";
}; };
allowNetworking = mkOption { allowNetworking = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to allow network access inside the sandbox."; description = lib.mdDoc "Whether to allow network access inside the sandbox.";
}; };
}; };
@ -133,7 +133,7 @@ in
security.sandbox.profiles = mkOption { security.sandbox.profiles = mkOption {
type = types.attrsOf (types.submodule profile); type = types.attrsOf (types.submodule profile);
default = { }; default = { };
description = "Definition of sandbox profiles."; description = lib.mdDoc "Definition of sandbox profiles.";
}; };
}; };

View file

@ -13,7 +13,7 @@ in
services.activate-system.enable = mkOption { services.activate-system.enable = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to activate system at boot time."; description = lib.mdDoc "Whether to activate system at boot time.";
}; };
}; };

View file

@ -22,18 +22,18 @@ in
name = mkOption { name = mkOption {
type = types.str; type = types.str;
example = "socks-peer"; example = "socks-peer";
description = "Name of the local AutoSSH session"; description = lib.mdDoc "Name of the local AutoSSH session";
}; };
user = mkOption { user = mkOption {
type = types.str; type = types.str;
example = "bill"; example = "bill";
description = "Name of the user the AutoSSH session should run as"; description = lib.mdDoc "Name of the user the AutoSSH session should run as";
}; };
monitoringPort = mkOption { monitoringPort = mkOption {
type = types.int; type = types.int;
default = 0; default = 0;
example = 20000; example = 20000;
description = '' description = lib.mdDoc ''
Port to be used by AutoSSH for peer monitoring. Note, that Port to be used by AutoSSH for peer monitoring. Note, that
AutoSSH also uses mport+1. Value of 0 disables the keep-alive AutoSSH also uses mport+1. Value of 0 disables the keep-alive
style monitoring style monitoring
@ -42,7 +42,7 @@ in
extraArguments = mkOption { extraArguments = mkOption {
type = types.str; type = types.str;
example = "-N -D4343 bill@socks.example.net"; example = "-N -D4343 bill@socks.example.net";
description = '' description = lib.mdDoc ''
Arguments to be passed to AutoSSH and retransmitted to SSH Arguments to be passed to AutoSSH and retransmitted to SSH
process. Some meaningful options include -N (don't run remote process. Some meaningful options include -N (don't run remote
command), -D (open SOCKS proxy on local port), -R (forward command), -D (open SOCKS proxy on local port), -R (forward
@ -54,7 +54,7 @@ in
}); });
default = []; default = [];
description = '' description = lib.mdDoc ''
List of AutoSSH sessions to start as systemd services. Each service is List of AutoSSH sessions to start as systemd services. Each service is
named 'autossh-{session.name}'. named 'autossh-{session.name}'.
''; '';

View file

@ -98,7 +98,7 @@ let
preCommands = mkOption { preCommands = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = lib.mdDoc ''
Extra commands to run before starting buildkite. Extra commands to run before starting buildkite.
''; '';
}; };

View file

@ -9,23 +9,23 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Enable to run Cachix Agent as a system service. Enable to run Cachix Agent as a system service.
Read <link xlink:href="https://docs.cachix.org/deploy/">Cachix Deploy</link> documentation for more information. Read [Cachix Deploy](https://docs.cachix.org/deploy/) documentation for more information.
''; '';
}; };
name = mkOption { name = mkOption {
type = types.str; type = types.str;
default = config.networking.hostName; default = config.networking.hostName;
description = '' description = lib.mdDoc ''
Agent name, usually the same as the hostname. Agent name, usually the same as the hostname.
''; '';
}; };
package = mkOption { package = mkOption {
description = '' description = lib.mdDoc ''
Package containing cachix executable. Package containing cachix executable.
''; '';
type = types.package; type = types.package;
@ -36,7 +36,7 @@ in {
credentialsFile = mkOption { credentialsFile = mkOption {
type = types.path; type = types.path;
default = "/etc/cachix-agent.token"; default = "/etc/cachix-agent.token";
description = '' description = lib.mdDoc ''
Required file that needs to contain CACHIX_AGENT_TOKEN=... Required file that needs to contain CACHIX_AGENT_TOKEN=...
''; '';
}; };
@ -44,7 +44,7 @@ in {
logFile = mkOption { logFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = "/var/log/cachix-agent.log"; default = "/var/log/cachix-agent.log";
description = "Absolute path to log all stderr and stdout"; description = lib.mdDoc "Absolute path to log all stderr and stdout";
}; };
}; };

View file

@ -12,51 +12,51 @@ in
services.chunkwm.enable = mkOption { services.chunkwm.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the chunkwm window manager."; description = lib.mdDoc "Whether to enable the chunkwm window manager.";
}; };
services.chunkwm.package = mkOption { services.chunkwm.package = mkOption {
type = types.package; type = types.package;
example = literalExpression "pkgs.chunkwm"; example = literalExpression "pkgs.chunkwm";
description = "This option specifies the chunkwm package to use."; description = lib.mdDoc "This option specifies the chunkwm package to use.";
}; };
services.chunkwm.hotload = mkOption { services.chunkwm.hotload = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to enable hotload."; description = lib.mdDoc "Whether to enable hotload.";
}; };
services.chunkwm.extraConfig = mkOption { services.chunkwm.extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
example = ''chunkc tiling::rule --owner Emacs --state tile''; example = ''chunkc tiling::rule --owner Emacs --state tile'';
description = "Additional commands for <filename>chunkwmrc</filename>."; description = lib.mdDoc "Additional commands for {file}`chunkwmrc`.";
}; };
services.chunkwm.plugins.dir = mkOption { services.chunkwm.plugins.dir = mkOption {
type = types.path; type = types.path;
default = "/run/current-system/sw/lib/chunkwm/plugins"; default = "/run/current-system/sw/lib/chunkwm/plugins";
description = "Chunkwm Plugins directory."; description = lib.mdDoc "Chunkwm Plugins directory.";
}; };
services.chunkwm.plugins.list = mkOption { services.chunkwm.plugins.list = mkOption {
type = types.listOf (types.enum plugins); type = types.listOf (types.enum plugins);
default = plugins; default = plugins;
example = ["tiling"]; example = ["tiling"];
description = "Chunkwm Plugins to enable."; description = lib.mdDoc "Chunkwm Plugins to enable.";
}; };
services.chunkwm.plugins."border".config = mkOption { services.chunkwm.plugins."border".config = mkOption {
type = types.lines; type = types.lines;
default = ''chunkc set focused_border_color 0xffc0b18b''; default = ''chunkc set focused_border_color 0xffc0b18b'';
description = "Optional border plugin configuration."; description = lib.mdDoc "Optional border plugin configuration.";
}; };
services.chunkwm.plugins."tiling".config = mkOption { services.chunkwm.plugins."tiling".config = mkOption {
type = types.lines; type = types.lines;
example = ''chunkc set global_desktop_mode bsp''; example = ''chunkc set global_desktop_mode bsp'';
description = "Optional tiling plugin configuration."; description = lib.mdDoc "Optional tiling plugin configuration.";
}; };
}; };

View file

@ -12,32 +12,32 @@ in
services.dnsmasq.enable = mkOption { services.dnsmasq.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable DNSmasq."; description = lib.mdDoc "Whether to enable DNSmasq.";
}; };
services.dnsmasq.package = mkOption { services.dnsmasq.package = mkOption {
type = types.path; type = types.path;
default = pkgs.dnsmasq; default = pkgs.dnsmasq;
defaultText = "pkgs.dnsmasq"; defaultText = "pkgs.dnsmasq";
description = "This option specifies the dnsmasq package to use."; description = lib.mdDoc "This option specifies the dnsmasq package to use.";
}; };
services.dnsmasq.bind = mkOption { services.dnsmasq.bind = mkOption {
type = types.str; type = types.str;
default = "127.0.0.1"; default = "127.0.0.1";
description = "This option specifies the interface on which DNSmasq will listen."; description = lib.mdDoc "This option specifies the interface on which DNSmasq will listen.";
}; };
services.dnsmasq.port = mkOption { services.dnsmasq.port = mkOption {
type = types.int; type = types.int;
default = 53; default = 53;
description = "This option specifies port on which DNSmasq will listen."; description = lib.mdDoc "This option specifies port on which DNSmasq will listen.";
}; };
services.dnsmasq.addresses = mkOption { services.dnsmasq.addresses = mkOption {
type = types.attrs; type = types.attrs;
default = {}; default = {};
description = "List of domains that will be redirected by the DNSmasq."; description = lib.mdDoc "List of domains that will be redirected by the DNSmasq.";
example = literalExpression '' example = literalExpression ''
{ localhost = "127.0.0.1"; } { localhost = "127.0.0.1"; }
''; '';

View file

@ -12,20 +12,20 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the Emacs Daemon."; description = lib.mdDoc "Whether to enable the Emacs Daemon.";
}; };
package = mkOption { package = mkOption {
type = types.path; type = types.path;
default = pkgs.emacs; default = pkgs.emacs;
description = "This option specifies the emacs package to use."; description = lib.mdDoc "This option specifies the emacs package to use.";
}; };
additionalPath = mkOption { additionalPath = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "/Users/my_user_name" ]; example = [ "/Users/my_user_name" ];
description = '' description = lib.mdDoc ''
This option specifies additional PATH that the emacs daemon would have. This option specifies additional PATH that the emacs daemon would have.
Typically if you have binaries in your home directory that is what you would add your home path here. Typically if you have binaries in your home directory that is what you would add your home path here.
One caveat is that there won't be shell variable expansion, so you can't use $HOME for example One caveat is that there won't be shell variable expansion, so you can't use $HOME for example
@ -35,7 +35,7 @@ in {
exec = mkOption { exec = mkOption {
type = types.str; type = types.str;
default = "emacs"; default = "emacs";
description = "Emacs command/binary to execute."; description = lib.mdDoc "Emacs command/binary to execute.";
}; };
}; };
}; };

View file

@ -117,19 +117,19 @@ let
in in
{ {
options.services.gitlab-runner = { options.services.gitlab-runner = {
enable = mkEnableOption "Gitlab Runner"; enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
configFile = mkOption { configFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
Configuration file for gitlab-runner. Configuration file for gitlab-runner.
<option>configFile</option> takes precedence over <option>services</option>. {option}`configFile` takes precedence over {option}`services`.
<option>checkInterval</option> and <option>concurrent</option> will be ignored too. {option}`checkInterval` and {option}`concurrent` will be ignored too.
This option is deprecated, please use <option>services</option> instead. This option is deprecated, please use {option}`services` instead.
You can use <option>registrationConfigFile</option> and You can use {option}`registrationConfigFile` and
<option>registrationFlags</option> {option}`registrationFlags`
for settings not covered by this module. for settings not covered by this module.
''; '';
}; };
@ -137,18 +137,18 @@ in
type = types.int; type = types.int;
default = 0; default = 0;
example = literalExpression "with lib; (length (attrNames config.services.gitlab-runner.services)) * 3"; example = literalExpression "with lib; (length (attrNames config.services.gitlab-runner.services)) * 3";
description = '' description = lib.mdDoc ''
Defines the interval length, in seconds, between new jobs check. Defines the interval length, in seconds, between new jobs check.
The default value is 3; The default value is 3;
if set to 0 or lower, the default value will be used. if set to 0 or lower, the default value will be used.
See <link xlink:href="https://docs.gitlab.com/runner/configuration/advanced-configuration.html#how-check_interval-works">runner documentation</link> for more information. See [runner documentation](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#how-check_interval-works) for more information.
''; '';
}; };
concurrent = mkOption { concurrent = mkOption {
type = types.int; type = types.int;
default = 1; default = 1;
example = literalExpression "config.nix.maxJobs"; example = literalExpression "config.nix.maxJobs";
description = '' description = lib.mdDoc ''
Limits how many jobs globally can be run concurrently. Limits how many jobs globally can be run concurrently.
The most upper limit of jobs using all defined runners. The most upper limit of jobs using all defined runners.
0 does not mean unlimited. 0 does not mean unlimited.
@ -158,7 +158,7 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "https://public:private@host:port/1"; example = "https://public:private@host:port/1";
description = '' description = lib.mdDoc ''
Data Source Name for tracking of all system level errors to Sentry. Data Source Name for tracking of all system level errors to Sentry.
''; '';
}; };
@ -166,7 +166,7 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "localhost:8080"; example = "localhost:8080";
description = '' description = lib.mdDoc ''
Address (&lt;host&gt;:&lt;port&gt;) on which the Prometheus metrics HTTP server Address (&lt;host&gt;:&lt;port&gt;) on which the Prometheus metrics HTTP server
should be listening. should be listening.
''; '';
@ -178,7 +178,7 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "0.0.0.0:8093"; example = "0.0.0.0:8093";
description = '' description = lib.mdDoc ''
An internal URL to be used for the session server. An internal URL to be used for the session server.
''; '';
}; };
@ -186,16 +186,16 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "runner-host-name.tld:8093"; example = "runner-host-name.tld:8093";
description = '' description = lib.mdDoc ''
The URL that the Runner will expose to GitLab to be used The URL that the Runner will expose to GitLab to be used
to access the session server. to access the session server.
Fallbacks to <option>listenAddress</option> if not defined. Fallbacks to {option}`listenAddress` if not defined.
''; '';
}; };
sessionTimeout = mkOption { sessionTimeout = mkOption {
type = types.int; type = types.int;
default = 1800; default = 1800;
description = '' description = lib.mdDoc ''
How long in seconds the session can stay active after How long in seconds the session can stay active after
the job completes (which will block the job from finishing). the job completes (which will block the job from finishing).
''; '';
@ -208,16 +208,16 @@ in
listenAddress = "0.0.0.0:8093"; listenAddress = "0.0.0.0:8093";
} }
''; '';
description = '' description = lib.mdDoc ''
The session server allows the user to interact with jobs The session server allows the user to interact with jobs
that the Runner is responsible for. A good example of this is the that the Runner is responsible for. A good example of this is the
<link xlink:href="https://docs.gitlab.com/ee/ci/interactive_web_terminal/index.html">interactive web terminal</link>. [interactive web terminal](https://docs.gitlab.com/ee/ci/interactive_web_terminal/index.html).
''; '';
}; };
gracefulTermination = mkOption { gracefulTermination = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Finish all remaining jobs before stopping. Finish all remaining jobs before stopping.
If not set gitlab-runner will stop immediatly without waiting If not set gitlab-runner will stop immediatly without waiting
for jobs to finish, which will lead to failed builds. for jobs to finish, which will lead to failed builds.
@ -227,7 +227,7 @@ in
type = types.str; type = types.str;
default = "infinity"; default = "infinity";
example = "5min 20s"; example = "5min 20s";
description = '' description = lib.mdDoc ''
Time to wait until a graceful shutdown is turned into a forceful one. Time to wait until a graceful shutdown is turned into a forceful one.
''; '';
}; };
@ -236,17 +236,17 @@ in
default = pkgs.gitlab-runner; default = pkgs.gitlab-runner;
defaultText = "pkgs.gitlab-runner"; defaultText = "pkgs.gitlab-runner";
example = literalExpression "pkgs.gitlab-runner_1_11"; example = literalExpression "pkgs.gitlab-runner_1_11";
description = "Gitlab Runner package to use."; description = lib.mdDoc "Gitlab Runner package to use.";
}; };
extraPackages = mkOption { extraPackages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = [ ]; default = [ ];
description = '' description = lib.mdDoc ''
Extra packages to add to PATH for the gitlab-runner process. Extra packages to add to PATH for the gitlab-runner process.
''; '';
}; };
services = mkOption { services = mkOption {
description = "GitLab Runner services."; description = lib.mdDoc "GitLab Runner services.";
default = { }; default = { };
example = literalExpression '' example = literalExpression ''
{ {
@ -328,27 +328,27 @@ in
options = { options = {
registrationConfigFile = mkOption { registrationConfigFile = mkOption {
type = types.path; type = types.path;
description = '' description = lib.mdDoc ''
Absolute path to a file with environment variables Absolute path to a file with environment variables
used for gitlab-runner registration. used for gitlab-runner registration.
A list of all supported environment variables can be found in A list of all supported environment variables can be found in
<literal>gitlab-runner register --help</literal>. `gitlab-runner register --help`.
Ones that you probably want to set is Ones that you probably want to set is
<literal>CI_SERVER_URL=&lt;CI server URL&gt;</literal> `CI_SERVER_URL=<CI server URL>`
<literal>REGISTRATION_TOKEN=&lt;registration secret&gt;</literal> `REGISTRATION_TOKEN=<registration secret>`
''; '';
}; };
registrationFlags = mkOption { registrationFlags = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "--docker-helper-image my/gitlab-runner-helper" ]; example = [ "--docker-helper-image my/gitlab-runner-helper" ];
description = '' description = lib.mdDoc ''
Extra command-line flags passed to Extra command-line flags passed to
<literal>gitlab-runner register</literal>. `gitlab-runner register`.
Execute <literal>gitlab-runner register --help</literal> Execute `gitlab-runner register --help`
for a list of supported flags. for a list of supported flags.
''; '';
}; };
@ -356,25 +356,25 @@ in
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
example = { NAME = "value"; }; example = { NAME = "value"; };
description = '' description = lib.mdDoc ''
Custom environment variables injected to build environment. Custom environment variables injected to build environment.
For secrets you can use <option>registrationConfigFile</option> For secrets you can use {option}`registrationConfigFile`
with <literal>RUNNER_ENV</literal> variable set. with `RUNNER_ENV` variable set.
''; '';
}; };
executor = mkOption { executor = mkOption {
type = types.str; type = types.str;
default = "docker"; default = "docker";
description = '' description = lib.mdDoc ''
Select executor, eg. shell, docker, etc. Select executor, eg. shell, docker, etc.
See <link xlink:href="https://docs.gitlab.com/runner/executors/README.html">runner documentation</link> for more information. See [runner documentation](https://docs.gitlab.com/runner/executors/README.html) for more information.
''; '';
}; };
buildsDir = mkOption { buildsDir = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
example = "/var/lib/gitlab-runner/builds"; example = "/var/lib/gitlab-runner/builds";
description = '' description = lib.mdDoc ''
Absolute path to a directory where builds will be stored Absolute path to a directory where builds will be stored
in context of selected executor (Locally, Docker, SSH). in context of selected executor (Locally, Docker, SSH).
''; '';
@ -383,14 +383,14 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "http://gitlab.example.local"; example = "http://gitlab.example.local";
description = '' description = lib.mdDoc ''
Overwrite the URL for the GitLab instance. Used if the Runner cant connect to GitLab on the URL GitLab exposes itself. Overwrite the URL for the GitLab instance. Used if the Runner cant connect to GitLab on the URL GitLab exposes itself.
''; '';
}; };
dockerImage = mkOption { dockerImage = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
Docker image to be used. Docker image to be used.
''; '';
}; };
@ -398,7 +398,7 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "/var/run/docker.sock:/var/run/docker.sock" ]; example = [ "/var/run/docker.sock:/var/run/docker.sock" ];
description = '' description = lib.mdDoc ''
Bind-mount a volume and create it Bind-mount a volume and create it
if it doesn't exist prior to mounting. if it doesn't exist prior to mounting.
''; '';
@ -406,14 +406,14 @@ in
dockerDisableCache = mkOption { dockerDisableCache = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Disable all container caching. Disable all container caching.
''; '';
}; };
dockerPrivileged = mkOption { dockerPrivileged = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Give extended privileges to container. Give extended privileges to container.
''; '';
}; };
@ -421,7 +421,7 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "other-host:127.0.0.1" ]; example = [ "other-host:127.0.0.1" ];
description = '' description = lib.mdDoc ''
Add a custom host-to-IP mapping. Add a custom host-to-IP mapping.
''; '';
}; };
@ -429,7 +429,7 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "ruby:*" "python:*" "php:*" "my.registry.tld:5000/*:*" ]; example = [ "ruby:*" "python:*" "php:*" "my.registry.tld:5000/*:*" ];
description = '' description = lib.mdDoc ''
Whitelist allowed images. Whitelist allowed images.
''; '';
}; };
@ -437,21 +437,21 @@ in
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "postgres:9" "redis:*" "mysql:*" ]; example = [ "postgres:9" "redis:*" "mysql:*" ];
description = '' description = lib.mdDoc ''
Whitelist allowed services. Whitelist allowed services.
''; '';
}; };
preCloneScript = mkOption { preCloneScript = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
Runner-specific command script executed before code is pulled. Runner-specific command script executed before code is pulled.
''; '';
}; };
preBuildScript = mkOption { preBuildScript = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
Runner-specific command script executed after code is pulled, Runner-specific command script executed after code is pulled,
just before build executes. just before build executes.
''; '';
@ -459,7 +459,7 @@ in
postBuildScript = mkOption { postBuildScript = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
Runner-specific command script executed after code is pulled Runner-specific command script executed after code is pulled
and just after build executes. and just after build executes.
''; '';
@ -467,22 +467,22 @@ in
tagList = mkOption { tagList = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
description = '' description = lib.mdDoc ''
Tag list. Tag list.
''; '';
}; };
runUntagged = mkOption { runUntagged = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Register to run untagged builds; defaults to Register to run untagged builds; defaults to
<literal>true</literal> when <option>tagList</option> is empty. `true` when {option}`tagList` is empty.
''; '';
}; };
limit = mkOption { limit = mkOption {
type = types.int; type = types.int;
default = 0; default = 0;
description = '' description = lib.mdDoc ''
Limit how many jobs can be handled concurrently by this service. Limit how many jobs can be handled concurrently by this service.
0 (default) simply means don't limit. 0 (default) simply means don't limit.
''; '';
@ -490,14 +490,14 @@ in
requestConcurrency = mkOption { requestConcurrency = mkOption {
type = types.int; type = types.int;
default = 0; default = 0;
description = '' description = lib.mdDoc ''
Limit number of concurrent requests for new jobs from GitLab. Limit number of concurrent requests for new jobs from GitLab.
''; '';
}; };
maximumTimeout = mkOption { maximumTimeout = mkOption {
type = types.int; type = types.int;
default = 0; default = 0;
description = '' description = lib.mdDoc ''
What is the maximum timeout (in seconds) that will be set for What is the maximum timeout (in seconds) that will be set for
job when using this Runner. 0 (default) simply means don't limit. job when using this Runner. 0 (default) simply means don't limit.
''; '';
@ -505,7 +505,7 @@ in
protected = mkOption { protected = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
When set to true Runner will only run on pipelines When set to true Runner will only run on pipelines
triggered on protected branches. triggered on protected branches.
''; '';
@ -513,9 +513,9 @@ in
debugTraceDisabled = mkOption { debugTraceDisabled = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
When set to true Runner will disable the possibility of When set to true Runner will disable the possibility of
using the <literal>CI_DEBUG_TRACE</literal> feature. using the `CI_DEBUG_TRACE` feature.
''; '';
}; };
}; };

View file

@ -17,7 +17,7 @@ in
logFile = mkOption { logFile = mkOption {
type = types.path; type = types.path;
default = "/var/log/hercules-ci-agent.log"; default = "/var/log/hercules-ci-agent.log";
description = "Stdout and sterr of hercules-ci-agent process."; description = lib.mdDoc "Stdout and sterr of hercules-ci-agent process.";
}; };
}; };

View file

@ -14,14 +14,14 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the ipfs daemon."; description = lib.mdDoc "Whether to enable the ipfs daemon.";
}; };
package = mkOption { package = mkOption {
type = types.path; type = types.path;
default = pkgs.kubo; default = pkgs.kubo;
# defaultText = "pkgs.kubo"; # defaultText = "pkgs.kubo";
description = '' description = lib.mdDoc ''
The ipfs package to use. The ipfs package to use.
''; '';
}; };
@ -30,24 +30,24 @@ in
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
example = "/var/tmp/lorri.log"; example = "/var/tmp/lorri.log";
description = '' description = lib.mdDoc ''
The logfile to use for the ipfs service. Alternatively The logfile to use for the ipfs service. Alternatively
<command>sudo launchctl debug system/org.nixos.ipfs --stderr</command> {command}`sudo launchctl debug system/org.nixos.ipfs --stderr`
can be used to stream the logs to a shell after restarting the service with can be used to stream the logs to a shell after restarting the service with
<command>sudo launchctl kickstart -k system/org.nixos.ipfs</command>. {command}`sudo launchctl kickstart -k system/org.nixos.ipfs`.
''; '';
}; };
ipfsPath = mkOption { ipfsPath = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = "Set the IPFS_PATH environment variable."; description = lib.mdDoc "Set the IPFS_PATH environment variable.";
}; };
enableGarbageCollection = mkOption { enableGarbageCollection = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Passes --enable-gc flag to ipfs daemon."; description = lib.mdDoc "Passes --enable-gc flag to ipfs daemon.";
}; };
}; };

View file

@ -10,7 +10,7 @@ in
{ {
options = { options = {
services.karabiner-elements.enable = mkEnableOption "Karabiner-Elements"; services.karabiner-elements.enable = mkEnableOption (lib.mdDoc "Karabiner-Elements");
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -13,27 +13,27 @@ in
services.khd.enable = mkOption { services.khd.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the khd hotkey daemon."; description = lib.mdDoc "Whether to enable the khd hotkey daemon.";
}; };
services.khd.package = mkOption { services.khd.package = mkOption {
type = types.package; type = types.package;
default = pkgs.khd; default = pkgs.khd;
defaultText = "pkgs.khd"; defaultText = "pkgs.khd";
description = "This option specifies the khd package to use."; description = lib.mdDoc "This option specifies the khd package to use.";
}; };
services.khd.khdConfig = mkOption { services.khd.khdConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
example = "alt + shift - r : kwmc quit"; example = "alt + shift - r : kwmc quit";
description = "Config to use for <filename>khdrc</filename>."; description = lib.mdDoc "Config to use for {file}`khdrc`.";
}; };
services.khd.i3Keybindings = mkOption { services.khd.i3Keybindings = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Wether to configure i3 style keybindings for kwm."; description = lib.mdDoc "Wether to configure i3 style keybindings for kwm.";
}; };
}; };

View file

@ -11,21 +11,21 @@ in
services.kwm.enable = mkOption { services.kwm.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the khd window manager."; description = lib.mdDoc "Whether to enable the khd window manager.";
}; };
services.kwm.package = mkOption { services.kwm.package = mkOption {
type = types.path; type = types.path;
default = pkgs.kwm; default = pkgs.kwm;
defaultText = "pkgs.kwm"; defaultText = "pkgs.kwm";
description = "This option specifies the kwm package to use."; description = lib.mdDoc "This option specifies the kwm package to use.";
}; };
services.kwm.kwmConfig = mkOption { services.kwm.kwmConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
example = ''kwmc rule owner="iTerm2" properties={role="AXDialog"}''; example = ''kwmc rule owner="iTerm2" properties={role="AXDialog"}'';
description = "Config to use for <filename>kwmrc</filename>."; description = lib.mdDoc "Config to use for {file}`kwmrc`.";
}; };
}; };

View file

@ -11,18 +11,18 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the lorri service."; description = lib.mdDoc "Whether to enable the lorri service.";
}; };
logFile = mkOption { logFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
example = "/var/tmp/lorri.log"; example = "/var/tmp/lorri.log";
description = '' description = lib.mdDoc ''
The logfile to use for the lorri service. Alternatively The logfile to use for the lorri service. Alternatively
<command>sudo launchctl debug system/org.nixos.lorri --stderr</command> {command}`sudo launchctl debug system/org.nixos.lorri --stderr`
can be used to stream the logs to a shell after restarting the service with can be used to stream the logs to a shell after restarting the service with
<command>sudo launchctl kickstart -k system/org.nixos.lorri</command>. {command}`sudo launchctl kickstart -k system/org.nixos.lorri`.
''; '';
}; };
}; };

View file

@ -7,32 +7,32 @@ let
in { in {
options.services.offlineimap = { options.services.offlineimap = {
enable = mkEnableOption "Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s)"; enable = mkEnableOption (lib.mdDoc "Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s)");
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.offlineimap; default = pkgs.offlineimap;
defaultText = "pkgs.offlineimap"; defaultText = "pkgs.offlineimap";
description = "Offlineimap derivation to use."; description = lib.mdDoc "Offlineimap derivation to use.";
}; };
path = mkOption { path = mkOption {
type = types.listOf types.path; type = types.listOf types.path;
default = []; default = [];
example = literalExpression "[ pkgs.pass pkgs.bash pkgs.notmuch ]"; example = literalExpression "[ pkgs.pass pkgs.bash pkgs.notmuch ]";
description = "List of derivations to put in Offlineimap's path."; description = lib.mdDoc "List of derivations to put in Offlineimap's path.";
}; };
startInterval = mkOption { startInterval = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = 300; default = 300;
description = "Optional key to start offlineimap services each N seconds"; description = lib.mdDoc "Optional key to start offlineimap services each N seconds";
}; };
runQuick = mkOption { runQuick = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Run only quick synchronizations. Run only quick synchronizations.
Ignore any flag updates on IMAP servers. If a flag on the remote IMAP changes, and we have the message locally, it will be left untouched in a quick run. Ignore any flag updates on IMAP servers. If a flag on the remote IMAP changes, and we have the message locally, it will be left untouched in a quick run.
''; '';
@ -41,7 +41,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Additional text to be appended to <filename>offlineimaprc</filename>."; description = lib.mdDoc "Additional text to be appended to {file}`offlineimaprc`.";
}; };
}; };

View file

@ -10,12 +10,12 @@ let
in { in {
options = { options = {
services.telegraf = { services.telegraf = {
enable = mkEnableOption "telegraf agent"; enable = mkEnableOption (lib.mdDoc "telegraf agent");
package = mkOption { package = mkOption {
default = pkgs.telegraf; default = pkgs.telegraf;
defaultText = lib.literalExpression "pkgs.telegraf"; defaultText = lib.literalExpression "pkgs.telegraf";
description = "Which telegraf derivation to use"; description = lib.mdDoc "Which telegraf derivation to use";
type = types.package; type = types.package;
}; };
@ -23,7 +23,7 @@ in {
type = types.listOf types.path; type = types.listOf types.path;
default = [ ]; default = [ ];
example = [ "/run/keys/telegraf.env" ]; example = [ "/run/keys/telegraf.env" ];
description = '' description = lib.mdDoc ''
File to load as environment file. File to load as environment file.
This is useful to avoid putting secrets into the nix store. This is useful to avoid putting secrets into the nix store.
''; '';
@ -31,7 +31,7 @@ in {
extraConfig = mkOption { extraConfig = mkOption {
default = { }; default = { };
description = "Extra configuration options for telegraf"; description = lib.mdDoc "Extra configuration options for telegraf";
type = settingsFormat.type; type = settingsFormat.type;
example = { example = {
outputs.influxdb = { outputs.influxdb = {
@ -47,7 +47,7 @@ in {
configUrl = mkOption { configUrl = mkOption {
default = null; default = null;
description = "Url to fetch config from"; description = lib.mdDoc "Url to fetch config from";
type = types.nullOr types.str; type = types.nullOr types.str;
}; };
}; };

View file

@ -11,27 +11,27 @@ in
services.mopidy.enable = mkOption { services.mopidy.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the Mopidy Daemon."; description = lib.mdDoc "Whether to enable the Mopidy Daemon.";
}; };
services.mopidy.package = mkOption { services.mopidy.package = mkOption {
type = types.path; type = types.path;
default = pkgs.mopidy; default = pkgs.mopidy;
defaultText = "pkgs.mopidy"; defaultText = "pkgs.mopidy";
description = "This option specifies the mopidy package to use."; description = lib.mdDoc "This option specifies the mopidy package to use.";
}; };
services.mopidy.mediakeys.enable = mkOption { services.mopidy.mediakeys.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the Mopidy OSX Media Keys support daemon."; description = lib.mdDoc "Whether to enable the Mopidy OSX Media Keys support daemon.";
}; };
services.mopidy.mediakeys.package = mkOption { services.mopidy.mediakeys.package = mkOption {
type = types.path; type = types.path;
default = pkgs.pythonPackages.osxmpdkeys; default = pkgs.pythonPackages.osxmpdkeys;
defaultText = "pkgs.pythonPackages.osxmpdkeys"; defaultText = "pkgs.pythonPackages.osxmpdkeys";
description = "This option specifies the mediakeys package to use."; description = lib.mdDoc "This option specifies the mediakeys package to use.";
}; };
}; };

View file

@ -5,12 +5,12 @@ let
in in
{ {
options.services.netbird = { options.services.netbird = {
enable = mkEnableOption "Netbird daemon"; enable = mkEnableOption (lib.mdDoc "Netbird daemon");
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.netbird; default = pkgs.netbird;
defaultText = literalExpression "pkgs.netbird"; defaultText = literalExpression "pkgs.netbird";
description = "The package to use for netbird"; description = lib.mdDoc "The package to use for netbird";
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View file

@ -13,13 +13,13 @@ in {
type = types.bool; type = types.bool;
default = false; default = false;
description = description =
"Whether to enable the NextDNS DNS/53 to DoH Proxy service."; lib.mdDoc "Whether to enable the NextDNS DNS/53 to DoH Proxy service.";
}; };
arguments = mkOption { arguments = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
example = [ "-config" "10.0.3.0/24=abcdef" ]; example = [ "-config" "10.0.3.0/24=abcdef" ];
description = "Additional arguments to be passed to nextdns run."; description = lib.mdDoc "Additional arguments to be passed to nextdns run.";
}; };
}; };
}; };

View file

@ -11,31 +11,31 @@ in
services.nix-daemon.enable = mkOption { services.nix-daemon.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the nix-daemon service."; description = lib.mdDoc "Whether to enable the nix-daemon service.";
}; };
services.nix-daemon.enableSocketListener = mkOption { services.nix-daemon.enableSocketListener = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to make the nix-daemon service socket activated."; description = lib.mdDoc "Whether to make the nix-daemon service socket activated.";
}; };
services.nix-daemon.logFile = mkOption { services.nix-daemon.logFile = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
example = "/var/log/nix-daemon.log"; example = "/var/log/nix-daemon.log";
description = '' description = lib.mdDoc ''
The logfile to use for the nix-daemon service. Alternatively The logfile to use for the nix-daemon service. Alternatively
<command>sudo launchctl debug system/org.nixos.nix-daemon --stderr</command> {command}`sudo launchctl debug system/org.nixos.nix-daemon --stderr`
can be used to stream the logs to a shell after restarting the service with can be used to stream the logs to a shell after restarting the service with
<command>sudo launchctl kickstart -k system/org.nixos.nix-daemon</command>. {command}`sudo launchctl kickstart -k system/org.nixos.nix-daemon`.
''; '';
}; };
services.nix-daemon.tempDir = mkOption { services.nix-daemon.tempDir = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = "The TMPDIR to use for nix-daemon."; description = lib.mdDoc "The TMPDIR to use for nix-daemon.";
}; };
}; };

View file

@ -24,28 +24,28 @@ in
automatic = mkOption { automatic = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
description = "Automatically run the garbage collector at a specific time."; description = lib.mdDoc "Automatically run the garbage collector at a specific time.";
}; };
# Not in NixOS module # Not in NixOS module
user = mkOption { user = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = "User that runs the garbage collector."; description = lib.mdDoc "User that runs the garbage collector.";
}; };
interval = mkOption { interval = mkOption {
type = types.attrs; type = types.attrs;
default = { Hour = 3; Minute = 15; }; default = { Hour = 3; Minute = 15; };
description = "The time interval at which the garbage collector will run."; description = lib.mdDoc "The time interval at which the garbage collector will run.";
}; };
options = mkOption { options = mkOption {
default = ""; default = "";
example = "--max-freed $((64 * 1024**3))"; example = "--max-freed $((64 * 1024**3))";
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
Options given to <filename>nix-collect-garbage</filename> when the Options given to {file}`nix-collect-garbage` when the
garbage collector is run automatically. garbage collector is run automatically.
''; '';
}; };

View file

@ -12,13 +12,13 @@ in
services.ofborg.enable = mkOption { services.ofborg.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the ofborg builder service."; description = lib.mdDoc "Whether to enable the ofborg builder service.";
}; };
services.ofborg.package = mkOption { services.ofborg.package = mkOption {
type = types.package; type = types.package;
example = literalExpression "pkgs.ofborg"; example = literalExpression "pkgs.ofborg";
description = '' description = lib.mdDoc ''
This option specifies the ofborg package to use. eg. This option specifies the ofborg package to use. eg.
(import &lt;ofborg&gt; {}).ofborg.rs (import &lt;ofborg&gt; {}).ofborg.rs
@ -30,7 +30,7 @@ in
services.ofborg.configFile = mkOption { services.ofborg.configFile = mkOption {
type = types.path; type = types.path;
description = '' description = lib.mdDoc ''
Configuration file to use for ofborg. Configuration file to use for ofborg.
WARNING Don't use a path literal or derivation for this, WARNING Don't use a path literal or derivation for this,
@ -41,7 +41,7 @@ in
services.ofborg.logFile = mkOption { services.ofborg.logFile = mkOption {
type = types.path; type = types.path;
default = "/var/log/ofborg.log"; default = "/var/log/ofborg.log";
description = "Whether to enable the khd window manager."; description = lib.mdDoc "Whether to enable the khd window manager.";
}; };
}; };

View file

@ -40,12 +40,12 @@ in
services.postgresql = { services.postgresql = {
enable = mkEnableOption "PostgreSQL Server"; enable = mkEnableOption (lib.mdDoc "PostgreSQL Server");
package = mkOption { package = mkOption {
type = types.package; type = types.package;
example = literalExpression "pkgs.postgresql_11"; example = literalExpression "pkgs.postgresql_11";
description = '' description = lib.mdDoc ''
PostgreSQL package to use. PostgreSQL package to use.
''; '';
}; };
@ -53,7 +53,7 @@ in
port = mkOption { port = mkOption {
type = types.int; type = types.int;
default = 5432; default = 5432;
description = '' description = lib.mdDoc ''
The port on which PostgreSQL listens. The port on which PostgreSQL listens.
''; '';
}; };
@ -61,14 +61,14 @@ in
checkConfig = mkOption { checkConfig = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Check the syntax of the configuration file at compile time"; description = lib.mdDoc "Check the syntax of the configuration file at compile time";
}; };
dataDir = mkOption { dataDir = mkOption {
type = types.path; type = types.path;
defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.postgresql.package.psqlSchema}"''; defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.postgresql.package.psqlSchema}"'';
example = "/var/lib/postgresql/11"; example = "/var/lib/postgresql/11";
description = '' description = lib.mdDoc ''
The data directory for PostgreSQL. If left as the default value The data directory for PostgreSQL. If left as the default value
this directory will automatically be created before the PostgreSQL server starts, otherwise this directory will automatically be created before the PostgreSQL server starts, otherwise
the sysadmin is responsible for ensuring the directory exists with appropriate ownership the sysadmin is responsible for ensuring the directory exists with appropriate ownership
@ -79,16 +79,16 @@ in
authentication = mkOption { authentication = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = lib.mdDoc ''
Defines how users authenticate themselves to the server. See the Defines how users authenticate themselves to the server. See the
<link xlink:href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html"> [
PostgreSQL documentation for pg_hba.conf</link> PostgreSQL documentation for pg_hba.conf](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html)
for details on the expected format of this option. By default, for details on the expected format of this option. By default,
peer based authentication will be used for users connecting peer based authentication will be used for users connecting
via the Unix socket, and md5 password authentication will be via the Unix socket, and md5 password authentication will be
used for users connecting via TCP. Any added rules will be used for users connecting via TCP. Any added rules will be
inserted above the default rules. If you'd like to replace the inserted above the default rules. If you'd like to replace the
default rules entirely, you can use <literal>lib.mkForce</literal> in your default rules entirely, you can use `lib.mkForce` in your
module. module.
''; '';
}; };
@ -96,7 +96,7 @@ in
identMap = mkOption { identMap = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = '' description = lib.mdDoc ''
Defines the mapping from system users to database users. Defines the mapping from system users to database users.
The general form is: The general form is:
@ -109,8 +109,8 @@ in
type = with types; listOf str; type = with types; listOf str;
default = []; default = [];
example = [ "--data-checksums" "--allow-group-access" ]; example = [ "--data-checksums" "--allow-group-access" ];
description = '' description = lib.mdDoc ''
Additional arguments passed to <literal>initdb</literal> during data dir Additional arguments passed to `initdb` during data dir
initialisation. initialisation.
''; '';
}; };
@ -118,7 +118,7 @@ in
initialScript = mkOption { initialScript = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = '' description = lib.mdDoc ''
A file containing SQL statements to execute on first startup. A file containing SQL statements to execute on first startup.
''; '';
}; };
@ -126,7 +126,7 @@ in
ensureDatabases = mkOption { ensureDatabases = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = lib.mdDoc ''
Ensures that the specified databases exist. Ensures that the specified databases exist.
This option will never delete existing databases, especially not when the value of this This option will never delete existing databases, especially not when the value of this
option is changed. This means that databases created once through this option or option is changed. This means that databases created once through this option or
@ -143,14 +143,14 @@ in
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
Name of the user to ensure. Name of the user to ensure.
''; '';
}; };
ensurePermissions = mkOption { ensurePermissions = mkOption {
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = {}; default = {};
description = '' description = lib.mdDoc ''
Permissions to ensure for the user, specified as an attribute set. Permissions to ensure for the user, specified as an attribute set.
The attribute names specify the database and tables to grant the permissions for. The attribute names specify the database and tables to grant the permissions for.
The attribute values specify the permissions to grant. You may specify one or The attribute values specify the permissions to grant. You may specify one or
@ -158,8 +158,8 @@ in
For more information on how to specify the target For more information on how to specify the target
and on which privileges exist, see the and on which privileges exist, see the
<link xlink:href="https://www.postgresql.org/docs/current/sql-grant.html">GRANT syntax</link>. [GRANT syntax](https://www.postgresql.org/docs/current/sql-grant.html).
The attributes are used as <literal>GRANT ''${attrValue} ON ''${attrName}</literal>. The attributes are used as `GRANT ''${attrValue} ON ''${attrName}`.
''; '';
example = literalExpression '' example = literalExpression ''
{ {
@ -171,7 +171,7 @@ in
}; };
}); });
default = []; default = [];
description = '' description = lib.mdDoc ''
Ensures that the specified users exist and have at least the ensured permissions. Ensures that the specified users exist and have at least the ensured permissions.
The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the The PostgreSQL users will be identified using peer authentication. This authenticates the Unix user with the
same name only, and that without the need for a password. same name only, and that without the need for a password.
@ -200,7 +200,7 @@ in
enableTCPIP = mkOption { enableTCPIP = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether PostgreSQL should listen on all network interfaces. Whether PostgreSQL should listen on all network interfaces.
If disabled, the database can only be accessed via its Unix If disabled, the database can only be accessed via its Unix
domain socket or via TCP connections to localhost. domain socket or via TCP connections to localhost.
@ -211,9 +211,9 @@ in
type = types.str; type = types.str;
default = "[%p] "; default = "[%p] ";
example = "%m [%p] "; example = "%m [%p] ";
description = '' description = lib.mdDoc ''
A printf-style string that is output at the beginning of each log line. A printf-style string that is output at the beginning of each log line.
Upstream default is <literal>'%m [%p] '</literal>, i.e. it includes the timestamp. We do Upstream default is `'%m [%p] '`, i.e. it includes the timestamp. We do
not include the timestamp, because journal has it anyway. not include the timestamp, because journal has it anyway.
''; '';
}; };
@ -222,24 +222,26 @@ in
type = types.listOf types.path; type = types.listOf types.path;
default = []; default = [];
example = literalExpression "with pkgs.postgresql_11.pkgs; [ postgis pg_repack ]"; example = literalExpression "with pkgs.postgresql_11.pkgs; [ postgis pg_repack ]";
description = '' description = lib.mdDoc ''
List of PostgreSQL plugins. PostgreSQL version for each plugin should List of PostgreSQL plugins. PostgreSQL version for each plugin should
match version for <literal>services.postgresql.package</literal> value. match version for `services.postgresql.package` value.
''; '';
}; };
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 = '' description = lib.mdDoc ''
PostgreSQL configuration. Refer to PostgreSQL configuration. Refer to
<link xlink:href="https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE"/> <https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE>
for an overview of <literal>postgresql.conf</literal>. for an overview of `postgresql.conf`.
<note><para> ::: {.note}
String values will automatically be enclosed in single quotes. Single quotes will be String values will automatically be enclosed in single quotes. Single quotes will be
escaped with two single quotes as described by the upstream documentation linked above. escaped with two single quotes as described by the upstream documentation linked above.
</para></note>
:::
''; '';
example = literalExpression '' example = literalExpression ''
{ {
@ -255,8 +257,8 @@ in
recoveryConfig = mkOption { recoveryConfig = mkOption {
type = types.nullOr types.lines; type = types.nullOr types.lines;
default = null; default = null;
description = '' description = lib.mdDoc ''
Contents of the <filename>recovery.conf</filename> file. Contents of the {file}`recovery.conf` file.
''; '';
}; };
@ -265,7 +267,7 @@ in
default = "postgres"; default = "postgres";
internal = true; internal = true;
readOnly = true; readOnly = true;
description = '' description = lib.mdDoc ''
PostgreSQL superuser account to use for various operations. Internal since changing PostgreSQL superuser account to use for various operations. Internal since changing
this value would lead to breakage while setting up databases. this value would lead to breakage while setting up databases.
''; '';

View file

@ -10,40 +10,40 @@ in
services.privoxy.enable = mkOption { services.privoxy.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the privoxy proxy service."; description = lib.mdDoc "Whether to enable the privoxy proxy service.";
}; };
services.privoxy.listenAddress = mkOption { services.privoxy.listenAddress = mkOption {
type = types.str; type = types.str;
default = "127.0.0.1:8118"; default = "127.0.0.1:8118";
description = "The address and TCP port on which privoxy will listen."; description = lib.mdDoc "The address and TCP port on which privoxy will listen.";
}; };
services.privoxy.package = mkOption { services.privoxy.package = mkOption {
type = types.package; type = types.package;
default = pkgs.privoxy; default = pkgs.privoxy;
example = literalExpression "pkgs.privoxy"; example = literalExpression "pkgs.privoxy";
description = "This option specifies the privoxy package to use."; description = lib.mdDoc "This option specifies the privoxy package to use.";
}; };
services.privoxy.config = mkOption { services.privoxy.config = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
example = "forward / upstream.proxy:8080"; example = "forward / upstream.proxy:8080";
description = "Config to use for privoxy"; description = lib.mdDoc "Config to use for privoxy";
}; };
services.privoxy.templdir = mkOption { services.privoxy.templdir = mkOption {
type = types.path; type = types.path;
default = "${pkgs.privoxy}/etc/templates"; default = "${pkgs.privoxy}/etc/templates";
defaultText = "\${pkgs.privoxy}/etc/templates"; defaultText = "\${pkgs.privoxy}/etc/templates";
description = "Directory for privoxy template files."; description = lib.mdDoc "Directory for privoxy template files.";
}; };
services.privoxy.confdir = mkOption { services.privoxy.confdir = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = "Directory for privoxy files such as .action and .filter."; description = lib.mdDoc "Directory for privoxy files such as .action and .filter.";
}; };
}; };

View file

@ -11,52 +11,52 @@ in
services.redis.enable = mkOption { services.redis.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the redis database service."; description = lib.mdDoc "Whether to enable the redis database service.";
}; };
services.redis.package = mkOption { services.redis.package = mkOption {
type = types.path; type = types.path;
default = pkgs.redis; default = pkgs.redis;
defaultText = "pkgs.redis"; defaultText = "pkgs.redis";
description = "This option specifies the redis package to use"; description = lib.mdDoc "This option specifies the redis package to use";
}; };
services.redis.dataDir = mkOption { services.redis.dataDir = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = "/var/lib/redis"; default = "/var/lib/redis";
description = "Data directory for the redis database."; description = lib.mdDoc "Data directory for the redis database.";
}; };
services.redis.port = mkOption { services.redis.port = mkOption {
type = types.int; type = types.int;
default = 6379; default = 6379;
description = "The port for Redis to listen to."; description = lib.mdDoc "The port for Redis to listen to.";
}; };
services.redis.bind = mkOption { services.redis.bind = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; # All interfaces default = null; # All interfaces
description = "The IP interface to bind to."; description = lib.mdDoc "The IP interface to bind to.";
example = "127.0.0.1"; example = "127.0.0.1";
}; };
services.redis.unixSocket = mkOption { services.redis.unixSocket = mkOption {
type = types.nullOr types.path; type = types.nullOr types.path;
default = null; default = null;
description = "The path to the socket to bind to."; description = lib.mdDoc "The path to the socket to bind to.";
example = "/var/run/redis.sock"; example = "/var/run/redis.sock";
}; };
services.redis.appendOnly = mkOption { services.redis.appendOnly = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "By default data is only periodically persisted to disk, enable this option to use an append-only file for improved persistence."; description = lib.mdDoc "By default data is only periodically persisted to disk, enable this option to use an append-only file for improved persistence.";
}; };
services.redis.extraConfig = mkOption { services.redis.extraConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
description = "Additional text to be appended to <filename>redis.conf</filename>."; description = lib.mdDoc "Additional text to be appended to {file}`redis.conf`.";
}; };
}; };

View file

@ -11,20 +11,20 @@ in
services.skhd.enable = mkOption { services.skhd.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable the skhd hotkey daemon."; description = lib.mdDoc "Whether to enable the skhd hotkey daemon.";
}; };
services.skhd.package = mkOption { services.skhd.package = mkOption {
type = types.package; type = types.package;
default = pkgs.skhd; default = pkgs.skhd;
description = "This option specifies the skhd package to use."; description = lib.mdDoc "This option specifies the skhd package to use.";
}; };
services.skhd.skhdConfig = mkOption { services.skhd.skhdConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";
example = "alt + shift - r : chunkc quit"; example = "alt + shift - r : chunkc quit";
description = "Config to use for <filename>skhdrc</filename>."; description = lib.mdDoc "Config to use for {file}`skhdrc`.";
}; };
}; };

View file

@ -22,12 +22,12 @@ in
services.spacebar.enable = mkOption { services.spacebar.enable = mkOption {
type = bool; type = bool;
default = false; default = false;
description = "Whether to enable the spacebar spacebar."; description = lib.mdDoc "Whether to enable the spacebar spacebar.";
}; };
services.spacebar.package = mkOption { services.spacebar.package = mkOption {
type = path; type = path;
description = "The spacebar package to use."; description = lib.mdDoc "The spacebar package to use.";
}; };
services.spacebar.config = mkOption { services.spacebar.config = mkOption {
@ -40,7 +40,7 @@ in
foreground_color = "0xffa8a8a8"; foreground_color = "0xffa8a8a8";
} }
''; '';
description = '' description = lib.mdDoc ''
Key/Value pairs to pass to spacebar's 'config' domain, via the configuration file. Key/Value pairs to pass to spacebar's 'config' domain, via the configuration file.
''; '';
}; };
@ -51,7 +51,7 @@ in
example = literalExpression '' example = literalExpression ''
echo "spacebar config loaded..." echo "spacebar config loaded..."
''; '';
description = '' description = lib.mdDoc ''
Extra arbitrary configuration to append to the configuration file. Extra arbitrary configuration to append to the configuration file.
''; '';
}; };

View file

@ -19,7 +19,7 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable the spotifyd service. Whether to enable the spotifyd service.
''; '';
}; };
@ -28,7 +28,7 @@ in
type = types.path; type = types.path;
default = pkgs.spotifyd; default = pkgs.spotifyd;
defaultText = "pkgs.spotifyd"; defaultText = "pkgs.spotifyd";
description = '' description = lib.mdDoc ''
The spotifyd package to use. The spotifyd package to use.
''; '';
}; };
@ -40,8 +40,8 @@ in
bitrate = 160; bitrate = 160;
volume_normalisation = true; volume_normalisation = true;
}; };
description = '' description = lib.mdDoc ''
Configuration for spotifyd, see <link xlink:href="https://spotifyd.github.io/spotifyd/config/File.html" /> Configuration for spotifyd, see <https://spotifyd.github.io/spotifyd/config/File.html>
for supported values. for supported values.
''; '';
}; };

View file

@ -26,32 +26,32 @@ in
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to run Synapse BitTorrent Daemon."; description = lib.mdDoc "Whether to run Synapse BitTorrent Daemon.";
}; };
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.synapse-bt; default = pkgs.synapse-bt;
defaultText = "pkgs.synapse-bt"; defaultText = "pkgs.synapse-bt";
description = "Synapse BitTorrent package to use."; description = lib.mdDoc "Synapse BitTorrent package to use.";
}; };
port = mkOption { port = mkOption {
type = types.int; type = types.int;
default = 16384; default = 16384;
description = "The port on which Synapse BitTorrent listens."; description = lib.mdDoc "The port on which Synapse BitTorrent listens.";
}; };
downloadDir = mkOption { downloadDir = mkOption {
type = types.path; type = types.path;
default = "/var/lib/synapse-bt"; default = "/var/lib/synapse-bt";
example = "/var/lib/synapse-bt/downloads"; example = "/var/lib/synapse-bt/downloads";
description = "Download directory for Synapse BitTorrent."; description = lib.mdDoc "Download directory for Synapse BitTorrent.";
}; };
extraConfig = mkOption { extraConfig = mkOption {
default = {}; default = {};
description = "Extra configuration options for Synapse BitTorrent."; description = lib.mdDoc "Extra configuration options for Synapse BitTorrent.";
type = types.attrs; type = types.attrs;
}; };
}; };

View file

@ -16,28 +16,28 @@ in
default = pkgs.synergy; default = pkgs.synergy;
defaultText = "pkgs.synergy"; defaultText = "pkgs.synergy";
type = types.package; type = types.package;
description = "The package used for the synergy client and server."; description = lib.mdDoc "The package used for the synergy client and server.";
}; };
client = { client = {
enable = mkOption { enable = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
description = '' description = lib.mdDoc ''
Whether to enable the Synergy client (receive keyboard and mouse events from a Synergy server). Whether to enable the Synergy client (receive keyboard and mouse events from a Synergy server).
''; '';
}; };
screenName = mkOption { screenName = mkOption {
default = ""; default = "";
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
Use the given name instead of the hostname to identify Use the given name instead of the hostname to identify
ourselves to the server. ourselves to the server.
''; '';
}; };
serverAddress = mkOption { serverAddress = mkOption {
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
The server address is of the form: [hostname][:port]. The The server address is of the form: [hostname][:port]. The
hostname must be the address or hostname of the server. The hostname must be the address or hostname of the server. The
port overrides the default port, 24800. port overrides the default port, 24800.
@ -46,21 +46,21 @@ in
autoStart = mkOption { autoStart = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = "Whether the Synergy client should be started automatically."; description = lib.mdDoc "Whether the Synergy client should be started automatically.";
}; };
tls = { tls = {
enable = mkEnableOption '' enable = mkEnableOption (lib.mdDoc ''
Whether TLS encryption should be used. Whether TLS encryption should be used.
Using this requires a TLS certificate that can be Using this requires a TLS certificate that can be
generated by starting the Synergy GUI once and entering generated by starting the Synergy GUI once and entering
a valid product key. a valid product key.
''; '');
cert = mkOption { cert = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "~/.synergy/SSL/Synergy.pem"; example = "~/.synergy/SSL/Synergy.pem";
description = "The TLS certificate to use for encryption."; description = lib.mdDoc "The TLS certificate to use for encryption.";
}; };
}; };
}; };
@ -69,19 +69,19 @@ in
enable = mkOption { enable = mkOption {
default = false; default = false;
type = types.bool; type = types.bool;
description = '' description = lib.mdDoc ''
Whether to enable the Synergy server (send keyboard and mouse events). Whether to enable the Synergy server (send keyboard and mouse events).
''; '';
}; };
configFile = mkOption { configFile = mkOption {
default = "/etc/synergy-server.conf"; default = "/etc/synergy-server.conf";
type = types.str; type = types.str;
description = "The Synergy server configuration file."; description = lib.mdDoc "The Synergy server configuration file.";
}; };
screenName = mkOption { screenName = mkOption {
default = ""; default = "";
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
Use the given name instead of the hostname to identify Use the given name instead of the hostname to identify
this screen in the configuration. this screen in the configuration.
''; '';
@ -89,26 +89,26 @@ in
address = mkOption { address = mkOption {
default = ""; default = "";
type = types.str; type = types.str;
description = "Address on which to listen for clients."; description = lib.mdDoc "Address on which to listen for clients.";
}; };
autoStart = mkOption { autoStart = mkOption {
default = true; default = true;
type = types.bool; type = types.bool;
description = "Whether the Synergy server should be started automatically."; description = lib.mdDoc "Whether the Synergy server should be started automatically.";
}; };
tls = { tls = {
enable = mkEnableOption '' enable = mkEnableOption (lib.mdDoc ''
Whether TLS encryption should be used. Whether TLS encryption should be used.
Using this requires a TLS certificate that can be Using this requires a TLS certificate that can be
generated by starting the Synergy GUI once and entering generated by starting the Synergy GUI once and entering
a valid product key. a valid product key.
''; '');
cert = mkOption { cert = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "~/.synergy/SSL/Synergy.pem"; example = "~/.synergy/SSL/Synergy.pem";
description = "The TLS certificate to use for encryption."; description = lib.mdDoc "The TLS certificate to use for encryption.";
}; };
}; };
}; };

View file

@ -11,16 +11,16 @@ in
domain = mkOption { domain = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
description = "The Tailscale domain. This is displayed at the top left of https://login.tailscale.com/admin, next to the Tailscale logo."; description = lib.mdDoc "The Tailscale domain. This is displayed at the top left of https://login.tailscale.com/admin, next to the Tailscale logo.";
}; };
enable = mkEnableOption "Tailscale client daemon"; enable = mkEnableOption (lib.mdDoc "Tailscale client daemon");
package = mkOption { package = mkOption {
type = types.package; type = types.package;
default = pkgs.tailscale; default = pkgs.tailscale;
defaultText = literalExpression "pkgs.tailscale"; defaultText = literalExpression "pkgs.tailscale";
description = "The package to use for tailscale"; description = lib.mdDoc "The package to use for tailscale";
}; };
magicDNS = { magicDNS = {
@ -28,7 +28,7 @@ in
type = types.bool; type = types.bool;
default = false; default = false;
example = true; example = true;
description = "Whether to configure networking to work with Tailscale's MagicDNS."; description = lib.mdDoc "Whether to configure networking to work with Tailscale's MagicDNS.";
}; };
}; };
}; };

View file

@ -10,32 +10,32 @@ let
allowedIPs = mkOption { allowedIPs = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
description = "List of IP addresses associated with this peer."; description = lib.mdDoc "List of IP addresses associated with this peer.";
}; };
endpoint = mkOption { endpoint = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = "IP and port to connect to this peer at."; description = lib.mdDoc "IP and port to connect to this peer at.";
}; };
persistentKeepalive = mkOption { persistentKeepalive = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = "Interval in seconds to send keepalive packets"; description = lib.mdDoc "Interval in seconds to send keepalive packets";
}; };
presharedKeyFile = mkOption { presharedKeyFile = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = description =
"Optional, path to file containing the pre-shared key for this peer."; lib.mdDoc "Optional, path to file containing the pre-shared key for this peer.";
}; };
publicKey = mkOption { publicKey = mkOption {
default = null; default = null;
type = types.str; type = types.str;
description = "The public key for this peer."; description = lib.mdDoc "The public key for this peer.";
}; };
}; };
}; };
@ -45,69 +45,69 @@ let
address = mkOption { address = mkOption {
type = types.nullOr (types.listOf types.str); type = types.nullOr (types.listOf types.str);
default = [ ]; default = [ ];
description = "List of IP addresses for this interface."; description = lib.mdDoc "List of IP addresses for this interface.";
}; };
autostart = mkOption { autostart = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = description =
"Whether to bring up this interface automatically during boot."; lib.mdDoc "Whether to bring up this interface automatically during boot.";
}; };
dns = mkOption { dns = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ ]; default = [ ];
description = "List of DNS servers for this interface."; description = lib.mdDoc "List of DNS servers for this interface.";
}; };
listenPort = mkOption { listenPort = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = "Port to listen on, randomly selected if not specified."; description = lib.mdDoc "Port to listen on, randomly selected if not specified.";
}; };
mtu = mkOption { mtu = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = description =
"MTU to set for this interface, automatically set if not specified"; lib.mdDoc "MTU to set for this interface, automatically set if not specified";
}; };
peers = mkOption { peers = mkOption {
type = types.listOf (types.submodule peerOpts); type = types.listOf (types.submodule peerOpts);
default = [ ]; default = [ ];
description = "List of peers associated with this interface."; description = lib.mdDoc "List of peers associated with this interface.";
}; };
preDown = mkOption { preDown = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = ""; default = "";
description = "List of commadns to run before interface shutdown."; description = lib.mdDoc "List of commadns to run before interface shutdown.";
}; };
preUp = mkOption { preUp = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = ""; default = "";
description = "List of commands to run before interface setup."; description = lib.mdDoc "List of commands to run before interface setup.";
}; };
postDown = mkOption { postDown = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = ""; default = "";
description = "List of commands to run after interface shutdown"; description = lib.mdDoc "List of commands to run after interface shutdown";
}; };
postUp = mkOption { postUp = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = ""; default = "";
description = "List of commands to run after interface setup."; description = lib.mdDoc "List of commands to run after interface setup.";
}; };
privateKeyFile = mkOption { privateKeyFile = mkOption {
type = types.str; type = types.str;
default = null; default = null;
description = "Path to file containing this interface's private key."; description = lib.mdDoc "Path to file containing this interface's private key.";
}; };
table = mkOption { table = mkOption {
@ -208,13 +208,13 @@ in {
interfaces = mkOption { interfaces = mkOption {
type = types.attrsOf (types.submodule interfaceOpts); type = types.attrsOf (types.submodule interfaceOpts);
default = { }; default = { };
description = "Set of wg-quick interfaces."; description = lib.mdDoc "Set of wg-quick interfaces.";
}; };
logDir = mkOption { logDir = mkOption {
type = types.str; type = types.str;
default = "/var/log"; default = "/var/log";
description = "Directory to save wg-quick logs to."; description = lib.mdDoc "Directory to save wg-quick logs to.";
}; };
}; };
}; };

View file

@ -22,19 +22,19 @@ in
services.yabai.enable = mkOption { services.yabai.enable = mkOption {
type = bool; type = bool;
default = false; default = false;
description = "Whether to enable the yabai window manager."; description = lib.mdDoc "Whether to enable the yabai window manager.";
}; };
services.yabai.package = mkOption { services.yabai.package = mkOption {
type = path; type = path;
default = pkgs.yabai; default = pkgs.yabai;
description = "The yabai package to use."; description = lib.mdDoc "The yabai package to use.";
}; };
services.yabai.enableScriptingAddition = mkOption { services.yabai.enableScriptingAddition = mkOption {
type = bool; type = bool;
default = false; default = false;
description = '' description = lib.mdDoc ''
Whether to enable yabai's scripting-addition. Whether to enable yabai's scripting-addition.
SIP must be disabled for this to work. SIP must be disabled for this to work.
''; '';
@ -56,7 +56,7 @@ in
window_gap = 10; window_gap = 10;
} }
''; '';
description = '' description = lib.mdDoc ''
Key/Value pairs to pass to yabai's 'config' domain, via the configuration file. Key/Value pairs to pass to yabai's 'config' domain, via the configuration file.
''; '';
}; };
@ -67,7 +67,7 @@ in
example = literalExpression '' example = literalExpression ''
yabai -m rule --add app='System Preferences' manage=off yabai -m rule --add app='System Preferences' manage=off
''; '';
description = "Extra arbitrary configuration to append to the configuration file"; description = lib.mdDoc "Extra arbitrary configuration to append to the configuration file";
}; };
}; };

View file

@ -22,12 +22,12 @@ in
internal = true; internal = true;
type = types.attrsOf (types.submodule script); type = types.attrsOf (types.submodule script);
default = {}; default = {};
description = '' description = lib.mdDoc ''
A set of shell script fragments that are executed when a NixOS A set of shell script fragments that are executed when a NixOS
system configuration is activated. Examples are updating system configuration is activated. Examples are updating
/etc, creating accounts, and so on. Since these are executed /etc, creating accounts, and so on. Since these are executed
every time you boot the system or run every time you boot the system or run
<command>nixos-rebuild</command>, it's important that they are {command}`nixos-rebuild`, it's important that they are
idempotent and fast. idempotent and fast.
''; '';
}; };

View file

@ -202,19 +202,19 @@ in
system.checks.verifyNixPath = mkOption { system.checks.verifyNixPath = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to run the NIX_PATH validation checks."; description = lib.mdDoc "Whether to run the NIX_PATH validation checks.";
}; };
system.checks.verifyNixChannels = mkOption { system.checks.verifyNixChannels = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to run the nix-channels validation checks."; description = lib.mdDoc "Whether to run the nix-channels validation checks.";
}; };
system.checks.verifyBuildUsers = mkOption { system.checks.verifyBuildUsers = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to run the Nix build users validation checks."; description = lib.mdDoc "Whether to run the Nix build users validation checks.";
}; };
system.checks.text = mkOption { system.checks.text = mkOption {

View file

@ -22,7 +22,7 @@ in
internal = true; internal = true;
type = types.attrsOf types.unspecified; type = types.attrsOf types.unspecified;
default = {}; default = {};
description = '' description = lib.mdDoc ''
Attribute set of derivation used to setup the system. Attribute set of derivation used to setup the system.
''; '';
}; };
@ -30,7 +30,7 @@ in
system.path = mkOption { system.path = mkOption {
internal = true; internal = true;
type = types.package; type = types.package;
description = '' description = lib.mdDoc ''
The packages you want in the system environment. The packages you want in the system environment.
''; '';
}; };
@ -38,7 +38,7 @@ in
system.profile = mkOption { system.profile = mkOption {
type = types.path; type = types.path;
default = "/nix/var/nix/profiles/system"; default = "/nix/var/nix/profiles/system";
description = '' description = lib.mdDoc ''
Profile to use for the system. Profile to use for the system.
''; '';
}; };
@ -48,7 +48,7 @@ in
internal = true; internal = true;
default = []; default = [];
example = [ { assertion = false; message = "you can't enable this for that reason"; } ]; example = [ { assertion = false; message = "you can't enable this for that reason"; } ];
description = '' description = lib.mdDoc ''
This option allows modules to express conditions that must This option allows modules to express conditions that must
hold for the evaluation of the system configuration to hold for the evaluation of the system configuration to
succeed, along with associated error messages for the user. succeed, along with associated error messages for the user.
@ -60,7 +60,7 @@ in
default = []; default = [];
type = types.listOf types.str; type = types.listOf types.str;
example = [ "The `foo' service is deprecated and will go away soon!" ]; example = [ "The `foo' service is deprecated and will go away soon!" ];
description = '' description = lib.mdDoc ''
This option allows modules to show warnings to users during This option allows modules to show warnings to users during
the evaluation of the system configuration. the evaluation of the system configuration.
''; '';

View file

@ -39,7 +39,7 @@ with lib;
system.defaults.ActivityMonitor.SortColumn = mkOption { system.defaults.ActivityMonitor.SortColumn = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
Which column to sort the main activity page (such as "CPUUsage"). Default is null. Which column to sort the main activity page (such as "CPUUsage"). Default is null.
''; '';
}; };
@ -47,7 +47,7 @@ with lib;
system.defaults.ActivityMonitor.SortDirection = mkOption { system.defaults.ActivityMonitor.SortDirection = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The sort direction of the sort column (0 is decending). Default is null. The sort direction of the sort column (0 is decending). Default is null.
''; '';
}; };
@ -55,7 +55,7 @@ with lib;
system.defaults.ActivityMonitor.OpenMainWindow = mkOption { system.defaults.ActivityMonitor.OpenMainWindow = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Open the main window when opening Activity Monitor. Default is true. Open the main window when opening Activity Monitor. Default is true.
''; '';
}; };

View file

@ -14,7 +14,7 @@ with lib;
true; true;
}; };
}; };
description = '' description = lib.mdDoc ''
Sets custom user preferences Sets custom user preferences
''; '';
}; };
@ -29,7 +29,7 @@ with lib;
true; true;
}; };
}; };
description = '' description = lib.mdDoc ''
Sets custom system preferences Sets custom system preferences
''; '';
}; };

View file

@ -19,7 +19,7 @@ in {
mkOption { mkOption {
type = types.nullOr (types.path); type = types.nullOr (types.path);
default = null; default = null;
description = '' description = lib.mdDoc ''
Sets the system-wide alert sound. Found under "Sound Effects" in the Sets the system-wide alert sound. Found under "Sound Effects" in the
"Sound" section of "System Preferences". Look in "Sound" section of "System Preferences". Look in
"/System/Library/Sounds" for possible candidates. "/System/Library/Sounds" for possible candidates.
@ -30,7 +30,7 @@ in {
mkOption { mkOption {
type = types.nullOr float; type = types.nullOr float;
default = null; default = null;
description = '' description = lib.mdDoc ''
Sets the mouse tracking speed. Found in the "Mouse" section of Sets the mouse tracking speed. Found in the "Mouse" section of
"System Preferences". Set to -1 to disable mouse acceleration. "System Preferences". Set to -1 to disable mouse acceleration.
''; '';

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.LaunchServices.LSQuarantine = mkOption { system.defaults.LaunchServices.LSQuarantine = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable quarantine for downloaded applications. The default is true. Whether to enable quarantine for downloaded applications. The default is true.
''; '';
}; };

View file

@ -11,7 +11,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowAllFiles = mkOption { system.defaults.NSGlobalDomain.AppleShowAllFiles = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to always show hidden files. The default is false. Whether to always show hidden files. The default is false.
''; '';
}; };
@ -19,7 +19,7 @@ in {
system.defaults.NSGlobalDomain.AppleEnableMouseSwipeNavigateWithScrolls = mkOption { system.defaults.NSGlobalDomain.AppleEnableMouseSwipeNavigateWithScrolls = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Enables swiping left or right with two fingers to navigate backward or forward. The default is true. Enables swiping left or right with two fingers to navigate backward or forward. The default is true.
''; '';
}; };
@ -27,7 +27,7 @@ in {
system.defaults.NSGlobalDomain.AppleEnableSwipeNavigateWithScrolls = mkOption { system.defaults.NSGlobalDomain.AppleEnableSwipeNavigateWithScrolls = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Enables swiping left or right with two fingers to navigate backward or forward. The default is true. Enables swiping left or right with two fingers to navigate backward or forward. The default is true.
''; '';
}; };
@ -35,7 +35,7 @@ in {
system.defaults.NSGlobalDomain.AppleFontSmoothing = mkOption { system.defaults.NSGlobalDomain.AppleFontSmoothing = mkOption {
type = types.nullOr (types.enum [ 0 1 2 ]); type = types.nullOr (types.enum [ 0 1 2 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Sets the level of font smoothing (sub-pixel font rendering). Sets the level of font smoothing (sub-pixel font rendering).
''; '';
}; };
@ -43,7 +43,7 @@ in {
system.defaults.NSGlobalDomain.AppleInterfaceStyle = mkOption { system.defaults.NSGlobalDomain.AppleInterfaceStyle = mkOption {
type = types.nullOr (types.enum [ "Dark" ]); type = types.nullOr (types.enum [ "Dark" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Set to 'Dark' to enable dark mode, or leave unset for normal mode. Set to 'Dark' to enable dark mode, or leave unset for normal mode.
''; '';
}; };
@ -51,7 +51,7 @@ in {
system.defaults.NSGlobalDomain.AppleInterfaceStyleSwitchesAutomatically = mkOption { system.defaults.NSGlobalDomain.AppleInterfaceStyleSwitchesAutomatically = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to automatically switch between light and dark mode. The default is false. Whether to automatically switch between light and dark mode. The default is false.
''; '';
}; };
@ -59,7 +59,7 @@ in {
system.defaults.NSGlobalDomain.AppleKeyboardUIMode = mkOption { system.defaults.NSGlobalDomain.AppleKeyboardUIMode = mkOption {
type = types.nullOr (types.enum [ 3 ]); type = types.nullOr (types.enum [ 3 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Configures the keyboard control behavior. Mode 3 enables full keyboard control. Configures the keyboard control behavior. Mode 3 enables full keyboard control.
''; '';
}; };
@ -67,7 +67,7 @@ in {
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = mkOption { system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable the press-and-hold feature. The default is true. Whether to enable the press-and-hold feature. The default is true.
''; '';
}; };
@ -75,7 +75,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowAllExtensions = mkOption { system.defaults.NSGlobalDomain.AppleShowAllExtensions = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to show all file extensions in Finder. The default is false. Whether to show all file extensions in Finder. The default is false.
''; '';
}; };
@ -83,7 +83,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowScrollBars = mkOption { system.defaults.NSGlobalDomain.AppleShowScrollBars = mkOption {
type = types.nullOr (types.enum [ "WhenScrolling" "Automatic" "Always" ]); type = types.nullOr (types.enum [ "WhenScrolling" "Automatic" "Always" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
When to show the scrollbars. Options are 'WhenScrolling', 'Automatic' and 'Always'. When to show the scrollbars. Options are 'WhenScrolling', 'Automatic' and 'Always'.
''; '';
}; };
@ -91,7 +91,7 @@ in {
system.defaults.NSGlobalDomain.AppleScrollerPagingBehavior = mkOption { system.defaults.NSGlobalDomain.AppleScrollerPagingBehavior = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Jump to the spot that's clicked on the scroll bar. The default is false. Jump to the spot that's clicked on the scroll bar. The default is false.
''; '';
}; };
@ -99,7 +99,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable automatic capitalization. The default is true. Whether to enable automatic capitalization. The default is true.
''; '';
}; };
@ -107,7 +107,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable smart dash substitution. The default is true. Whether to enable smart dash substitution. The default is true.
''; '';
}; };
@ -115,7 +115,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable smart period substitution. The default is true. Whether to enable smart period substitution. The default is true.
''; '';
}; };
@ -123,7 +123,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable smart quote substitution. The default is true. Whether to enable smart quote substitution. The default is true.
''; '';
}; };
@ -131,7 +131,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable automatic spelling correction. The default is true. Whether to enable automatic spelling correction. The default is true.
''; '';
}; };
@ -139,7 +139,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticWindowAnimationsEnabled = mkOption { system.defaults.NSGlobalDomain.NSAutomaticWindowAnimationsEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to animate opening and closing of windows and popovers. The default is true. Whether to animate opening and closing of windows and popovers. The default is true.
''; '';
}; };
@ -147,7 +147,7 @@ in {
system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = mkOption { system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to disable the automatic termination of inactive apps. Whether to disable the automatic termination of inactive apps.
''; '';
}; };
@ -155,7 +155,7 @@ in {
system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = mkOption { system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to save new documents to iCloud by default. The default is true. Whether to save new documents to iCloud by default. The default is true.
''; '';
}; };
@ -163,7 +163,7 @@ in {
system.defaults.NSGlobalDomain.AppleWindowTabbingMode = mkOption { system.defaults.NSGlobalDomain.AppleWindowTabbingMode = mkOption {
type = types.nullOr (types.enum [ "manual" "always" "fullscreen" ]); type = types.nullOr (types.enum [ "manual" "always" "fullscreen" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Sets the window tabbing when opening a new document: 'manual', 'always', or 'fullscreen'. The default is 'fullscreen'. Sets the window tabbing when opening a new document: 'manual', 'always', or 'fullscreen'. The default is 'fullscreen'.
''; '';
}; };
@ -171,7 +171,7 @@ in {
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = mkOption { system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use expanded save panel by default. The default is false. Whether to use expanded save panel by default. The default is false.
''; '';
}; };
@ -179,7 +179,7 @@ in {
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = mkOption { system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use expanded save panel by default. The default is false. Whether to use expanded save panel by default. The default is false.
''; '';
}; };
@ -187,7 +187,7 @@ in {
system.defaults.NSGlobalDomain.NSTableViewDefaultSizeMode = mkOption { system.defaults.NSGlobalDomain.NSTableViewDefaultSizeMode = mkOption {
type = types.nullOr (types.enum [ 1 2 3 ]); type = types.nullOr (types.enum [ 1 2 3 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Sets the size of the finder sidebar icons: 1 (small), 2 (medium) or 3 (large). The default is 3. Sets the size of the finder sidebar icons: 1 (small), 2 (medium) or 3 (large). The default is 3.
''; '';
}; };
@ -195,7 +195,7 @@ in {
system.defaults.NSGlobalDomain.NSTextShowsControlCharacters = mkOption { system.defaults.NSGlobalDomain.NSTextShowsControlCharacters = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to display ASCII control characters using caret notation in standard text views. The default is false. Whether to display ASCII control characters using caret notation in standard text views. The default is false.
''; '';
}; };
@ -203,7 +203,7 @@ in {
system.defaults.NSGlobalDomain.NSUseAnimatedFocusRing = mkOption { system.defaults.NSGlobalDomain.NSUseAnimatedFocusRing = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable the focus ring animation. The default is true. Whether to enable the focus ring animation. The default is true.
''; '';
}; };
@ -211,7 +211,7 @@ in {
system.defaults.NSGlobalDomain.NSScrollAnimationEnabled = mkOption { system.defaults.NSGlobalDomain.NSScrollAnimationEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable smooth scrolling. The default is true. Whether to enable smooth scrolling. The default is true.
''; '';
}; };
@ -220,7 +220,7 @@ in {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
example = 0.20; example = 0.20;
description = '' description = lib.mdDoc ''
Sets the speed speed of window resizing. The default is given in the example. Sets the speed speed of window resizing. The default is given in the example.
''; '';
}; };
@ -228,7 +228,7 @@ in {
system.defaults.NSGlobalDomain.InitialKeyRepeat = mkOption { system.defaults.NSGlobalDomain.InitialKeyRepeat = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Keyboard Apple menu > System Preferences > Keyboard
If you press and hold certain keyboard keys when in a text area, the keys character begins to repeat. If you press and hold certain keyboard keys when in a text area, the keys character begins to repeat.
@ -241,7 +241,7 @@ in {
system.defaults.NSGlobalDomain.KeyRepeat = mkOption { system.defaults.NSGlobalDomain.KeyRepeat = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Keyboard Apple menu > System Preferences > Keyboard
If you press and hold certain keyboard keys when in a text area, the keys character begins to repeat. If you press and hold certain keyboard keys when in a text area, the keys character begins to repeat.
@ -254,7 +254,7 @@ in {
system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint = mkOption { system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use the expanded print panel by default. The default is false. Whether to use the expanded print panel by default. The default is false.
''; '';
}; };
@ -262,7 +262,7 @@ in {
system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint2 = mkOption { system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint2 = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use the expanded print panel by default. The default is false. Whether to use the expanded print panel by default. The default is false.
''; '';
}; };
@ -270,7 +270,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.keyboard.fnState" = mkOption { system.defaults.NSGlobalDomain."com.apple.keyboard.fnState" = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Use F1, F2, etc. keys as standard function keys. Use F1, F2, etc. keys as standard function keys.
''; '';
}; };
@ -278,7 +278,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.mouse.tapBehavior" = mkOption { system.defaults.NSGlobalDomain."com.apple.mouse.tapBehavior" = mkOption {
type = types.nullOr (types.enum [ 1 ]); type = types.nullOr (types.enum [ 1 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Configures the trackpad tap behavior. Mode 1 enables tap to click. Configures the trackpad tap behavior. Mode 1 enables tap to click.
''; '';
}; };
@ -286,7 +286,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.sound.beep.volume" = mkOption { system.defaults.NSGlobalDomain."com.apple.sound.beep.volume" = mkOption {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Sound Apple menu > System Preferences > Sound
Sets the beep/alert volume level from 0.000 (muted) to 1.000 (100% volume). Sets the beep/alert volume level from 0.000 (muted) to 1.000 (100% volume).
@ -302,7 +302,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.sound.beep.feedback" = mkOption { system.defaults.NSGlobalDomain."com.apple.sound.beep.feedback" = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Sound Apple menu > System Preferences > Sound
Make a feedback sound when the system volume changed. This setting accepts Make a feedback sound when the system volume changed. This setting accepts
@ -313,7 +313,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.trackpad.enableSecondaryClick" = mkOption { system.defaults.NSGlobalDomain."com.apple.trackpad.enableSecondaryClick" = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable trackpad secondary click. The default is true. Whether to enable trackpad secondary click. The default is true.
''; '';
}; };
@ -321,7 +321,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = mkOption { system.defaults.NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = mkOption {
type = types.nullOr (types.enum [ 1 ]); type = types.nullOr (types.enum [ 1 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Configures the trackpad corner click behavior. Mode 1 enables right click. Configures the trackpad corner click behavior. Mode 1 enables right click.
''; '';
}; };
@ -329,7 +329,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.trackpad.scaling" = mkOption { system.defaults.NSGlobalDomain."com.apple.trackpad.scaling" = mkOption {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
description = '' description = lib.mdDoc ''
Configures the trackpad tracking speed (0 to 3). The default is "1". Configures the trackpad tracking speed (0 to 3). The default is "1".
''; '';
}; };
@ -337,7 +337,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.springing.enabled" = mkOption { system.defaults.NSGlobalDomain."com.apple.springing.enabled" = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable spring loading (expose) for directories. Whether to enable spring loading (expose) for directories.
''; '';
}; };
@ -346,7 +346,7 @@ in {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
example = 1.0; example = 1.0;
description = '' description = lib.mdDoc ''
Set the spring loading delay for directories. The default is given in the example. Set the spring loading delay for directories. The default is given in the example.
''; '';
}; };
@ -354,7 +354,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.swipescrolldirection" = mkOption { system.defaults.NSGlobalDomain."com.apple.swipescrolldirection" = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable "Natural" scrolling direction. The default is true. Whether to enable "Natural" scrolling direction. The default is true.
''; '';
}; };
@ -362,7 +362,7 @@ in {
system.defaults.NSGlobalDomain.AppleMeasurementUnits = mkOption { system.defaults.NSGlobalDomain.AppleMeasurementUnits = mkOption {
type = types.nullOr (types.enum [ "Centimeters" "Inches" ]); type = types.nullOr (types.enum [ "Centimeters" "Inches" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use centimeters (metric) or inches (US, UK) as the measurement unit. The default is based on region settings. Whether to use centimeters (metric) or inches (US, UK) as the measurement unit. The default is based on region settings.
''; '';
}; };
@ -370,7 +370,7 @@ in {
system.defaults.NSGlobalDomain.AppleMetricUnits = mkOption { system.defaults.NSGlobalDomain.AppleMetricUnits = mkOption {
type = types.nullOr (types.enum [ 0 1 ]); type = types.nullOr (types.enum [ 0 1 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use the metric system. The default is based on region settings. Whether to use the metric system. The default is based on region settings.
''; '';
}; };
@ -378,7 +378,7 @@ in {
system.defaults.NSGlobalDomain.AppleTemperatureUnit = mkOption { system.defaults.NSGlobalDomain.AppleTemperatureUnit = mkOption {
type = types.nullOr (types.enum [ "Celsius" "Fahrenheit" ]); type = types.nullOr (types.enum [ "Celsius" "Fahrenheit" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use Celsius or Fahrenheit. The default is based on region settings. Whether to use Celsius or Fahrenheit. The default is based on region settings.
''; '';
}; };
@ -386,7 +386,7 @@ in {
system.defaults.NSGlobalDomain.AppleICUForce24HourTime = mkOption { system.defaults.NSGlobalDomain.AppleICUForce24HourTime = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to use 24-hour or 12-hour time. The default is based on region settings. Whether to use 24-hour or 12-hour time. The default is based on region settings.
''; '';
}; };
@ -394,7 +394,7 @@ in {
system.defaults.NSGlobalDomain._HIHideMenuBar = mkOption { system.defaults.NSGlobalDomain._HIHideMenuBar = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to autohide the menu bar. The default is false. Whether to autohide the menu bar. The default is false.
''; '';
}; };

View file

@ -7,7 +7,7 @@ with lib;
system.defaults.SoftwareUpdate.AutomaticallyInstallMacOSUpdates = mkOption { system.defaults.SoftwareUpdate.AutomaticallyInstallMacOSUpdates = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Automatically install Mac OS software updates. Defaults to false. Automatically install Mac OS software updates. Defaults to false.
''; '';
}; };

View file

@ -7,7 +7,7 @@ with lib;
system.defaults.alf.globalstate = mkOption { system.defaults.alf.globalstate = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall Apple menu > System Preferences > Security and Privacy > Firewall
Enable the internal firewall to prevent unauthorised applications, programs Enable the internal firewall to prevent unauthorised applications, programs
@ -22,7 +22,7 @@ with lib;
system.defaults.alf.allowsignedenabled = mkOption { system.defaults.alf.allowsignedenabled = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall Apple menu > System Preferences > Security and Privacy > Firewall
Allows any signed Application to accept incoming requests. Default is true. Allows any signed Application to accept incoming requests. Default is true.
@ -35,7 +35,7 @@ with lib;
system.defaults.alf.allowdownloadsignedenabled = mkOption { system.defaults.alf.allowdownloadsignedenabled = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall Apple menu > System Preferences > Security and Privacy > Firewall
Allows any downloaded Application that has been signed to accept incoming requests. Default is 0. Allows any downloaded Application that has been signed to accept incoming requests. Default is 0.
@ -48,7 +48,7 @@ with lib;
system.defaults.alf.loggingenabled = mkOption { system.defaults.alf.loggingenabled = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall Apple menu > System Preferences > Security and Privacy > Firewall
Enable logging of requests made to the firewall. Default is 0. Enable logging of requests made to the firewall. Default is 0.
@ -61,7 +61,7 @@ with lib;
system.defaults.alf.stealthenabled = mkOption { system.defaults.alf.stealthenabled = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Security and firewall Apple menu > System Preferences > Security and firewall
Drops incoming requests via ICMP such as ping requests. Default is 0. Drops incoming requests via ICMP such as ping requests. Default is 0.

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.menuExtraClock.IsAnalog = mkOption { system.defaults.menuExtraClock.IsAnalog = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show an analog clock instead of a digital one. Default is null. Show an analog clock instead of a digital one. Default is null.
''; '';
}; };
@ -16,7 +16,7 @@ with lib;
system.defaults.menuExtraClock.Show24Hour = mkOption { system.defaults.menuExtraClock.Show24Hour = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show a 24-hour clock, instead of a 12-hour clock. Default is null. Show a 24-hour clock, instead of a 12-hour clock. Default is null.
''; '';
}; };
@ -24,7 +24,7 @@ with lib;
system.defaults.menuExtraClock.ShowAMPM = mkOption { system.defaults.menuExtraClock.ShowAMPM = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show the AM/PM label. Useful if Show24Hour is false. Default is null. Show the AM/PM label. Useful if Show24Hour is false. Default is null.
''; '';
}; };
@ -32,7 +32,7 @@ with lib;
system.defaults.menuExtraClock.ShowDayOfMonth = mkOption { system.defaults.menuExtraClock.ShowDayOfMonth = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show the day of the month. Default is null. Show the day of the month. Default is null.
''; '';
}; };
@ -40,7 +40,7 @@ with lib;
system.defaults.menuExtraClock.ShowDayOfWeek = mkOption { system.defaults.menuExtraClock.ShowDayOfWeek = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show the day of the week. Default is null. Show the day of the week. Default is null.
''; '';
}; };
@ -48,7 +48,7 @@ with lib;
system.defaults.menuExtraClock.ShowDate = mkOption { system.defaults.menuExtraClock.ShowDate = mkOption {
type = types.nullOr (types.enum [ 0 1 2 ]); type = types.nullOr (types.enum [ 0 1 2 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Show the full date. Default is null. Show the full date. Default is null.
0 = Show the date 0 = Show the date
@ -62,7 +62,7 @@ with lib;
system.defaults.menuExtraClock.ShowSeconds = mkOption { system.defaults.menuExtraClock.ShowSeconds = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show the clock with second precision, instead of minutes. Default is null. Show the clock with second precision, instead of minutes. Default is null.
''; '';
}; };

View file

@ -11,7 +11,7 @@ in {
system.defaults.dock.appswitcher-all-displays = mkOption { system.defaults.dock.appswitcher-all-displays = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to display the appswitcher on all displays or only the main one. The default is false. Whether to display the appswitcher on all displays or only the main one. The default is false.
''; '';
}; };
@ -19,7 +19,7 @@ in {
system.defaults.dock.autohide = mkOption { system.defaults.dock.autohide = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to automatically hide and show the dock. The default is false. Whether to automatically hide and show the dock. The default is false.
''; '';
}; };
@ -28,7 +28,7 @@ in {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
example = 0.24; example = 0.24;
description = '' description = lib.mdDoc ''
Sets the speed of the autohide delay. The default is given in the example. Sets the speed of the autohide delay. The default is given in the example.
''; '';
}; };
@ -37,7 +37,7 @@ in {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
example = 1.0; example = 1.0;
description = '' description = lib.mdDoc ''
Sets the speed of the animation when hiding/showing the Dock. The default is given in the example. Sets the speed of the animation when hiding/showing the Dock. The default is given in the example.
''; '';
}; };
@ -45,7 +45,7 @@ in {
system.defaults.dock.dashboard-in-overlay = mkOption { system.defaults.dock.dashboard-in-overlay = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to hide Dashboard as a Space. The default is false. Whether to hide Dashboard as a Space. The default is false.
''; '';
}; };
@ -53,7 +53,7 @@ in {
system.defaults.dock.enable-spring-load-actions-on-all-items = mkOption { system.defaults.dock.enable-spring-load-actions-on-all-items = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Enable spring loading for all Dock items. The default is false. Enable spring loading for all Dock items. The default is false.
''; '';
}; };
@ -62,7 +62,7 @@ in {
type = types.nullOr floatWithDeprecationError; type = types.nullOr floatWithDeprecationError;
default = null; default = null;
example = 1.0; example = 1.0;
description = '' description = lib.mdDoc ''
Sets the speed of the Mission Control animations. The default is given in the example. Sets the speed of the Mission Control animations. The default is given in the example.
''; '';
}; };
@ -70,7 +70,7 @@ in {
system.defaults.dock.expose-group-by-app = mkOption { system.defaults.dock.expose-group-by-app = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to group windows by application in Mission Control's Exposé. The default is true. Whether to group windows by application in Mission Control's Exposé. The default is true.
''; '';
}; };
@ -78,7 +78,7 @@ in {
system.defaults.dock.launchanim = mkOption { system.defaults.dock.launchanim = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Animate opening applications from the Dock. The default is true. Animate opening applications from the Dock. The default is true.
''; '';
}; };
@ -86,7 +86,7 @@ in {
system.defaults.dock.mineffect = mkOption { system.defaults.dock.mineffect = mkOption {
type = types.nullOr (types.enum [ "genie" "suck" "scale" ]); type = types.nullOr (types.enum [ "genie" "suck" "scale" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Set the minimize/maximize window effect. The default is genie. Set the minimize/maximize window effect. The default is genie.
''; '';
}; };
@ -94,7 +94,7 @@ in {
system.defaults.dock.minimize-to-application = mkOption { system.defaults.dock.minimize-to-application = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to minimize windows into their application icon. The default is false. Whether to minimize windows into their application icon. The default is false.
''; '';
}; };
@ -102,7 +102,7 @@ in {
system.defaults.dock.mouse-over-hilite-stack = mkOption { system.defaults.dock.mouse-over-hilite-stack = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Enable highlight hover effect for the grid view of a stack in the Dock. Enable highlight hover effect for the grid view of a stack in the Dock.
''; '';
}; };
@ -110,7 +110,7 @@ in {
system.defaults.dock.mru-spaces = mkOption { system.defaults.dock.mru-spaces = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to automatically rearrange spaces based on most recent use. The default is true. Whether to automatically rearrange spaces based on most recent use. The default is true.
''; '';
}; };
@ -118,7 +118,7 @@ in {
system.defaults.dock.orientation = mkOption { system.defaults.dock.orientation = mkOption {
type = types.nullOr (types.enum [ "bottom" "left" "right" ]); type = types.nullOr (types.enum [ "bottom" "left" "right" ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
Position of the dock on screen. The default is "bottom". Position of the dock on screen. The default is "bottom".
''; '';
}; };
@ -126,7 +126,7 @@ in {
system.defaults.dock.show-process-indicators = mkOption { system.defaults.dock.show-process-indicators = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show indicator lights for open applications in the Dock. The default is true. Show indicator lights for open applications in the Dock. The default is true.
''; '';
}; };
@ -134,7 +134,7 @@ in {
system.defaults.dock.showhidden = mkOption { system.defaults.dock.showhidden = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to make icons of hidden applications tranclucent. The default is false. Whether to make icons of hidden applications tranclucent. The default is false.
''; '';
}; };
@ -142,7 +142,7 @@ in {
system.defaults.dock.show-recents = mkOption { system.defaults.dock.show-recents = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show recent applications in the dock. The default is true. Show recent applications in the dock. The default is true.
''; '';
}; };
@ -150,7 +150,7 @@ in {
system.defaults.dock.static-only = mkOption { system.defaults.dock.static-only = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show only open applications in the Dock. The default is false. Show only open applications in the Dock. The default is false.
''; '';
}; };
@ -158,7 +158,7 @@ in {
system.defaults.dock.tilesize = mkOption { system.defaults.dock.tilesize = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
Size of the icons in the dock. The default is 64. Size of the icons in the dock. The default is 64.
''; '';
}; };

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.finder.AppleShowAllFiles = mkOption { system.defaults.finder.AppleShowAllFiles = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to always show hidden files. The default is false. Whether to always show hidden files. The default is false.
''; '';
}; };
@ -16,7 +16,7 @@ with lib;
system.defaults.finder.ShowStatusBar = mkOption { system.defaults.finder.ShowStatusBar = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show status bar at bottom of finder windows with item/disk space stats. The default is false. Show status bar at bottom of finder windows with item/disk space stats. The default is false.
''; '';
}; };
@ -24,7 +24,7 @@ with lib;
system.defaults.finder.ShowPathbar = mkOption { system.defaults.finder.ShowPathbar = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Show path breadcrumbs in finder windows. The default is false. Show path breadcrumbs in finder windows. The default is false.
''; '';
}; };
@ -32,7 +32,7 @@ with lib;
system.defaults.finder.FXDefaultSearchScope = mkOption { system.defaults.finder.FXDefaultSearchScope = mkOption {
type = types.nullOr types.string; type = types.nullOr types.string;
default = null; default = null;
description = '' description = lib.mdDoc ''
Change the default search scope. Use "SCcf" to default to current folder. Change the default search scope. Use "SCcf" to default to current folder.
The default is unset ("This Mac"). The default is unset ("This Mac").
''; '';
@ -41,7 +41,7 @@ with lib;
system.defaults.finder.FXPreferredViewStyle = mkOption { system.defaults.finder.FXPreferredViewStyle = mkOption {
type = types.nullOr types.string; type = types.nullOr types.string;
default = null; default = null;
description = '' description = lib.mdDoc ''
Change the default finder view. Change the default finder view.
"icnv" = Icon view, "Nlsv" = List view, "clmv" = Column View, "Flwv" = Gallery View "icnv" = Icon view, "Nlsv" = List view, "clmv" = Column View, "Flwv" = Gallery View
The default is icnv. The default is icnv.
@ -51,7 +51,7 @@ with lib;
system.defaults.finder.AppleShowAllExtensions = mkOption { system.defaults.finder.AppleShowAllExtensions = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to always show file extensions. The default is false. Whether to always show file extensions. The default is false.
''; '';
}; };
@ -59,7 +59,7 @@ with lib;
system.defaults.finder.CreateDesktop = mkOption { system.defaults.finder.CreateDesktop = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to show icons on the desktop or not. The default is true. Whether to show icons on the desktop or not. The default is true.
''; '';
}; };
@ -67,7 +67,7 @@ with lib;
system.defaults.finder.QuitMenuItem = mkOption { system.defaults.finder.QuitMenuItem = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to allow quitting of the Finder. The default is false. Whether to allow quitting of the Finder. The default is false.
''; '';
}; };
@ -75,7 +75,7 @@ with lib;
system.defaults.finder._FXShowPosixPathInTitle = mkOption { system.defaults.finder._FXShowPosixPathInTitle = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to show the full POSIX filepath in the window title. The default is false. Whether to show the full POSIX filepath in the window title. The default is false.
''; '';
}; };
@ -83,7 +83,7 @@ with lib;
system.defaults.finder.FXEnableExtensionChangeWarning = mkOption { system.defaults.finder.FXEnableExtensionChangeWarning = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to show warnings when change the file extension of files. The default is true. Whether to show warnings when change the file extension of files. The default is true.
''; '';
}; };

View file

@ -7,7 +7,7 @@ with lib;
system.defaults.loginwindow.SHOWFULLNAME = mkOption { system.defaults.loginwindow.SHOWFULLNAME = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Displays login window as a name and password field instead of a list of users. Displays login window as a name and password field instead of a list of users.
@ -18,7 +18,7 @@ with lib;
system.defaults.loginwindow.autoLoginUser = mkOption { system.defaults.loginwindow.autoLoginUser = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Auto login the supplied user on boot. Default is Off. Auto login the supplied user on boot. Default is Off.
@ -28,7 +28,7 @@ with lib;
system.defaults.loginwindow.GuestEnabled = mkOption { system.defaults.loginwindow.GuestEnabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Allow users to login to the machine as guests using the Guest account. Default is true. Allow users to login to the machine as guests using the Guest account. Default is true.
@ -46,7 +46,7 @@ with lib;
system.defaults.loginwindow.ShutDownDisabled = mkOption { system.defaults.loginwindow.ShutDownDisabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Hides the Shut Down button on the login screen. Default is false. Hides the Shut Down button on the login screen. Default is false.
@ -56,7 +56,7 @@ with lib;
system.defaults.loginwindow.SleepDisabled = mkOption { system.defaults.loginwindow.SleepDisabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Hides the Sleep button on the login screen. Default is false. Hides the Sleep button on the login screen. Default is false.
@ -66,7 +66,7 @@ with lib;
system.defaults.loginwindow.RestartDisabled = mkOption { system.defaults.loginwindow.RestartDisabled = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Hides the Restart button on the login screen. Default is false. Hides the Restart button on the login screen. Default is false.
@ -76,7 +76,7 @@ with lib;
system.defaults.loginwindow.ShutDownDisabledWhileLoggedIn = mkOption { system.defaults.loginwindow.ShutDownDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Disables the "Shutdown" option when users are logged in. Default is false. Disables the "Shutdown" option when users are logged in. Default is false.
@ -86,7 +86,7 @@ with lib;
system.defaults.loginwindow.PowerOffDisabledWhileLoggedIn = mkOption { system.defaults.loginwindow.PowerOffDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
If set to true, the Power Off menu item will be disabled when the user is logged in. Default is false. If set to true, the Power Off menu item will be disabled when the user is logged in. Default is false.
@ -96,7 +96,7 @@ with lib;
system.defaults.loginwindow.RestartDisabledWhileLoggedIn = mkOption { system.defaults.loginwindow.RestartDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options Apple menu > System Preferences > Users and Groups > Login Options
Disables the Restart option when users are logged in. Default is false. Disables the Restart option when users are logged in. Default is false.
@ -106,7 +106,7 @@ with lib;
system.defaults.loginwindow.DisableConsoleAccess = mkOption { system.defaults.loginwindow.DisableConsoleAccess = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Disables the ability for a user to access the console by typing >console Disables the ability for a user to access the console by typing >console
for a username at the login window. Default is false. for a username at the login window. Default is false.
''; '';

View file

@ -11,7 +11,7 @@ with lib;
"TwoButton" "TwoButton"
]); ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
"OneButton": any tap is a left click. "TwoButton": allow left- "OneButton": any tap is a left click. "TwoButton": allow left-
and right-clicking. and right-clicking.
''; '';

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.screencapture.location = mkOption { system.defaults.screencapture.location = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
The filesystem path to which screencaptures should be written. The filesystem path to which screencaptures should be written.
''; '';
}; };
@ -16,7 +16,7 @@ with lib;
system.defaults.screencapture.type = mkOption { system.defaults.screencapture.type = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = '' description = lib.mdDoc ''
The image format to use, such as "jpg". The image format to use, such as "jpg".
''; '';
}; };
@ -24,7 +24,7 @@ with lib;
system.defaults.screencapture.disable-shadow = mkOption { system.defaults.screencapture.disable-shadow = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Disable drop shadow border around screencaptures. The default is false. Disable drop shadow border around screencaptures. The default is false.
''; '';
}; };

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.screensaver.askForPassword = mkOption { system.defaults.screensaver.askForPassword = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
If true, the user is prompted for a password when the screen saver is unlocked or stopped. The default is false. If true, the user is prompted for a password when the screen saver is unlocked or stopped. The default is false.
''; '';
}; };
@ -16,7 +16,7 @@ with lib;
system.defaults.screensaver.askForPasswordDelay = mkOption { system.defaults.screensaver.askForPasswordDelay = mkOption {
type = types.nullOr types.int; type = types.nullOr types.int;
default = null; default = null;
description = '' description = lib.mdDoc ''
The number of seconds to delay before the password will be required to unlock or stop the screen saver (the grace period). The number of seconds to delay before the password will be required to unlock or stop the screen saver (the grace period).
''; '';
}; };

View file

@ -7,13 +7,13 @@ with lib;
system.defaults.smb.NetBIOSName = mkOption { system.defaults.smb.NetBIOSName = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = "Hostname to use for NetBIOS."; description = lib.mdDoc "Hostname to use for NetBIOS.";
}; };
system.defaults.smb.ServerDescription = mkOption { system.defaults.smb.ServerDescription = mkOption {
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
description = "Hostname to use for sharing services."; description = lib.mdDoc "Hostname to use for sharing services.";
}; };
}; };
} }

View file

@ -7,7 +7,7 @@ with lib;
system.defaults.spaces.spans-displays = mkOption { system.defaults.spaces.spans-displays = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Apple menu > System Preferences > Mission Control Apple menu > System Preferences > Mission Control
Displays have separate Spaces (note a logout is required before Displays have separate Spaces (note a logout is required before

View file

@ -8,7 +8,7 @@ with lib;
system.defaults.trackpad.Clicking = mkOption { system.defaults.trackpad.Clicking = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable trackpad tap to click. The default is false. Whether to enable trackpad tap to click. The default is false.
''; '';
}; };
@ -16,7 +16,7 @@ with lib;
system.defaults.trackpad.Dragging = mkOption { system.defaults.trackpad.Dragging = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable tap-to-drag. The default is false. Whether to enable tap-to-drag. The default is false.
''; '';
}; };
@ -24,7 +24,7 @@ with lib;
system.defaults.trackpad.TrackpadRightClick = mkOption { system.defaults.trackpad.TrackpadRightClick = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable trackpad right click. The default is false. Whether to enable trackpad right click. The default is false.
''; '';
}; };
@ -32,7 +32,7 @@ with lib;
system.defaults.trackpad.TrackpadThreeFingerDrag = mkOption { system.defaults.trackpad.TrackpadThreeFingerDrag = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Whether to enable three finger drag. The default is false. Whether to enable three finger drag. The default is false.
''; '';
}; };
@ -40,7 +40,7 @@ with lib;
system.defaults.trackpad.ActuationStrength = mkOption { system.defaults.trackpad.ActuationStrength = mkOption {
type = types.nullOr (types.enum [ 0 1 ]); type = types.nullOr (types.enum [ 0 1 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
0 to enable Silent Clicking, 1 to disable. The default is 1. 0 to enable Silent Clicking, 1 to disable. The default is 1.
''; '';
}; };
@ -48,7 +48,7 @@ with lib;
system.defaults.trackpad.FirstClickThreshold = mkOption { system.defaults.trackpad.FirstClickThreshold = mkOption {
type = types.nullOr (types.enum [ 0 1 2 ]); type = types.nullOr (types.enum [ 0 1 2 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
For normal click: 0 for light clicking, 1 for medium, 2 for firm. For normal click: 0 for light clicking, 1 for medium, 2 for firm.
The default is 1. The default is 1.
''; '';
@ -57,7 +57,7 @@ with lib;
system.defaults.trackpad.SecondClickThreshold = mkOption { system.defaults.trackpad.SecondClickThreshold = mkOption {
type = types.nullOr (types.enum [ 0 1 2 ]); type = types.nullOr (types.enum [ 0 1 2 ]);
default = null; default = null;
description = '' description = lib.mdDoc ''
For force touch: 0 for light clicking, 1 for medium, 2 for firm. For force touch: 0 for light clicking, 1 for medium, 2 for firm.
The default is 1. The default is 1.
''; '';

View file

@ -9,7 +9,7 @@ with lib;
type = types.nullOr types.float; type = types.nullOr types.float;
default = null; default = null;
example = 1.5; example = 1.5;
description = '' description = lib.mdDoc ''
Set the size of cursor. 1 for normal, 4 for maximum. Set the size of cursor. 1 for normal, 4 for maximum.
The default is 1. The default is 1.
''; '';
@ -18,7 +18,7 @@ with lib;
system.defaults.universalaccess.reduceTransparency = mkOption { system.defaults.universalaccess.reduceTransparency = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Disable transparency in the menu bar and elsewhere. Disable transparency in the menu bar and elsewhere.
Requires macOS Yosemite or later. Requires macOS Yosemite or later.
The default is false. The default is false.
@ -28,7 +28,7 @@ with lib;
system.defaults.universalaccess.closeViewScrollWheelToggle = mkOption { system.defaults.universalaccess.closeViewScrollWheelToggle = mkOption {
type = types.nullOr types.bool; type = types.nullOr types.bool;
default = null; default = null;
description = '' description = lib.mdDoc ''
Use scroll gesture with the Ctrl (^) modifier key to zoom. Use scroll gesture with the Ctrl (^) modifier key to zoom.
The default is false. The default is false.
''; '';

View file

@ -23,8 +23,8 @@ in
environment.etc = mkOption { environment.etc = mkOption {
type = types.attrsOf (types.submodule text); type = types.attrsOf (types.submodule text);
default = { }; default = { };
description = '' description = lib.mdDoc ''
Set of files that have to be linked in <filename>/etc</filename>. Set of files that have to be linked in {file}`/etc`.
''; '';
}; };

View file

@ -11,40 +11,40 @@ in
system.keyboard.enableKeyMapping = mkOption { system.keyboard.enableKeyMapping = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable keyboard mappings."; description = lib.mdDoc "Whether to enable keyboard mappings.";
}; };
system.keyboard.remapCapsLockToControl = mkOption { system.keyboard.remapCapsLockToControl = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to remap the Caps Lock key to Control."; description = lib.mdDoc "Whether to remap the Caps Lock key to Control.";
}; };
system.keyboard.remapCapsLockToEscape = mkOption { system.keyboard.remapCapsLockToEscape = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to remap the Caps Lock key to Escape."; description = lib.mdDoc "Whether to remap the Caps Lock key to Escape.";
}; };
system.keyboard.nonUS.remapTilde = mkOption { system.keyboard.nonUS.remapTilde = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to remap the Tilde key on non-us keyboards."; description = lib.mdDoc "Whether to remap the Tilde key on non-us keyboards.";
}; };
system.keyboard.swapLeftCommandAndLeftAlt = mkOption { system.keyboard.swapLeftCommandAndLeftAlt = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to swap the left Command key and left Alt key."; description = lib.mdDoc "Whether to swap the left Command key and left Alt key.";
}; };
system.keyboard.userKeyMapping = mkOption { system.keyboard.userKeyMapping = mkOption {
internal = true; internal = true;
type = types.listOf (types.attrsOf types.int); type = types.listOf (types.attrsOf types.int);
default = []; default = [];
description = '' description = lib.mdDoc ''
List of keyboard mappings to apply, for more information see List of keyboard mappings to apply, for more information see
<link xlink:href="https://developer.apple.com/library/content/technotes/tn2450/_index.html"/>. <https://developer.apple.com/library/content/technotes/tn2450/_index.html>.
''; '';
}; };
}; };

View file

@ -59,24 +59,24 @@ in
environment.launchAgents = mkOption { environment.launchAgents = mkOption {
type = types.attrsOf (types.submodule text); type = types.attrsOf (types.submodule text);
default = { }; default = { };
description = '' description = lib.mdDoc ''
Set of files that have to be linked in <filename>/Library/LaunchAgents</filename>. Set of files that have to be linked in {file}`/Library/LaunchAgents`.
''; '';
}; };
environment.launchDaemons = mkOption { environment.launchDaemons = mkOption {
type = types.attrsOf (types.submodule text); type = types.attrsOf (types.submodule text);
default = { }; default = { };
description = '' description = lib.mdDoc ''
Set of files that have to be linked in <filename>/Library/LaunchDaemons</filename>. Set of files that have to be linked in {file}`/Library/LaunchDaemons`.
''; '';
}; };
environment.userLaunchAgents = mkOption { environment.userLaunchAgents = mkOption {
type = types.attrsOf (types.submodule text); type = types.attrsOf (types.submodule text);
default = { }; default = { };
description = '' description = lib.mdDoc ''
Set of files that have to be linked in <filename>~/Library/LaunchAgents</filename>. Set of files that have to be linked in {file}`~/Library/LaunchAgents`.
''; '';
}; };

View file

@ -26,12 +26,14 @@ in
'''') '''')
] ]
''; '';
description = '' description = lib.mdDoc ''
Set of patches to apply to <filename>/</filename>. Set of patches to apply to {file}`/`.
<warning><para> ::: {.warning}
This can modify everything so use with caution. This can modify everything so use with caution.
</para></warning>
:::
Useful for safely changing system files. Unlike the etc module this Useful for safely changing system files. Unlike the etc module this
won't remove or modify files with unexpected content. won't remove or modify files with unexpected content.

View file

@ -12,9 +12,9 @@ in
type = types.listOf (types.either types.shellPackage types.path); type = types.listOf (types.either types.shellPackage types.path);
default = []; default = [];
example = literalExpression "[ pkgs.bashInteractive pkgs.zsh ]"; example = literalExpression "[ pkgs.bashInteractive pkgs.zsh ]";
description = '' description = lib.mdDoc ''
A list of permissible login shells for user accounts. A list of permissible login shells for user accounts.
No need to mention <literal>/bin/sh</literal> No need to mention `/bin/sh`
and other shells that are available by default on and other shells that are available by default on
macOS. macOS.
''; '';

View file

@ -35,7 +35,7 @@ in
system.stateVersion = mkOption { system.stateVersion = mkOption {
type = types.int; type = types.int;
default = 4; default = 4;
description = '' description = lib.mdDoc ''
Every once in a while, a new NixOS release may change Every once in a while, a new NixOS release may change
configuration defaults in a way incompatible with stateful configuration defaults in a way incompatible with stateful
data. For instance, if the default version of PostgreSQL data. For instance, if the default version of PostgreSQL
@ -50,50 +50,50 @@ in
system.darwinLabel = mkOption { system.darwinLabel = mkOption {
type = types.str; type = types.str;
description = "Label to be used in the names of generated outputs."; description = lib.mdDoc "Label to be used in the names of generated outputs.";
}; };
system.darwinVersion = mkOption { system.darwinVersion = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = "The full darwin version (e.g. <literal>darwin4.master</literal>)."; description = lib.mdDoc "The full darwin version (e.g. `darwin4.master`).";
}; };
system.darwinVersionSuffix = mkOption { system.darwinVersionSuffix = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = "The short darwin version suffix (e.g. <literal>.2abdb5a</literal>)."; description = lib.mdDoc "The short darwin version suffix (e.g. `.2abdb5a`).";
}; };
system.darwinRevision = mkOption { system.darwinRevision = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
default = "master"; default = "master";
description = "The darwin git revision from which this configuration was built."; description = lib.mdDoc "The darwin git revision from which this configuration was built.";
}; };
system.nixpkgsRelease = mkOption { system.nixpkgsRelease = mkOption {
readOnly = true; readOnly = true;
type = types.str; type = types.str;
description = "The nixpkgs release (e.g. <literal>16.03</literal>)."; description = lib.mdDoc "The nixpkgs release (e.g. `16.03`).";
}; };
system.nixpkgsVersion = mkOption { system.nixpkgsVersion = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = "The full nixpkgs version (e.g. <literal>16.03.1160.f2d4ee1</literal>)."; description = lib.mdDoc "The full nixpkgs version (e.g. `16.03.1160.f2d4ee1`).";
}; };
system.nixpkgsVersionSuffix = mkOption { system.nixpkgsVersionSuffix = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = "The short nixpkgs version suffix (e.g. <literal>.1160.f2d4ee1</literal>)."; description = lib.mdDoc "The short nixpkgs version suffix (e.g. `.1160.f2d4ee1`).";
}; };
system.nixpkgsRevision = mkOption { system.nixpkgsRevision = mkOption {
internal = true; internal = true;
type = types.str; type = types.str;
description = "The nixpkgs git revision from which this configuration was built."; description = lib.mdDoc "The nixpkgs git revision from which this configuration was built.";
}; };
}; };

View file

@ -23,10 +23,9 @@ in
type = types.nullOr types.str; type = types.nullOr types.str;
default = null; default = null;
example = "America/New_York"; example = "America/New_York";
description = '' description = lib.mdDoc ''
The time zone used when displaying times and dates. See <link The time zone used when displaying times and dates. See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/> or run {command}`sudo systemsetup -listtimezones`
or run <command>sudo systemsetup -listtimezones</command>
for a comprehensive list of possible values for this setting. for a comprehensive list of possible values for this setting.
''; '';
}; };

View file

@ -31,7 +31,7 @@ in
users.knownGroups = mkOption { users.knownGroups = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = lib.mdDoc ''
List of groups owned and managed by nix-darwin. Used to indicate List of groups owned and managed by nix-darwin. Used to indicate
what users are safe to create/delete based on the configuration. what users are safe to create/delete based on the configuration.
Don't add system groups to this. Don't add system groups to this.
@ -41,7 +41,7 @@ in
users.knownUsers = mkOption { users.knownUsers = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = '' description = lib.mdDoc ''
List of users owned and managed by nix-darwin. Used to indicate List of users owned and managed by nix-darwin. Used to indicate
what users are safe to create/delete based on the configuration. what users are safe to create/delete based on the configuration.
Don't add the admin user or other system users to this. Don't add the admin user or other system users to this.
@ -51,13 +51,13 @@ in
users.groups = mkOption { users.groups = mkOption {
type = types.attrsOf (types.submodule group); type = types.attrsOf (types.submodule group);
default = {}; default = {};
description = "Configuration for groups."; description = lib.mdDoc "Configuration for groups.";
}; };
users.users = mkOption { users.users = mkOption {
type = types.attrsOf (types.submodule user); type = types.attrsOf (types.submodule user);
default = {}; default = {};
description = "Configuration for users."; description = lib.mdDoc "Configuration for users.";
}; };
users.gids = mkOption { users.gids = mkOption {
@ -76,7 +76,7 @@ in
internal = true; internal = true;
type = types.bool; type = types.bool;
default = false; default = false;
description = "Remove and recreate existing groups/users."; description = lib.mdDoc "Remove and recreate existing groups/users.";
}; };
}; };

View file

@ -6,7 +6,7 @@ with lib;
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
The group's name. If undefined, the name of the attribute set The group's name. If undefined, the name of the attribute set
will be used. will be used.
''; '';
@ -17,19 +17,19 @@ with lib;
name = "gid"; name = "gid";
check = t: isInt t && t > 501; check = t: isInt t && t > 501;
}; };
description = "The group's GID."; description = lib.mdDoc "The group's GID.";
}; };
members = mkOption { members = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = []; default = [];
description = "The group's members."; description = lib.mdDoc "The group's members.";
}; };
description = mkOption { description = mkOption {
type = types.str; type = types.str;
default = ""; default = "";
description = "The group's description."; description = lib.mdDoc "The group's description.";
}; };
}; };

View file

@ -6,7 +6,7 @@ with lib;
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;
description = '' description = lib.mdDoc ''
The name of the user account. If undefined, the name of the The name of the user account. If undefined, the name of the
attribute set will be used. attribute set will be used.
''; '';
@ -16,7 +16,7 @@ with lib;
type = types.str; type = types.str;
default = ""; default = "";
example = "Alice Q. User"; example = "Alice Q. User";
description = '' description = lib.mdDoc ''
A short description of the user account, typically the A short description of the user account, typically the
user's full name. user's full name.
''; '';
@ -24,19 +24,19 @@ with lib;
uid = mkOption { uid = mkOption {
type = types.int; type = types.int;
description = "The user's UID."; description = lib.mdDoc "The user's UID.";
}; };
gid = mkOption { gid = mkOption {
type = types.int; type = types.int;
default = 20; default = 20;
description = "The user's primary group."; description = lib.mdDoc "The user's primary group.";
}; };
isHidden = mkOption { isHidden = mkOption {
type = types.bool; type = types.bool;
default = true; default = true;
description = "Whether to make the user account hidden."; description = lib.mdDoc "Whether to make the user account hidden.";
}; };
# extraGroups = mkOption { # extraGroups = mkOption {
@ -48,29 +48,29 @@ with lib;
home = mkOption { home = mkOption {
type = types.path; type = types.path;
default = "/var/empty"; default = "/var/empty";
description = "The user's home directory."; description = lib.mdDoc "The user's home directory.";
}; };
createHome = mkOption { createHome = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Create the home directory when creating the user."; description = lib.mdDoc "Create the home directory when creating the user.";
}; };
shell = mkOption { shell = mkOption {
type = types.either types.shellPackage types.path; type = types.either types.shellPackage types.path;
default = "/sbin/nologin"; default = "/sbin/nologin";
example = literalExpression "pkgs.bashInteractive"; example = literalExpression "pkgs.bashInteractive";
description = "The user's shell."; description = lib.mdDoc "The user's shell.";
}; };
packages = mkOption { packages = mkOption {
type = types.listOf types.package; type = types.listOf types.package;
default = []; default = [];
example = literalExpression "[ pkgs.firefox pkgs.thunderbird ]"; example = literalExpression "[ pkgs.firefox pkgs.thunderbird ]";
description = '' description = lib.mdDoc ''
The set of packages that should be made availabe to the user. The set of packages that should be made availabe to the user.
This is in contrast to <option>environment.systemPackages</option>, This is in contrast to {option}`environment.systemPackages`,
which adds packages to all users. which adds packages to all users.
''; '';
}; };