1
1
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-09-11 12:49:18 +03: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 {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
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.
'';
@ -101,8 +101,8 @@ in
documentation.man.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install manual pages and the <command>man</command> command.
description = lib.mdDoc ''
Whether to install manual pages and the {command}`man` command.
This also includes "man" outputs.
'';
};
@ -110,8 +110,8 @@ in
documentation.info.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install info pages and the <command>info</command> command.
description = lib.mdDoc ''
Whether to install info pages and the {command}`info` command.
This also includes "info" outputs.
'';
};
@ -119,8 +119,8 @@ in
documentation.doc.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install documentation distributed in packages' <literal>/share/doc</literal>.
description = lib.mdDoc ''
Whether to install documentation distributed in packages' `/share/doc`.
Usually plain text and/or HTML.
This also includes "doc" outputs.
'';

View File

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

View File

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

View File

@ -65,52 +65,52 @@ let
type = types.enum [ "none" "uninstall" "zap" ];
default = "none";
example = "uninstall";
description = ''
description = lib.mdDoc ''
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.
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.
When set to <literal>"uninstall"</literal>, <command>nix-darwin</command> invokes
<command>brew bundle [install]</command> with the <command>--cleanup</command> flag. This
When set to `"uninstall"`, {command}`nix-darwin` invokes
{command}`brew bundle [install]` with the {command}`--cleanup` flag. This
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
<command>brew bundle [install]</command> with the <command>--cleanup --zap</command>
When set to `"zap"`, {command}`nix-darwin` invokes
{command}`brew bundle [install]` with the {command}`--cleanup --zap`
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,
<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
<literal>"uninstall"</literal> or <literal>"zap"</literal>.
`"uninstall"` or `"zap"`.
'';
};
autoUpdate = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable Homebrew to auto-update itself and all formulae during
<command>nix-darwin</command> system activation. The default is <literal>false</literal>
so that repeated invocations of <command>darwin-rebuild switch</command> are idempotent.
{command}`nix-darwin` system activation. The default is `false`
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.
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
behavior see <xref linkend="opt-homebrew.global.autoUpdate"/>.
behavior see [](#opt-homebrew.global.autoUpdate).
'';
};
upgrade = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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>
so that repeated invocations of <command>darwin-rebuild switch</command> are idempotent.
{command}`nix-darwin` system activation. The default is `false`
so that repeated invocations of {command}`darwin-rebuild switch` are idempotent.
'';
};
@ -133,65 +133,65 @@ let
brewfile = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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
<xref linkend="opt-homebrew.global.lockfiles"/> to <literal>false</literal> since, with
this option enabled, <command>brew bundle [install]</command> will default to using the
[](#opt-homebrew.global.lockfiles) to `false` since, with
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
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
run successfully regardless).
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
<xref linkend="opt-environment.variables"/>.
[](#opt-environment.variables).
'';
};
autoUpdate = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
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>,
<command>brew tap</command>, and <command>brew bundle [install]</command>.
commands like {command}`brew install`, {command}`brew upgrade`,
{command}`brew tap`, and {command}`brew bundle [install]`.
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.
You may want to consider disabling this option if you have
<xref linkend="opt-homebrew.onActivation.upgrade"/> enabled, and
<xref linkend="opt-homebrew.onActivation.autoUpdate"/> disabled, if you want to ensure that
your installed formulae will only be upgraded during <command>nix-darwin</command> system
activation, after you've explicitly run <command>brew update</command>.
[](#opt-homebrew.onActivation.upgrade) enabled, and
[](#opt-homebrew.onActivation.autoUpdate) disabled, if you want to ensure that
your installed formulae will only be upgraded during {command}`nix-darwin` system
activation, after you've explicitly run {command}`brew update`.
Implementation note: when disabled, this option sets the
<literal>HOMEBREW_NO_AUTO_UPDATE</literal> environment variable, by adding it to
<xref linkend="opt-environment.variables"/>.
`HOMEBREW_NO_AUTO_UPDATE` environment variable, by adding it to
[](#opt-environment.variables).
'';
};
lockfiles = mkOption {
type = types.bool;
default = !config.brewfile;
defaultText = literalExpression "!config.homebrew.global.brewfile";
description = ''
description = lib.mdDoc ''
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
<xref linkend="opt-homebrew.global.brewfile"/> is enabled since, with that option enabled,
<command>brew bundle [install]</command> will default to using the Brewfile that this
This option will default to `false` if
[](#opt-homebrew.global.brewfile) is enabled since, with that 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 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
successfully regardless).
Implementation note: when disabled, this option sets the
<literal>HOMEBREW_BUNDLE_NO_LOCK</literal> environment variable, by adding it to
<xref linkend="opt-environment.variables"/>.
`HOMEBREW_BUNDLE_NO_LOCK` environment variable, by adding it to
[](#opt-environment.variables).
'';
};
@ -217,22 +217,22 @@ let
name = mkOption {
type = types.str;
example = "homebrew/cask-fonts";
description = ''
When <option>clone_target</option> is unspecified, this is the name of a formula
repository to tap from GitHub using HTTPS. For example, <literal>"user/repo"</literal>
description = lib.mdDoc ''
When {option}`clone_target` is unspecified, this is the name of a formula
repository to tap from GitHub using HTTPS. For example, `"user/repo"`
will tap https://github.com/user/homebrew-repo.
'';
};
clone_target = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
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.,
SSH, git, HTTP, FTP(S), rsync.
'';
};
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
hosted on GitHub are auto-updated (for performance reasons).
'';
@ -259,106 +259,106 @@ let
caskArgsOptions = { config, ... }: {
options = {
appdir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Applications.
Homebrew's default is <filename>/Applications</filename>.
Homebrew's default is {file}`/Applications`.
'';
};
colorpickerdir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Color Pickers.
Homebrew's default is <filename>~/Library/ColorPickers</filename>.
Homebrew's default is {file}`~/Library/ColorPickers`.
'';
};
prefpanedir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Preference Panes.
Homebrew's default is <filename>~/Library/PreferencePanes</filename>.
Homebrew's default is {file}`~/Library/PreferencePanes`.
'';
};
qlplugindir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for QuickLook Plugins.
Homebrew's default is <filename>~/Library/QuickLook</filename>.
Homebrew's default is {file}`~/Library/QuickLook`.
'';
};
mdimporterdir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Spotlight Plugins.
Homebrew's default is <filename>~/Library/Spotlight</filename>.
Homebrew's default is {file}`~/Library/Spotlight`.
'';
};
dictionarydir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Dictionaries.
Homebrew's default is <filename>~/Library/Dictionaries</filename>.
Homebrew's default is {file}`~/Library/Dictionaries`.
'';
};
fontdir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Fonts.
Homebrew's default is <filename>~/Library/Fonts</filename>.
Homebrew's default is {file}`~/Library/Fonts`.
'';
};
servicedir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
Target location for Services.
Homebrew's default is <filename>~/Library/Services</filename>.
Homebrew's default is {file}`~/Library/Services`.
'';
};
input_methoddir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
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 {
description = ''
description = lib.mdDoc ''
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 {
description = ''
description = lib.mdDoc ''
Target location for Audio Unit Plugins.
Homebrew's default is
<filename>~/Library/Audio/Plug-Ins/Components</filename>.
{file}`~/Library/Audio/Plug-Ins/Components`.
'';
};
vst_plugindir = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
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 {
description = ''
description = lib.mdDoc ''
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 {
description = ''
description = lib.mdDoc ''
Target location for Screen Savers.
Homebrew's default is <filename>~/Library/Screen Savers</filename>.
Homebrew's default is {file}`~/Library/Screen Savers`.
'';
};
language = mkNullOrStrOption {
description = ''
description = lib.mdDoc ''
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
is the language of your system.
@ -366,17 +366,17 @@ let
example = "zh-TW";
};
require_sha = mkNullOrBoolOption {
description = ''
description = lib.mdDoc ''
Whether to require cask(s) to have a checksum.
Homebrew's default is <literal>false</literal>.
Homebrew's default is `false`.
'';
};
no_quarantine = mkNullOrBoolOption {
description = "Whether to disable quarantining of downloads.";
description = lib.mdDoc "Whether to disable quarantining of downloads.";
};
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; };
@ -397,20 +397,20 @@ let
options = {
name = mkOption {
type = types.str;
description = "The name of the formula to install.";
description = lib.mdDoc "The name of the formula to install.";
};
args = mkOption {
type = with types; nullOr (listOf str);
default = null;
description = ''
Arguments flags to pass to <command>brew install</command>. Values should not include the
leading <literal>"--"</literal>.
description = lib.mdDoc ''
Arguments flags to pass to {command}`brew install`. Values should not include the
leading `"--"`.
'';
};
conflicts_with = mkOption {
type = with types; nullOr (listOf str);
default = null;
description = ''
description = lib.mdDoc ''
List of formulae that should be unlinked and their services stopped (if they are
installed).
'';
@ -418,26 +418,26 @@ let
restart_service = mkOption {
type = with types; nullOr (either bool (enum [ "changed" ]));
default = null;
description = ''
Whether to run <command>brew services restart</command> for the formula and register it to
launch at login (or boot). If set to <literal>"changed"</literal>, the service will only
description = lib.mdDoc ''
Whether to run {command}`brew services restart` for the formula and register it to
launch at login (or boot). If set to `"changed"`, the service will only
be restarted on version changes.
Homebrew's default is <literal>false</literal>.
Homebrew's default is `false`.
'';
};
start_service = mkNullOrBoolOption {
description = ''
Whether to run <command>brew services start</command> for the formula and register it to
description = lib.mdDoc ''
Whether to run {command}`brew services start` for the formula and register it to
launch at login (or boot).
Homebrew's default is <literal>false</literal>.
Homebrew's default is `false`.
'';
};
link = mkNullOrBoolOption {
description = ''
description = lib.mdDoc ''
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
currently linked and keg-only.
'';
@ -470,19 +470,19 @@ let
options = {
name = mkOption {
type = types.str;
description = "The name of the cask to install.";
description = lib.mdDoc "The name of the cask to install.";
};
args = mkOption {
type = types.nullOr (types.submodule caskArgsOptions);
default = null;
visible = "shallow"; # so that options from `homebrew.caskArgs` aren't repeated.
description = ''
Arguments passed to <command>brew install --cask</command> when installing this cask. See
<xref linkend="opt-homebrew.caskArgs"/> for the available options.
description = lib.mdDoc ''
Arguments passed to {command}`brew install --cask` when installing this cask. See
[](#opt-homebrew.caskArgs) for the available options.
'';
};
greedy = mkNullOrBoolOption {
description = ''
description = lib.mdDoc ''
Whether to always upgrade this cask regardless of whether it's unversioned or it updates
itself.
'';
@ -513,31 +513,31 @@ in
];
options.homebrew = {
enable = mkEnableOption ''
<command>nix-darwin</command> to manage installing/updating/upgrading Homebrew taps, formulae,
enable = mkEnableOption (lib.mdDoc ''
{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.
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"/>,
<xref linkend="opt-homebrew.masApps"/>, and <xref linkend="opt-homebrew.whalebrews"/> options
Use the [](#opt-homebrew.brews), [](#opt-homebrew.casks),
[](#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
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
<xref linkend="opt-homebrew.caskArgs"/> options) to generate a Brewfile that
<command>nix-darwin</command> passes to the <command>brew bundle</command> command during
[](#opt-homebrew.caskArgs) options) to generate a Brewfile that
{command}`nix-darwin` passes to the {command}`brew bundle` command during
system activation.
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
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
<xref linkend="opt-homebrew.onActivation"/>.
[](#opt-homebrew.onActivation).
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 {
type = types.str;
@ -546,8 +546,8 @@ in
if pkgs.stdenv.hostPlatform.isAarch64 then "/opt/homebrew/bin"
else "/usr/local/bin"
'';
description = ''
The path prefix where the <command>brew</command> executable is located. This will be set to
description = lib.mdDoc ''
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
manually installed Homebrew in a non-standard location.
'';
@ -556,16 +556,16 @@ in
onActivation = mkOption {
type = types.submodule onActivationOptions;
default = { };
description = ''
Options for configuring the behavior of the <command>brew bundle</command> command that
<command>nix-darwin</command> runs during system activation.
description = lib.mdDoc ''
Options for configuring the behavior of the {command}`brew bundle` command that
{command}`nix-darwin` runs during system activation.
'';
};
global = mkOption {
type = types.submodule globalOptions;
default = { };
description = ''
description = lib.mdDoc ''
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.
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;
}
'';
description = ''
Arguments passed to <command>brew install --cask</command> for all casks listed in
<xref linkend="opt-homebrew.casks"/>.
description = lib.mdDoc ''
Arguments passed to {command}`brew install --cask` for all casks listed in
[](#opt-homebrew.casks).
'';
};
@ -636,12 +636,12 @@ in
}
]
'';
description = ''
description = lib.mdDoc ''
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.
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;
}
'';
description = ''
Applications to install from Mac App Store using <command>mas</command>.
description = lib.mdDoc ''
Applications to install from Mac App Store using {command}`mas`.
When this option is used, <literal>"mas"</literal> is automatically added to
<xref linkend="opt-homebrew.brews"/>.
When this option is used, `"mas"` is automatically added to
[](#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
option will not be uninstalled automatically even if
<xref linkend="opt-homebrew.onActivation.cleanup"/> is set to <literal>"uninstall"</literal>
or <literal>"zap"</literal> (this is currently a limitation of Homebrew Bundle).
[](#opt-homebrew.onActivation.cleanup) is set to `"uninstall"`
or `"zap"` (this is currently a limitation of Homebrew Bundle).
For more information on <command>mas</command> see:
<link xlink:href="https://github.com/mas-cli/mas">github.com/mas-cli/mas</link>.
For more information on {command}`mas` see:
[github.com/mas-cli/mas](https://github.com/mas-cli/mas).
'';
};
@ -706,14 +706,14 @@ in
type = with types; listOf str;
default = [ ];
example = [ "whalebrew/wget" ];
description = ''
List of Docker images to install using <command>whalebrew</command>.
description = lib.mdDoc ''
List of Docker images to install using {command}`whalebrew`.
When this option is used, <literal>"whalebrew"</literal> is automatically added to
<xref linkend="opt-homebrew.brews"/>.
When this option is used, `"whalebrew"` is automatically added to
[](#opt-homebrew.brews).
For more information on <command>whalebrew</command> see:
<link xlink:href="https://github.com/whalebrew/whalebrew">github.com/whalebrew/whalebrew</link>.
For more information on {command}`whalebrew` see:
[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
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 {
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));
default = {};
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);
};
path = mkOption {
type = types.listOf (types.either types.path types.str);
default = [];
description = ''
Packages added to the service's <envar>PATH</envar>
environment variable. Only the <filename>bin</filename>
description = lib.mdDoc ''
Packages added to the service's {env}`PATH`
environment variable. Only the {file}`bin`
and subdirectories of each package is added.
'';
apply = ps: if isList ps then (makeDrvBinPath ps) else ps;
@ -49,13 +49,13 @@ let
command = mkOption {
type = types.either types.str types.path;
default = "";
description = "Command executed as the service's main process.";
description = lib.mdDoc "Command executed as the service's main process.";
};
script = mkOption {
type = types.lines;
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 {
@ -74,9 +74,9 @@ let
KeepAlive = true;
};
default = {};
description = ''
description = lib.mdDoc ''
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 {
type = types.str;
default = "org.nixos";
description = ''
description = lib.mdDoc ''
The default prefix of the service label. Individual services can
override this by setting the Label attribute.
'';
@ -110,7 +110,7 @@ in
type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {};
example = { LANG = "nl_NL.UTF-8"; };
description = ''
description = lib.mdDoc ''
A set of environment variables to be set on all future
processes launched by launchd in the caller's context.
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));
default = {};
example = { LANG = "nl_NL.UTF-8"; };
description = ''
description = lib.mdDoc ''
A set of environment variables to be set on all future
processes launched by launchd in the caller's context.
The value of each variable can be either a string or a list of

View File

@ -6,24 +6,24 @@ with lib;
options = {
Label = mkOption {
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 {
type = types.nullOr types.bool;
default = null;
description = ''
This optional key is used as a hint to <literal>launchctl(1)</literal> that it should not submit this job to launchd when
description = lib.mdDoc ''
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
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
the <literal>launchctl(1)</literal> list subcommand or use the ServiceManagement framework's
<literal>SMJobCopyDictionary()</literal> method.
the `launchctl(1)` list subcommand or use the ServiceManagement framework's
`SMJobCopyDictionary()` method.
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
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
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 {
type = types.nullOr types.str;
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
running as root.
'';
@ -44,7 +44,7 @@ with lib;
GroupName = mkOption {
type = types.nullOr types.str;
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
running as root. If UserName is set and GroupName is not, the the group will be set to the default
group of the user.
@ -54,7 +54,7 @@ with lib;
inetdCompatibility = mkOption {
default = null;
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.
'';
type = types.nullOr (types.submodule {
@ -62,9 +62,9 @@ with lib;
Wait = mkOption {
type = types.nullOr (types.either types.bool types.str);
default = null;
description = ''
description = lib.mdDoc ''
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.
'';
};
@ -75,35 +75,35 @@ with lib;
LimitLoadToHosts = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr (types.listOf types.str);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.path;
default = null;
description = ''
This key maps to the first argument of <literal>execvp(3)</literal>. If this key is missing, then the first element of
description = lib.mdDoc ''
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 absence of the ProgramArguments key.
'';
@ -112,26 +112,26 @@ with lib;
ProgramArguments = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = ''
This key maps to the second argument of <literal>execvp(3)</literal>. 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!
description = lib.mdDoc ''
This key maps to the second argument of `execvp(3)`. This key is required in the absence of the Program
key. Please note: many people are confused by this key. Please read `execvp(3)` very carefully!
'';
};
EnableGlobbing = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
This flag causes launchd to use the <literal>glob(3)</literal> mechanism to update the program arguments before invocation.
description = lib.mdDoc ''
This flag causes launchd to use the `glob(3)` mechanism to update the program arguments before invocation.
'';
};
EnableTransactions = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
This flag instructs launchd that the job promises to use <literal>vproc_transaction_begin(3)</literal> and
<literal>vproc_transaction_end(3)</literal> to track outstanding transactions that need to be reconciled before the
description = lib.mdDoc ''
This flag instructs launchd that the job promises to use `vproc_transaction_begin(3)` and
`vproc_transaction_end(3)` to track outstanding transactions that need to be reconciled before the
process can safely terminate. If no outstanding transactions are in progress, then launchd is free to
send the SIGKILL signal.
'';
@ -140,7 +140,7 @@ with lib;
OnDemand = mkOption {
type = types.nullOr types.bool;
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
true. This key has been deprecated and replaced in Mac OS X 10.5 and later with the more powerful
KeepAlive option.
@ -154,7 +154,7 @@ with lib;
SuccessfulExit = mkOption {
type = types.nullOr types.bool;
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 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.
@ -164,7 +164,7 @@ with lib;
NetworkState = mkOption {
type = types.nullOr types.bool;
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
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.
@ -174,7 +174,7 @@ with lib;
PathState = mkOption {
type = types.nullOr (types.attrsOf types.bool);
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
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
@ -185,7 +185,7 @@ with lib;
OtherJobEnabled = mkOption {
type = types.nullOr (types.attrsOf types.bool);
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
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
@ -196,7 +196,7 @@ with lib;
Crashed = mkOption {
type = types.nullOr types.bool;
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
associated with a crash (SIGILL, SIGSEGV, etc.). If false, the job will be restarted in the
inverse condition.
@ -211,7 +211,7 @@ with lib;
};
}));
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
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
@ -226,7 +226,7 @@ with lib;
RunAtLoad = mkOption {
type = types.nullOr types.bool;
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.
The default is false.
'';
@ -235,23 +235,23 @@ with lib;
RootDirectory = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
This optional key is used to specify a directory to <literal>chroot(2)</literal> to before running the job.
description = lib.mdDoc ''
This optional key is used to specify a directory to `chroot(2)` to before running the job.
'';
};
WorkingDirectory = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
This optional key is used to specify a directory to <literal>chdir(2)</literal> to before running the job.
description = lib.mdDoc ''
This optional key is used to specify a directory to `chdir(2)` to before running the job.
'';
};
EnvironmentVariables = mkOption {
type = types.nullOr (types.attrsOf types.str);
default = null;
description = ''
description = lib.mdDoc ''
This optional key is used to specify additional environment variables to be set before running the
job.
'';
@ -260,8 +260,8 @@ with lib;
Umask = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
This optional key specifies what value should be passed to <literal>umask(2)</literal> before running the job. Known bug:
description = lib.mdDoc ''
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.
'';
};
@ -269,7 +269,7 @@ with lib;
TimeOut = mkOption {
type = types.nullOr types.int;
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
out will be supplied by launchd for use by the job at check in time.
'';
@ -278,7 +278,7 @@ with lib;
ExitTimeOut = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The amount of time launchd waits before sending a SIGKILL signal. The default value is 20 seconds. The
value zero is interpreted as infinity.
'';
@ -287,7 +287,7 @@ with lib;
ThrottleInterval = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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
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 {
type = types.nullOr types.bool;
default = null;
description = ''
This optional key specifies whether <literal>initgroups(3)</literal> should be called before running the job. The default
description = lib.mdDoc ''
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.
'';
};
@ -308,7 +308,7 @@ with lib;
WatchPaths = mkOption {
type = types.nullOr (types.listOf types.path);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr (types.listOf types.str);
default = null;
description = ''
description = lib.mdDoc ''
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.
'';
@ -325,7 +325,7 @@ with lib;
StartOnMount = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
This optional key causes the job to be started every time a filesystem is mounted.
'';
};
@ -333,7 +333,7 @@ with lib;
StartInterval = mkOption {
type = types.nullOr types.int;
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
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.
@ -343,9 +343,9 @@ with lib;
StartCalendarInterval = mkOption {
default = null;
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
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
up. If multiple intervals transpire before the computer is woken, those events will be coalesced into
one event upon wake from sleep.
@ -355,7 +355,7 @@ with lib;
Minute = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The minute on which this job will be run.
'';
};
@ -363,7 +363,7 @@ with lib;
Hour = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The hour on which this job will be run.
'';
};
@ -371,7 +371,7 @@ with lib;
Day = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The day on which this job will be run.
'';
};
@ -379,7 +379,7 @@ with lib;
Weekday = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The weekday on which this job will be run (0 and 7 are Sunday).
'';
};
@ -387,7 +387,7 @@ with lib;
Month = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The month on which this job will be run.
'';
};
@ -398,32 +398,32 @@ with lib;
StandardInPath = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.path;
default = null;
description = ''
This optional key specifies what file should be used for data being sent to stdout when using <literal>stdio(3)</literal>.
description = lib.mdDoc ''
This optional key specifies what file should be used for data being sent to stdout when using `stdio(3)`.
'';
};
StandardErrorPath = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
This optional key specifies what file should be used for data being sent to stderr when using <literal>stdio(3)</literal>.
description = lib.mdDoc ''
This optional key specifies what file should be used for data being sent to stderr when using `stdio(3)`.
'';
};
Debug = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
This optional key specifies that launchd should adjust its log mask temporarily to LOG_DEBUG while
dealing with this job.
'';
@ -432,7 +432,7 @@ with lib;
WaitForDebugger = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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.
'';
@ -440,8 +440,8 @@ with lib;
SoftResourceLimits = mkOption {
default = null;
description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following
description = lib.mdDoc ''
Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply:
'';
type = types.nullOr (types.submodule {
@ -449,7 +449,7 @@ with lib;
Core = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The largest size (in bytes) core file that may be created.
'';
};
@ -457,7 +457,7 @@ with lib;
CPU = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The maximum amount of cpu time (in seconds) to be used by each process.
'';
};
@ -465,16 +465,16 @@ with lib;
Data = mkOption {
type = types.nullOr types.int;
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
extend its break with the <literal>sbrk(2)</literal> system call.
extend its break with the `sbrk(2)` system call.
'';
};
FileSize = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The largest size (in bytes) file that may be created.
'';
};
@ -482,7 +482,7 @@ with lib;
MemoryLock = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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)
value in addition to the <literal>setrlimit(2)</literal> values.
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values.
'';
};
NumberOfProcesses = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values.
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the `setrlimit(2)` values.
'';
};
ResidentSetSize = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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
will prefer to take memory from processes that are exceeding their declared resident set size.
@ -520,7 +520,7 @@ with lib;
Stack = mkOption {
type = types.nullOr types.int;
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
stack segment may be extended. Stack extension is performed automatically by the system.
'';
@ -532,8 +532,8 @@ with lib;
HardResourceLimits = mkOption {
default = null;
example = { NumberOfFiles = 4096; };
description = ''
Resource limits to be imposed on the job. These adjust variables set with <literal>setrlimit(2)</literal>. The following
description = lib.mdDoc ''
Resource limits to be imposed on the job. These adjust variables set with `setrlimit(2)`. The following
keys apply:
'';
type = types.nullOr (types.submodule {
@ -541,7 +541,7 @@ with lib;
Core = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The largest size (in bytes) core file that may be created.
'';
};
@ -549,7 +549,7 @@ with lib;
CPU = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The maximum amount of cpu time (in seconds) to be used by each process.
'';
};
@ -557,16 +557,16 @@ with lib;
Data = mkOption {
type = types.nullOr types.int;
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
extend its break with the <literal>sbrk(2)</literal> system call.
extend its break with the `sbrk(2)` system call.
'';
};
FileSize = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The largest size (in bytes) file that may be created.
'';
};
@ -574,35 +574,35 @@ with lib;
MemoryLock = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
The maximum size (in bytes) which a process may lock into memory using the <literal>mlock(2)</literal> function.
description = lib.mdDoc ''
The maximum size (in bytes) which a process may lock into memory using the `mlock(2)` function.
'';
};
NumberOfFiles = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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)
value in addition to the <literal>setrlimit(2)</literal> values.
will set the `sysctl(3)` kern.maxfiles (SoftResourceLimits) or kern.maxfilesperproc (HardResourceLimits)
value in addition to the `setrlimit(2)` values.
'';
};
NumberOfProcesses = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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
(HardResourceLimits) value in addition to the <literal>setrlimit(2)</literal> values.
wide daemon will set the `sysctl(3)` kern.maxproc (SoftResourceLimits) or kern.maxprocperuid
(HardResourceLimits) value in addition to the `setrlimit(2)` values.
'';
};
ResidentSetSize = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
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
will prefer to take memory from processes that are exceeding their declared resident set size.
@ -612,7 +612,7 @@ with lib;
Stack = mkOption {
type = types.nullOr types.int;
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
stack segment may be extended. Stack extension is performed automatically by the system.
'';
@ -624,7 +624,7 @@ with lib;
Nice = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
This optional key specifies what nice(3) value should be applied to the daemon.
'';
};
@ -660,7 +660,7 @@ with lib;
AbandonProcessGroup = mkOption {
type = types.nullOr types.bool;
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
this key to true disables that behavior.
'';
@ -669,7 +669,7 @@ with lib;
LowPriorityIO = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
This optional key specifies whether the kernel should consider this daemon to be low priority when
doing file system I/O.
'';
@ -678,7 +678,7 @@ with lib;
LaunchOnlyOnce = mkOption {
type = types.nullOr types.bool;
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
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 {
default = null;
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.
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.
@ -700,7 +700,7 @@ with lib;
ResetAtClose = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Reserve the name in the namespace, but cause bootstrap_look_up() to fail until the job has
checked in with launchd.
'';
@ -725,7 +725,7 @@ with lib;
LaunchEvents = mkOption {
type = types.nullOr (types.attrs);
default = null;
description = ''
description = lib.mdDoc ''
Specifies higher-level event types to be used as launch-on-demand event
sources. Each sub-dictionary defines events for a particular event
subsystem, such as "com.apple.iokit.matching", which can be used to
@ -750,7 +750,7 @@ with lib;
ServiceIPC = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
This optional key specifies whether the job participates in advanced
communication with launchd. The default is false. This flag is
incompatible with the inetdCompatibility key.
@ -760,7 +760,7 @@ with lib;
SessionCreate = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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
to. See auditon(2) for details.
@ -769,7 +769,7 @@ with lib;
Sockets = mkOption {
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
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
@ -779,14 +779,14 @@ with lib;
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.
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 {
options = {
SockType = mkOption {
type = types.nullOr (types.enum [ "stream" "dgram" "seqpacket" ]);
default = null;
description = ''
description = lib.mdDoc ''
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.
'';
@ -795,8 +795,8 @@ with lib;
SockPassive = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
This optional key specifies whether <literal>listen(2)</literal> or <literal>connect(2)</literal> should be called on the created file
description = lib.mdDoc ''
This optional key specifies whether `listen(2)` or `connect(2)` should be called on the created file
descriptor. The default is true ("to listen").
'';
};
@ -804,23 +804,23 @@ with lib;
SockNodeName = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
This optional key specifies the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to.
description = lib.mdDoc ''
This optional key specifies the node to `connect(2)` or `bind(2)` to.
'';
};
SockServiceName = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
This optional key specifies the service on the node to <literal>connect(2)</literal> or <literal>bind(2)</literal> to.
description = lib.mdDoc ''
This optional key specifies the service on the node to `connect(2)` or `bind(2)` to.
'';
};
SockFamily = mkOption {
type = types.nullOr (types.enum [ "IPv4" "IPv6" ]);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr (types.enum [ "TCP" ]);
default = null;
description = ''
This optional key specifies the protocol to be passed to <literal>socket(2)</literal>. The only value understood by
description = lib.mdDoc ''
This optional key specifies the protocol to be passed to `socket(2)`. The only value understood by
this key at the moment is "TCP".
'';
};
@ -837,16 +837,16 @@ with lib;
SockPathName = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
This optional key implies SockFamily is set to "Unix". It specifies the path to <literal>connect(2)</literal> or
<literal>bind(2)</literal> to.
description = lib.mdDoc ''
This optional key implies SockFamily is set to "Unix". It specifies the path to `connect(2)` or
`bind(2)` to.
'';
};
SecureSocketWithKey = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
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
by all jobs spawned by launchd.
@ -856,7 +856,7 @@ with lib;
SockPathMode = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
This optional key specifies the mode of the socket. Known bug: Property lists don't support
octal, so please convert the value to decimal.
'';
@ -865,18 +865,18 @@ with lib;
Bonjour = mkOption {
type = types.nullOr (types.either types.bool (types.listOf types.str));
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
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
family also be set, otherwise the results are undefined.
'';

View File

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

View File

@ -35,13 +35,13 @@ in
internal = true;
default = [];
example = [ lib.maintainers.all ];
description = ''
description = lib.mdDoc ''
List of maintainers of each module. This option should be defined at
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
<literal>maintainers.alice or "alice"</literal>.
`maintainers.alice or "alice"`.
'';
};

View File

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

View File

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

View File

@ -74,11 +74,11 @@ in
type = types.listOf types.str;
default = [];
example = [ "Wi-Fi" "Ethernet Adaptor" "Thunderbolt Ethernet" ];
description = ''
description = lib.mdDoc ''
List of networkservices that should be configured.
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;
default = [];
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 {
type = types.listOf types.str;
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;
default = pkgs.nix;
defaultText = literalExpression "pkgs.nix";
description = ''
description = lib.mdDoc ''
This option specifies the Nix package instance to use throughout the system.
'';
};
@ -173,7 +173,7 @@ in
useDaemon = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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
daemon service to be managed for you.
@ -183,9 +183,9 @@ in
distributedBuilds = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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
multi-user install.
@ -196,13 +196,13 @@ in
daemonProcessType = mkOption {
type = types.enum [ "Background" "Standard" "Adaptive" "Interactive" ];
default = "Standard";
description = ''
description = lib.mdDoc ''
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
bandwidth.
See <command>man launchd.plist</command> for explanation of other
See {command}`man launchd.plist` for explanation of other
process types.
'';
};
@ -211,7 +211,7 @@ in
daemonIOLowPriority = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether the Nix daemon process should considered to be low priority when
doing file system I/O.
'';
@ -223,7 +223,7 @@ in
hostName = mkOption {
type = types.str;
example = "nixbuilder.example.org";
description = ''
description = lib.mdDoc ''
The hostname of the build machine.
'';
};
@ -244,10 +244,10 @@ in
type = types.nullOr types.str;
default = null;
example = "x86_64-linux";
description = ''
description = lib.mdDoc ''
The system type the build machine can execute derivations on.
Either this attribute or <varname>systems</varname> must be
present, where <varname>system</varname> takes precedence if
Either this attribute or {var}`systems` must be
present, where {var}`system` takes precedence if
both are set.
'';
};
@ -255,10 +255,10 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "x86_64-linux" "aarch64-linux" ];
description = ''
description = lib.mdDoc ''
The system types the build machine can execute derivations on.
Either this attribute or <varname>system</varname> must be
present, where <varname>system</varname> takes precedence if
Either this attribute or {var}`system` must be
present, where {var}`system` takes precedence if
both are set.
'';
};
@ -266,11 +266,11 @@ in
type = types.nullOr types.str;
default = null;
example = "builder";
description = ''
description = lib.mdDoc ''
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
also be privileged to build derivations, so must be included in
<option>nix.settings.trusted-users</option>.
{option}`nix.settings.trusted-users`.
'';
};
sshKey = mkOption {
@ -290,7 +290,7 @@ in
maxJobs = mkOption {
type = types.int;
default = 1;
description = ''
description = lib.mdDoc ''
The number of concurrent jobs the build machine supports. The
build machine will enforce its own limits, but this allows hydra
to schedule better since there is no work-stealing between build
@ -300,7 +300,7 @@ in
speedFactor = mkOption {
type = types.int;
default = 1;
description = ''
description = lib.mdDoc ''
The relative speed of this builder. This is an arbitrary integer
that indicates the speed of this builder, relative to other
builders. Higher is faster.
@ -310,18 +310,18 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "big-parallel" ];
description = ''
description = lib.mdDoc ''
A list of features mandatory for this builder. The builder will
be ignored for derivations that don't require all features in
this list. All mandatory features are automatically included in
<varname>supportedFeatures</varname>.
{var}`supportedFeatures`.
'';
};
supportedFeatures = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "kvm" "big-parallel" ];
description = ''
description = lib.mdDoc ''
A list of features supported by this builder. The builder will
be ignored for derivations that require features not in this
list.
@ -330,18 +330,18 @@ in
publicHostKey = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
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.
'';
};
};
});
default = [ ];
description = ''
description = lib.mdDoc ''
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
inputs to the Nix store on the remote machine, starting the build,
then copying the output back to the local Nix store.
@ -353,22 +353,22 @@ in
type = types.attrs;
internal = true;
default = { };
description = "Environment variables used by Nix.";
description = lib.mdDoc "Environment variables used by Nix.";
};
# Not in NixOS module
configureBuildUsers = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable configuration for nixbld group and users.
'';
};
nrBuildUsers = mkOption {
type = types.int;
description = ''
Number of <literal>nixbld</literal> user accounts created to
description = lib.mdDoc ''
Number of `nixbld` user accounts created to
perform secure concurrent builds. If you receive an error
message saying that all build users are currently in use,
you should increase this value.
@ -378,9 +378,9 @@ in
readOnlyStore = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
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
needed.
'';
@ -394,10 +394,10 @@ in
{ darwin-config = "${config.environment.darwinConfig}"; }
"/nix/var/nix/profiles/per-user/root/channels"
];
description = ''
description = lib.mdDoc ''
The default Nix expression search path, used by the Nix
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
entry is configured multiple times the value with the lowest
@ -408,7 +408,7 @@ in
checkConfig = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
If enabled (the default), checks for data type mismatches and that Nix
can parse the generated nix.conf.
'';
@ -430,28 +430,28 @@ in
from = mkOption {
type = referenceAttrs;
example = { type = "indirect"; id = "nixpkgs"; };
description = "The flake reference to be rewritten.";
description = lib.mdDoc "The flake reference to be rewritten.";
};
to = mkOption {
type = referenceAttrs;
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 {
type = types.nullOr types.attrs;
default = null;
example = literalExpression "nixpkgs";
description = ''
The flake input <option>from</option> is rewritten to.
description = lib.mdDoc ''
The flake input {option}`from` is rewritten to.
'';
};
exact = mkOption {
type = types.bool;
default = true;
description = ''
Whether the <option>from</option> reference needs to match exactly. If set,
a <option>from</option> reference like <literal>nixpkgs</literal> does not
match with a reference like <literal>nixpkgs/nixos-20.03</literal>.
description = lib.mdDoc ''
Whether the {option}`from` reference needs to match exactly. If set,
a {option}`from` reference like `nixpkgs` does not
match with a reference like `nixpkgs/nixos-20.03`.
'';
};
};
@ -469,7 +469,7 @@ in
}
));
default = { };
description = ''
description = lib.mdDoc ''
A system-wide flake registry.
'';
};
@ -481,7 +481,7 @@ in
keep-outputs = 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 {
@ -493,7 +493,7 @@ in
type = types.either types.int (types.enum [ "auto" ]);
default = "auto";
example = 64;
description = ''
description = lib.mdDoc ''
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
available logical cores. It is recommend to set it to the total
@ -506,7 +506,7 @@ in
type = types.bool;
default = false;
example = true;
description = ''
description = lib.mdDoc ''
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.
This saves disk space. If set to false (the default), you can still run
@ -518,7 +518,7 @@ in
type = types.int;
default = 0;
example = 64;
description = ''
description = lib.mdDoc ''
This option defines the maximum number of concurrent tasks during
one build. It affects, e.g., -j option for make.
The special value 0 means that the builder should use all
@ -531,7 +531,7 @@ in
sandbox = mkOption {
type = types.either types.bool (types.enum [ "relaxed" ]);
default = false;
description = ''
description = lib.mdDoc ''
If set, Nix will perform builds in a sandboxed environment that it
will set up automatically for each build. This prevents impurities
in builds by disallowing access to dependencies outside of the Nix
@ -545,7 +545,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "/dev" "/proc" ];
description = ''
description = lib.mdDoc ''
Directories from the host filesystem to be included
in the sandbox.
'';
@ -553,7 +553,7 @@ in
substituters = mkOption {
type = types.listOf types.str;
description = ''
description = lib.mdDoc ''
List of binary cache URLs used to obtain pre-built binaries
of Nix packages.
@ -565,21 +565,21 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "https://hydra.nixos.org/" ];
description = ''
description = lib.mdDoc ''
List of binary cache URLs that non-root users can use (in
addition to those specified using
<option>nix.settings.substituters</option>) by passing
<literal>--option binary-caches</literal> to Nix commands.
{option}`nix.settings.substituters`) by passing
`--option binary-caches` to Nix commands.
'';
};
require-sigs = mkOption {
type = types.bool;
default = true;
description = ''
description = lib.mdDoc ''
If enabled (the default), Nix will only download binaries from binary caches if
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
trustworthy caches and https to prevent man-in-the-middle attacks.
'';
@ -588,13 +588,13 @@ in
trusted-public-keys = mkOption {
type = types.listOf types.str;
example = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
description = ''
description = lib.mdDoc ''
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
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
<literal>cache.nixos.org</literal> is included.
`cache.nixos.org` is included.
'';
};
@ -602,13 +602,13 @@ in
type = types.listOf types.str;
default = [ "root" ];
example = [ "root" "alice" "@admin" ];
description = ''
description = lib.mdDoc ''
A list of names of users that have additional rights when
connecting to the Nix daemon, such as the ability to specify
additional binary caches, or to import unsigned NARs. You
can also specify groups by prefixing them with
<literal>@</literal>; for instance,
<literal>@admin</literal> means all users in the wheel
`@`; for instance,
`@admin` means all users in the wheel
group.
'';
};
@ -632,27 +632,27 @@ in
type = types.listOf types.str;
default = [ "*" ];
example = [ "@admin" "@builders" "alice" "bob" ];
description = ''
description = lib.mdDoc ''
A list of names of users (separated by whitespace) that are
allowed to connect to the Nix daemon. As with
<option>nix.settings.trusted-users</option>, you can specify groups by
prefixing them with <literal>@</literal>. Also, you can
allow all users by specifying <literal>*</literal>. The
default is <literal>*</literal>. Note that trusted users are
{option}`nix.settings.trusted-users`, you can specify groups by
prefixing them with `@`. Also, you can
allow all users by specifying `*`. The
default is `*`. Note that trusted users are
always allowed to connect.
'';
};
};
};
default = { };
description = ''
description = lib.mdDoc ''
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.
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
option. In addition, configuration specified in <option>nix.extraOptions</option> which will be appended
Nix configurations defined under {option}`nix.*` will be translated and applied to this
option. In addition, configuration specified in {option}`nix.extraOptions` which will be appended
verbatim to the resulting config file.
'';
};

View File

@ -61,13 +61,13 @@ in
}
'';
type = configType;
description = ''
description = lib.mdDoc ''
The configuration of the Nix Packages collection. (For
details, see the Nixpkgs documentation.) It allows you to set
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
the <emphasis>original</emphasis> Nixpkgs, and must evaluate
the *original* Nixpkgs, and must evaluate
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.
(For details, see the Nixpkgs documentation.) It allows
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 second should be used for overriding recipes.
'';
@ -98,7 +98,7 @@ in
nixpkgs.system = mkOption {
type = types.str;
example = "x86_64-darwin";
description = ''
description = lib.mdDoc ''
Specifies the Nix platform type for which NixOS should be built.
If unset, it defaults to the platform type of your host system.
Specifying this option is useful when doing distributed

View File

@ -12,19 +12,19 @@ in
programs.bash.enable = mkOption {
type = types.bool;
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 {
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;
};
programs.bash.enableCompletion = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Enable bash completion for all interactive bash shells.
NOTE. This doesn't work with bash 3.2, which is the default on macOS.

View File

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

View File

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

View File

@ -11,7 +11,7 @@ in
programs.info.enable = mkOption {
type = types.bool;
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 {
type = types.bool;
default = true;
description = ''
Whether to enable manual pages and the <command>man</command> command.
This also includes "man" outputs of all <literal>systemPackages</literal>.
description = lib.mdDoc ''
Whether to enable manual pages and the {command}`man` command.
This also includes "man" outputs of all `systemPackages`.
'';
};

View File

@ -11,14 +11,14 @@ in
programs.nix-index.enable = mkOption {
type = types.bool;
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 {
type = types.package;
default = 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 {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
A list of host names and/or IP numbers used for accessing
the host's ssh service.
'';
@ -23,9 +23,9 @@ let
default = null;
type = types.nullOr types.str;
example = "ecdsa-sha2-nistp521 AAAAE2VjZHN...UEPg==";
description = ''
description = lib.mdDoc ''
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
the key type and the key itself.
'';
@ -33,13 +33,13 @@ let
publicKeyFile = mkOption {
default = null;
type = types.nullOr types.path;
description = ''
description = lib.mdDoc ''
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.
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
the <literal>publicKey</literal> option.
the `publicKey` option.
'';
};
};
@ -54,13 +54,13 @@ let
keys = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
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
daemon reads in addition to the the user's authorized_keys file.
You can combine the <literal>keys</literal> and
<literal>keyFiles</literal> options.
Warning: If you are using <literal>NixOps</literal> then don't use this
You can combine the `keys` and
`keyFiles` options.
Warning: If you are using `NixOps` then don't use this
option since it will replace the key required for deployment via ssh.
'';
};
@ -68,12 +68,12 @@ let
keyFiles = mkOption {
type = types.listOf types.path;
default = [];
description = ''
description = lib.mdDoc ''
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
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
<literal>keyFiles</literal> and <literal>keys</literal> options.
`keyFiles` and `keys` options.
'';
};
};
@ -122,7 +122,7 @@ in
programs.ssh.knownHosts = mkOption {
default = {};
type = types.attrsOf (types.submodule host);
description = ''
description = lib.mdDoc ''
The set of system-wide known SSH hosts.
'';
example = literalExpression ''

View File

@ -46,47 +46,47 @@ in
programs.tmux.enable = mkOption {
type = types.bool;
default = false;
description = "Whether to configure tmux.";
description = lib.mdDoc "Whether to configure tmux.";
};
programs.tmux.enableSensible = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable sensible configuration options for tmux.";
description = lib.mdDoc "Enable sensible configuration options for tmux.";
};
programs.tmux.enableMouse = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable mouse support for tmux.";
description = lib.mdDoc "Enable mouse support for tmux.";
};
programs.tmux.enableFzf = mkOption {
type = types.bool;
default = false;
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 {
type = types.bool;
default = false;
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 {
type = types.bool;
default = false;
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 {
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 {
@ -98,7 +98,7 @@ in
programs.tmux.extraConfig = mkOption {
type = types.lines;
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 {
type = types.bool;
default = false;
description = "Whether to configure vim.";
description = lib.mdDoc "Whether to configure vim.";
};
programs.vim.enableSensible = mkOption {
type = types.bool;
default = false;
example = true;
description = "Enable sensible configuration options for vim.";
description = lib.mdDoc "Enable sensible configuration options for vim.";
};
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 {
type = types.listOf types.attrs;
default = [];
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 {
@ -70,7 +70,7 @@ in
programs.vim.vimConfig = mkOption {
type = types.lines;
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 {
type = types.bool;
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 {
type = types.attrsOf (types.either types.str (types.listOf types.str));
default = {};
description = ''
description = lib.mdDoc ''
A set of environment variables used in the global environment.
These variables will be set on shell initialisation.
The value of each variable can be either a string or a list of
@ -37,61 +37,61 @@ in
programs.zsh.shellInit = mkOption {
type = types.lines;
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 {
type = types.lines;
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 {
type = types.lines;
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 {
type = types.lines;
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 {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.bool;
default = false;
description = "Enable fzf completion.";
description = lib.mdDoc "Enable fzf completion.";
};
programs.zsh.enableFzfGit = mkOption {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.bool;
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;
default = [];
example = literalExpression "[ \"\${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt\" ]";
description = ''
description = lib.mdDoc ''
A list of files containing trusted root certificates in PEM
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
<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.
'';
};
@ -62,10 +62,10 @@ in
"CA WoSign ECC Root"
"Certification Authority of WoSign G2"
];
description = ''
description = lib.mdDoc ''
A list of blacklisted CA certificate names that won't be imported from
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.
'';
};

View File

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

View File

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

View File

@ -9,23 +9,23 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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 {
type = types.str;
default = config.networking.hostName;
description = ''
description = lib.mdDoc ''
Agent name, usually the same as the hostname.
'';
};
package = mkOption {
description = ''
description = lib.mdDoc ''
Package containing cachix executable.
'';
type = types.package;
@ -36,7 +36,7 @@ in {
credentialsFile = mkOption {
type = types.path;
default = "/etc/cachix-agent.token";
description = ''
description = lib.mdDoc ''
Required file that needs to contain CACHIX_AGENT_TOKEN=...
'';
};
@ -44,7 +44,7 @@ in {
logFile = mkOption {
type = types.nullOr types.path;
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 {
type = types.bool;
default = false;
description = "Whether to enable the chunkwm window manager.";
description = lib.mdDoc "Whether to enable the chunkwm window manager.";
};
services.chunkwm.package = mkOption {
type = types.package;
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 {
type = types.bool;
default = true;
description = "Whether to enable hotload.";
description = lib.mdDoc "Whether to enable hotload.";
};
services.chunkwm.extraConfig = mkOption {
type = types.lines;
default = "";
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 {
type = types.path;
default = "/run/current-system/sw/lib/chunkwm/plugins";
description = "Chunkwm Plugins directory.";
description = lib.mdDoc "Chunkwm Plugins directory.";
};
services.chunkwm.plugins.list = mkOption {
type = types.listOf (types.enum plugins);
default = plugins;
example = ["tiling"];
description = "Chunkwm Plugins to enable.";
description = lib.mdDoc "Chunkwm Plugins to enable.";
};
services.chunkwm.plugins."border".config = mkOption {
type = types.lines;
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 {
type = types.lines;
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 {
type = types.bool;
default = false;
description = "Whether to enable DNSmasq.";
description = lib.mdDoc "Whether to enable DNSmasq.";
};
services.dnsmasq.package = mkOption {
type = types.path;
default = 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 {
type = types.str;
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 {
type = types.int;
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 {
type = types.attrs;
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 ''
{ localhost = "127.0.0.1"; }
'';

View File

@ -12,20 +12,20 @@ in {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the Emacs Daemon.";
description = lib.mdDoc "Whether to enable the Emacs Daemon.";
};
package = mkOption {
type = types.path;
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 {
type = types.listOf types.str;
default = [ ];
example = [ "/Users/my_user_name" ];
description = ''
description = lib.mdDoc ''
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.
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 {
type = types.str;
default = "emacs";
description = "Emacs command/binary to execute.";
description = lib.mdDoc "Emacs command/binary to execute.";
};
};
};

View File

@ -117,19 +117,19 @@ let
in
{
options.services.gitlab-runner = {
enable = mkEnableOption "Gitlab Runner";
enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Configuration file for gitlab-runner.
<option>configFile</option> takes precedence over <option>services</option>.
<option>checkInterval</option> and <option>concurrent</option> will be ignored too.
{option}`configFile` takes precedence over {option}`services`.
{option}`checkInterval` and {option}`concurrent` will be ignored too.
This option is deprecated, please use <option>services</option> instead.
You can use <option>registrationConfigFile</option> and
<option>registrationFlags</option>
This option is deprecated, please use {option}`services` instead.
You can use {option}`registrationConfigFile` and
{option}`registrationFlags`
for settings not covered by this module.
'';
};
@ -137,18 +137,18 @@ in
type = types.int;
default = 0;
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.
The default value is 3;
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 {
type = types.int;
default = 1;
example = literalExpression "config.nix.maxJobs";
description = ''
description = lib.mdDoc ''
Limits how many jobs globally can be run concurrently.
The most upper limit of jobs using all defined runners.
0 does not mean unlimited.
@ -158,7 +158,7 @@ in
type = types.nullOr types.str;
default = null;
example = "https://public:private@host:port/1";
description = ''
description = lib.mdDoc ''
Data Source Name for tracking of all system level errors to Sentry.
'';
};
@ -166,7 +166,7 @@ in
type = types.nullOr types.str;
default = null;
example = "localhost:8080";
description = ''
description = lib.mdDoc ''
Address (&lt;host&gt;:&lt;port&gt;) on which the Prometheus metrics HTTP server
should be listening.
'';
@ -178,7 +178,7 @@ in
type = types.nullOr types.str;
default = null;
example = "0.0.0.0:8093";
description = ''
description = lib.mdDoc ''
An internal URL to be used for the session server.
'';
};
@ -186,16 +186,16 @@ in
type = types.nullOr types.str;
default = null;
example = "runner-host-name.tld:8093";
description = ''
description = lib.mdDoc ''
The URL that the Runner will expose to GitLab to be used
to access the session server.
Fallbacks to <option>listenAddress</option> if not defined.
Fallbacks to {option}`listenAddress` if not defined.
'';
};
sessionTimeout = mkOption {
type = types.int;
default = 1800;
description = ''
description = lib.mdDoc ''
How long in seconds the session can stay active after
the job completes (which will block the job from finishing).
'';
@ -208,16 +208,16 @@ in
listenAddress = "0.0.0.0:8093";
}
'';
description = ''
description = lib.mdDoc ''
The session server allows the user to interact with jobs
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 {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Finish all remaining jobs before stopping.
If not set gitlab-runner will stop immediatly without waiting
for jobs to finish, which will lead to failed builds.
@ -227,7 +227,7 @@ in
type = types.str;
default = "infinity";
example = "5min 20s";
description = ''
description = lib.mdDoc ''
Time to wait until a graceful shutdown is turned into a forceful one.
'';
};
@ -236,17 +236,17 @@ in
default = pkgs.gitlab-runner;
defaultText = "pkgs.gitlab-runner";
example = literalExpression "pkgs.gitlab-runner_1_11";
description = "Gitlab Runner package to use.";
description = lib.mdDoc "Gitlab Runner package to use.";
};
extraPackages = mkOption {
type = types.listOf types.package;
default = [ ];
description = ''
description = lib.mdDoc ''
Extra packages to add to PATH for the gitlab-runner process.
'';
};
services = mkOption {
description = "GitLab Runner services.";
description = lib.mdDoc "GitLab Runner services.";
default = { };
example = literalExpression ''
{
@ -328,27 +328,27 @@ in
options = {
registrationConfigFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Absolute path to a file with environment variables
used for gitlab-runner registration.
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
<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 {
type = types.listOf types.str;
default = [ ];
example = [ "--docker-helper-image my/gitlab-runner-helper" ];
description = ''
description = lib.mdDoc ''
Extra command-line flags passed to
<literal>gitlab-runner register</literal>.
Execute <literal>gitlab-runner register --help</literal>
`gitlab-runner register`.
Execute `gitlab-runner register --help`
for a list of supported flags.
'';
};
@ -356,25 +356,25 @@ in
type = types.attrsOf types.str;
default = { };
example = { NAME = "value"; };
description = ''
description = lib.mdDoc ''
Custom environment variables injected to build environment.
For secrets you can use <option>registrationConfigFile</option>
with <literal>RUNNER_ENV</literal> variable set.
For secrets you can use {option}`registrationConfigFile`
with `RUNNER_ENV` variable set.
'';
};
executor = mkOption {
type = types.str;
default = "docker";
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.path;
default = null;
example = "/var/lib/gitlab-runner/builds";
description = ''
description = lib.mdDoc ''
Absolute path to a directory where builds will be stored
in context of selected executor (Locally, Docker, SSH).
'';
@ -383,14 +383,14 @@ in
type = types.nullOr types.str;
default = null;
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.
'';
};
dockerImage = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
Docker image to be used.
'';
};
@ -398,7 +398,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "/var/run/docker.sock:/var/run/docker.sock" ];
description = ''
description = lib.mdDoc ''
Bind-mount a volume and create it
if it doesn't exist prior to mounting.
'';
@ -406,14 +406,14 @@ in
dockerDisableCache = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Disable all container caching.
'';
};
dockerPrivileged = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Give extended privileges to container.
'';
};
@ -421,7 +421,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "other-host:127.0.0.1" ];
description = ''
description = lib.mdDoc ''
Add a custom host-to-IP mapping.
'';
};
@ -429,7 +429,7 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "ruby:*" "python:*" "php:*" "my.registry.tld:5000/*:*" ];
description = ''
description = lib.mdDoc ''
Whitelist allowed images.
'';
};
@ -437,21 +437,21 @@ in
type = types.listOf types.str;
default = [ ];
example = [ "postgres:9" "redis:*" "mysql:*" ];
description = ''
description = lib.mdDoc ''
Whitelist allowed services.
'';
};
preCloneScript = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Runner-specific command script executed before code is pulled.
'';
};
preBuildScript = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Runner-specific command script executed after code is pulled,
just before build executes.
'';
@ -459,7 +459,7 @@ in
postBuildScript = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
Runner-specific command script executed after code is pulled
and just after build executes.
'';
@ -467,22 +467,22 @@ in
tagList = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
description = lib.mdDoc ''
Tag list.
'';
};
runUntagged = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Register to run untagged builds; defaults to
<literal>true</literal> when <option>tagList</option> is empty.
`true` when {option}`tagList` is empty.
'';
};
limit = mkOption {
type = types.int;
default = 0;
description = ''
description = lib.mdDoc ''
Limit how many jobs can be handled concurrently by this service.
0 (default) simply means don't limit.
'';
@ -490,14 +490,14 @@ in
requestConcurrency = mkOption {
type = types.int;
default = 0;
description = ''
description = lib.mdDoc ''
Limit number of concurrent requests for new jobs from GitLab.
'';
};
maximumTimeout = mkOption {
type = types.int;
default = 0;
description = ''
description = lib.mdDoc ''
What is the maximum timeout (in seconds) that will be set for
job when using this Runner. 0 (default) simply means don't limit.
'';
@ -505,7 +505,7 @@ in
protected = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
When set to true Runner will only run on pipelines
triggered on protected branches.
'';
@ -513,9 +513,9 @@ in
debugTraceDisabled = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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 {
type = types.path;
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 {
type = types.bool;
default = false;
description = "Whether to enable the ipfs daemon.";
description = lib.mdDoc "Whether to enable the ipfs daemon.";
};
package = mkOption {
type = types.path;
default = pkgs.kubo;
# defaultText = "pkgs.kubo";
description = ''
description = lib.mdDoc ''
The ipfs package to use.
'';
};
@ -30,24 +30,24 @@ in
type = types.nullOr types.path;
default = null;
example = "/var/tmp/lorri.log";
description = ''
description = lib.mdDoc ''
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
<command>sudo launchctl kickstart -k system/org.nixos.ipfs</command>.
{command}`sudo launchctl kickstart -k system/org.nixos.ipfs`.
'';
};
ipfsPath = mkOption {
type = types.nullOr types.path;
default = null;
description = "Set the IPFS_PATH environment variable.";
description = lib.mdDoc "Set the IPFS_PATH environment variable.";
};
enableGarbageCollection = mkOption {
type = types.bool;
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 = {
services.karabiner-elements.enable = mkEnableOption "Karabiner-Elements";
services.karabiner-elements.enable = mkEnableOption (lib.mdDoc "Karabiner-Elements");
};
config = mkIf cfg.enable {

View File

@ -13,27 +13,27 @@ in
services.khd.enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the khd hotkey daemon.";
description = lib.mdDoc "Whether to enable the khd hotkey daemon.";
};
services.khd.package = mkOption {
type = types.package;
default = 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 {
type = types.lines;
default = "";
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 {
type = types.bool;
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 {
type = types.bool;
default = false;
description = "Whether to enable the khd window manager.";
description = lib.mdDoc "Whether to enable the khd window manager.";
};
services.kwm.package = mkOption {
type = types.path;
default = 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 {
type = types.lines;
default = "";
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 {
type = types.bool;
default = false;
description = "Whether to enable the lorri service.";
description = lib.mdDoc "Whether to enable the lorri service.";
};
logFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/var/tmp/lorri.log";
description = ''
description = lib.mdDoc ''
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
<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 {
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 {
type = types.package;
default = pkgs.offlineimap;
defaultText = "pkgs.offlineimap";
description = "Offlineimap derivation to use.";
description = lib.mdDoc "Offlineimap derivation to use.";
};
path = mkOption {
type = types.listOf types.path;
default = [];
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 {
type = types.nullOr types.int;
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 {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
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.
'';
@ -41,7 +41,7 @@ in {
extraConfig = mkOption {
type = types.lines;
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 {
options = {
services.telegraf = {
enable = mkEnableOption "telegraf agent";
enable = mkEnableOption (lib.mdDoc "telegraf agent");
package = mkOption {
default = pkgs.telegraf;
defaultText = lib.literalExpression "pkgs.telegraf";
description = "Which telegraf derivation to use";
description = lib.mdDoc "Which telegraf derivation to use";
type = types.package;
};
@ -23,7 +23,7 @@ in {
type = types.listOf types.path;
default = [ ];
example = [ "/run/keys/telegraf.env" ];
description = ''
description = lib.mdDoc ''
File to load as environment file.
This is useful to avoid putting secrets into the nix store.
'';
@ -31,7 +31,7 @@ in {
extraConfig = mkOption {
default = { };
description = "Extra configuration options for telegraf";
description = lib.mdDoc "Extra configuration options for telegraf";
type = settingsFormat.type;
example = {
outputs.influxdb = {
@ -47,7 +47,7 @@ in {
configUrl = mkOption {
default = null;
description = "Url to fetch config from";
description = lib.mdDoc "Url to fetch config from";
type = types.nullOr types.str;
};
};

View File

@ -11,27 +11,27 @@ in
services.mopidy.enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the Mopidy Daemon.";
description = lib.mdDoc "Whether to enable the Mopidy Daemon.";
};
services.mopidy.package = mkOption {
type = types.path;
default = 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 {
type = types.bool;
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 {
type = types.path;
default = 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
{
options.services.netbird = {
enable = mkEnableOption "Netbird daemon";
enable = mkEnableOption (lib.mdDoc "Netbird daemon");
package = mkOption {
type = types.package;
default = 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 {

View File

@ -13,13 +13,13 @@ in {
type = types.bool;
default = false;
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 {
type = types.listOf types.str;
default = [ ];
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 {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.nullOr types.path;
default = null;
example = "/var/log/nix-daemon.log";
description = ''
description = lib.mdDoc ''
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
<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 {
type = types.nullOr types.path;
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 {
default = false;
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
user = mkOption {
type = types.nullOr types.str;
default = null;
description = "User that runs the garbage collector.";
description = lib.mdDoc "User that runs the garbage collector.";
};
interval = mkOption {
type = types.attrs;
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 {
default = "";
example = "--max-freed $((64 * 1024**3))";
type = types.str;
description = ''
Options given to <filename>nix-collect-garbage</filename> when the
description = lib.mdDoc ''
Options given to {file}`nix-collect-garbage` when the
garbage collector is run automatically.
'';
};

View File

@ -12,13 +12,13 @@ in
services.ofborg.enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the ofborg builder service.";
description = lib.mdDoc "Whether to enable the ofborg builder service.";
};
services.ofborg.package = mkOption {
type = types.package;
example = literalExpression "pkgs.ofborg";
description = ''
description = lib.mdDoc ''
This option specifies the ofborg package to use. eg.
(import &lt;ofborg&gt; {}).ofborg.rs
@ -30,7 +30,7 @@ in
services.ofborg.configFile = mkOption {
type = types.path;
description = ''
description = lib.mdDoc ''
Configuration file to use for ofborg.
WARNING Don't use a path literal or derivation for this,
@ -41,7 +41,7 @@ in
services.ofborg.logFile = mkOption {
type = types.path;
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 = {
enable = mkEnableOption "PostgreSQL Server";
enable = mkEnableOption (lib.mdDoc "PostgreSQL Server");
package = mkOption {
type = types.package;
example = literalExpression "pkgs.postgresql_11";
description = ''
description = lib.mdDoc ''
PostgreSQL package to use.
'';
};
@ -53,7 +53,7 @@ in
port = mkOption {
type = types.int;
default = 5432;
description = ''
description = lib.mdDoc ''
The port on which PostgreSQL listens.
'';
};
@ -61,14 +61,14 @@ in
checkConfig = mkOption {
type = types.bool;
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 {
type = types.path;
defaultText = literalExpression ''"/var/lib/postgresql/''${config.services.postgresql.package.psqlSchema}"'';
example = "/var/lib/postgresql/11";
description = ''
description = lib.mdDoc ''
The data directory for PostgreSQL. If left as the default value
this directory will automatically be created before the PostgreSQL server starts, otherwise
the sysadmin is responsible for ensuring the directory exists with appropriate ownership
@ -79,16 +79,16 @@ in
authentication = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
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,
peer based authentication will be used for users connecting
via the Unix socket, and md5 password authentication 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
default rules entirely, you can use <literal>lib.mkForce</literal> in your
default rules entirely, you can use `lib.mkForce` in your
module.
'';
};
@ -96,7 +96,7 @@ in
identMap = mkOption {
type = types.lines;
default = "";
description = ''
description = lib.mdDoc ''
Defines the mapping from system users to database users.
The general form is:
@ -109,8 +109,8 @@ in
type = with types; listOf str;
default = [];
example = [ "--data-checksums" "--allow-group-access" ];
description = ''
Additional arguments passed to <literal>initdb</literal> during data dir
description = lib.mdDoc ''
Additional arguments passed to `initdb` during data dir
initialisation.
'';
};
@ -118,7 +118,7 @@ in
initialScript = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
description = lib.mdDoc ''
A file containing SQL statements to execute on first startup.
'';
};
@ -126,7 +126,7 @@ in
ensureDatabases = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
Ensures that the specified databases exist.
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
@ -143,14 +143,14 @@ in
options = {
name = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
Name of the user to ensure.
'';
};
ensurePermissions = mkOption {
type = types.attrsOf types.str;
default = {};
description = ''
description = lib.mdDoc ''
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 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
and on which privileges exist, see the
<link xlink:href="https://www.postgresql.org/docs/current/sql-grant.html">GRANT syntax</link>.
The attributes are used as <literal>GRANT ''${attrValue} ON ''${attrName}</literal>.
[GRANT syntax](https://www.postgresql.org/docs/current/sql-grant.html).
The attributes are used as `GRANT ''${attrValue} ON ''${attrName}`.
'';
example = literalExpression ''
{
@ -171,7 +171,7 @@ in
};
});
default = [];
description = ''
description = lib.mdDoc ''
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
same name only, and that without the need for a password.
@ -200,7 +200,7 @@ in
enableTCPIP = mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether PostgreSQL should listen on all network interfaces.
If disabled, the database can only be accessed via its Unix
domain socket or via TCP connections to localhost.
@ -211,9 +211,9 @@ in
type = types.str;
default = "[%p] ";
example = "%m [%p] ";
description = ''
description = lib.mdDoc ''
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.
'';
};
@ -222,24 +222,26 @@ in
type = types.listOf types.path;
default = [];
example = literalExpression "with pkgs.postgresql_11.pkgs; [ postgis pg_repack ]";
description = ''
description = lib.mdDoc ''
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 {
type = with types; attrsOf (oneOf [ bool float int str ]);
default = {};
description = ''
description = lib.mdDoc ''
PostgreSQL configuration. Refer to
<link xlink:href="https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE"/>
for an overview of <literal>postgresql.conf</literal>.
<https://www.postgresql.org/docs/11/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE>
for an overview of `postgresql.conf`.
<note><para>
::: {.note}
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.
</para></note>
:::
'';
example = literalExpression ''
{
@ -255,8 +257,8 @@ in
recoveryConfig = mkOption {
type = types.nullOr types.lines;
default = null;
description = ''
Contents of the <filename>recovery.conf</filename> file.
description = lib.mdDoc ''
Contents of the {file}`recovery.conf` file.
'';
};
@ -265,7 +267,7 @@ in
default = "postgres";
internal = true;
readOnly = true;
description = ''
description = lib.mdDoc ''
PostgreSQL superuser account to use for various operations. Internal since changing
this value would lead to breakage while setting up databases.
'';

View File

@ -10,40 +10,40 @@ in
services.privoxy.enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the privoxy proxy service.";
description = lib.mdDoc "Whether to enable the privoxy proxy service.";
};
services.privoxy.listenAddress = mkOption {
type = types.str;
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 {
type = types.package;
default = 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 {
type = types.lines;
default = "";
example = "forward / upstream.proxy:8080";
description = "Config to use for privoxy";
description = lib.mdDoc "Config to use for privoxy";
};
services.privoxy.templdir = mkOption {
type = types.path;
default = "${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 {
type = types.nullOr types.path;
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 {
type = types.bool;
default = false;
description = "Whether to enable the redis database service.";
description = lib.mdDoc "Whether to enable the redis database service.";
};
services.redis.package = mkOption {
type = types.path;
default = 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 {
type = types.nullOr types.path;
default = "/var/lib/redis";
description = "Data directory for the redis database.";
description = lib.mdDoc "Data directory for the redis database.";
};
services.redis.port = mkOption {
type = types.int;
default = 6379;
description = "The port for Redis to listen to.";
description = lib.mdDoc "The port for Redis to listen to.";
};
services.redis.bind = mkOption {
type = types.nullOr types.str;
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";
};
services.redis.unixSocket = mkOption {
type = types.nullOr types.path;
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";
};
services.redis.appendOnly = mkOption {
type = types.bool;
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 {
type = types.lines;
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 {
type = types.bool;
default = false;
description = "Whether to enable the skhd hotkey daemon.";
description = lib.mdDoc "Whether to enable the skhd hotkey daemon.";
};
services.skhd.package = mkOption {
type = types.package;
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 {
type = types.lines;
default = "";
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 {
type = bool;
default = false;
description = "Whether to enable the spacebar spacebar.";
description = lib.mdDoc "Whether to enable the spacebar spacebar.";
};
services.spacebar.package = mkOption {
type = path;
description = "The spacebar package to use.";
description = lib.mdDoc "The spacebar package to use.";
};
services.spacebar.config = mkOption {
@ -40,7 +40,7 @@ in
foreground_color = "0xffa8a8a8";
}
'';
description = ''
description = lib.mdDoc ''
Key/Value pairs to pass to spacebar's 'config' domain, via the configuration file.
'';
};
@ -51,7 +51,7 @@ in
example = literalExpression ''
echo "spacebar config loaded..."
'';
description = ''
description = lib.mdDoc ''
Extra arbitrary configuration to append to the configuration file.
'';
};

View File

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

View File

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

View File

@ -16,28 +16,28 @@ in
default = pkgs.synergy;
defaultText = "pkgs.synergy";
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 = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to enable the Synergy client (receive keyboard and mouse events from a Synergy server).
'';
};
screenName = mkOption {
default = "";
type = types.str;
description = ''
description = lib.mdDoc ''
Use the given name instead of the hostname to identify
ourselves to the server.
'';
};
serverAddress = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
The server address is of the form: [hostname][:port]. The
hostname must be the address or hostname of the server. The
port overrides the default port, 24800.
@ -46,21 +46,21 @@ in
autoStart = mkOption {
default = true;
type = types.bool;
description = "Whether the Synergy client should be started automatically.";
description = lib.mdDoc "Whether the Synergy client should be started automatically.";
};
tls = {
enable = mkEnableOption ''
enable = mkEnableOption (lib.mdDoc ''
Whether TLS encryption should be used.
Using this requires a TLS certificate that can be
generated by starting the Synergy GUI once and entering
a valid product key.
'';
'');
cert = mkOption {
type = types.nullOr types.str;
default = null;
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 {
default = false;
type = types.bool;
description = ''
description = lib.mdDoc ''
Whether to enable the Synergy server (send keyboard and mouse events).
'';
};
configFile = mkOption {
default = "/etc/synergy-server.conf";
type = types.str;
description = "The Synergy server configuration file.";
description = lib.mdDoc "The Synergy server configuration file.";
};
screenName = mkOption {
default = "";
type = types.str;
description = ''
description = lib.mdDoc ''
Use the given name instead of the hostname to identify
this screen in the configuration.
'';
@ -89,26 +89,26 @@ in
address = mkOption {
default = "";
type = types.str;
description = "Address on which to listen for clients.";
description = lib.mdDoc "Address on which to listen for clients.";
};
autoStart = mkOption {
default = true;
type = types.bool;
description = "Whether the Synergy server should be started automatically.";
description = lib.mdDoc "Whether the Synergy server should be started automatically.";
};
tls = {
enable = mkEnableOption ''
enable = mkEnableOption (lib.mdDoc ''
Whether TLS encryption should be used.
Using this requires a TLS certificate that can be
generated by starting the Synergy GUI once and entering
a valid product key.
'';
'');
cert = mkOption {
type = types.nullOr types.str;
default = null;
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 {
type = types.str;
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 {
type = types.package;
default = pkgs.tailscale;
defaultText = literalExpression "pkgs.tailscale";
description = "The package to use for tailscale";
description = lib.mdDoc "The package to use for tailscale";
};
magicDNS = {
@ -28,7 +28,7 @@ in
type = types.bool;
default = false;
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 {
type = types.listOf types.str;
default = [ ];
description = "List of IP addresses associated with this peer.";
description = lib.mdDoc "List of IP addresses associated with this peer.";
};
endpoint = mkOption {
type = types.nullOr types.str;
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 {
type = types.nullOr types.int;
default = null;
description = "Interval in seconds to send keepalive packets";
description = lib.mdDoc "Interval in seconds to send keepalive packets";
};
presharedKeyFile = mkOption {
type = types.nullOr types.str;
default = null;
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 {
default = null;
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 {
type = types.nullOr (types.listOf types.str);
default = [ ];
description = "List of IP addresses for this interface.";
description = lib.mdDoc "List of IP addresses for this interface.";
};
autostart = mkOption {
type = types.bool;
default = true;
description =
"Whether to bring up this interface automatically during boot.";
lib.mdDoc "Whether to bring up this interface automatically during boot.";
};
dns = mkOption {
type = types.listOf types.str;
default = [ ];
description = "List of DNS servers for this interface.";
description = lib.mdDoc "List of DNS servers for this interface.";
};
listenPort = mkOption {
type = types.nullOr types.int;
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 {
type = types.nullOr types.int;
default = null;
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 {
type = types.listOf (types.submodule peerOpts);
default = [ ];
description = "List of peers associated with this interface.";
description = lib.mdDoc "List of peers associated with this interface.";
};
preDown = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = "";
description = "List of commadns to run before interface shutdown.";
description = lib.mdDoc "List of commadns to run before interface shutdown.";
};
preUp = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = "";
description = "List of commands to run before interface setup.";
description = lib.mdDoc "List of commands to run before interface setup.";
};
postDown = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = "";
description = "List of commands to run after interface shutdown";
description = lib.mdDoc "List of commands to run after interface shutdown";
};
postUp = mkOption {
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
default = "";
description = "List of commands to run after interface setup.";
description = lib.mdDoc "List of commands to run after interface setup.";
};
privateKeyFile = mkOption {
type = types.str;
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 {
@ -208,13 +208,13 @@ in {
interfaces = mkOption {
type = types.attrsOf (types.submodule interfaceOpts);
default = { };
description = "Set of wg-quick interfaces.";
description = lib.mdDoc "Set of wg-quick interfaces.";
};
logDir = mkOption {
type = types.str;
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 {
type = bool;
default = false;
description = "Whether to enable the yabai window manager.";
description = lib.mdDoc "Whether to enable the yabai window manager.";
};
services.yabai.package = mkOption {
type = path;
default = pkgs.yabai;
description = "The yabai package to use.";
description = lib.mdDoc "The yabai package to use.";
};
services.yabai.enableScriptingAddition = mkOption {
type = bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to enable yabai's scripting-addition.
SIP must be disabled for this to work.
'';
@ -56,7 +56,7 @@ in
window_gap = 10;
}
'';
description = ''
description = lib.mdDoc ''
Key/Value pairs to pass to yabai's 'config' domain, via the configuration file.
'';
};
@ -67,7 +67,7 @@ in
example = literalExpression ''
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;
type = types.attrsOf (types.submodule script);
default = {};
description = ''
description = lib.mdDoc ''
A set of shell script fragments that are executed when a NixOS
system configuration is activated. Examples are updating
/etc, creating accounts, and so on. Since these are executed
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.
'';
};

View File

@ -202,19 +202,19 @@ in
system.checks.verifyNixPath = mkOption {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.bool;
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 {

View File

@ -22,7 +22,7 @@ in
internal = true;
type = types.attrsOf types.unspecified;
default = {};
description = ''
description = lib.mdDoc ''
Attribute set of derivation used to setup the system.
'';
};
@ -30,7 +30,7 @@ in
system.path = mkOption {
internal = true;
type = types.package;
description = ''
description = lib.mdDoc ''
The packages you want in the system environment.
'';
};
@ -38,7 +38,7 @@ in
system.profile = mkOption {
type = types.path;
default = "/nix/var/nix/profiles/system";
description = ''
description = lib.mdDoc ''
Profile to use for the system.
'';
};
@ -48,7 +48,7 @@ in
internal = true;
default = [];
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
hold for the evaluation of the system configuration to
succeed, along with associated error messages for the user.
@ -60,7 +60,7 @@ in
default = [];
type = types.listOf types.str;
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
the evaluation of the system configuration.
'';

View File

@ -39,7 +39,7 @@ with lib;
system.defaults.ActivityMonitor.SortColumn = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
The sort direction of the sort column (0 is decending). Default is null.
'';
};
@ -55,7 +55,7 @@ with lib;
system.defaults.ActivityMonitor.OpenMainWindow = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Open the main window when opening Activity Monitor. Default is true.
'';
};

View File

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

View File

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

View File

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

View File

@ -11,7 +11,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowAllFiles = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to always show hidden files. The default is false.
'';
};
@ -19,7 +19,7 @@ in {
system.defaults.NSGlobalDomain.AppleEnableMouseSwipeNavigateWithScrolls = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr (types.enum [ 0 1 2 ]);
default = null;
description = ''
description = lib.mdDoc ''
Sets the level of font smoothing (sub-pixel font rendering).
'';
};
@ -43,7 +43,7 @@ in {
system.defaults.NSGlobalDomain.AppleInterfaceStyle = mkOption {
type = types.nullOr (types.enum [ "Dark" ]);
default = null;
description = ''
description = lib.mdDoc ''
Set to 'Dark' to enable dark mode, or leave unset for normal mode.
'';
};
@ -51,7 +51,7 @@ in {
system.defaults.NSGlobalDomain.AppleInterfaceStyleSwitchesAutomatically = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to automatically switch between light and dark mode. The default is false.
'';
};
@ -59,7 +59,7 @@ in {
system.defaults.NSGlobalDomain.AppleKeyboardUIMode = mkOption {
type = types.nullOr (types.enum [ 3 ]);
default = null;
description = ''
description = lib.mdDoc ''
Configures the keyboard control behavior. Mode 3 enables full keyboard control.
'';
};
@ -67,7 +67,7 @@ in {
system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable the press-and-hold feature. The default is true.
'';
};
@ -75,7 +75,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowAllExtensions = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to show all file extensions in Finder. The default is false.
'';
};
@ -83,7 +83,7 @@ in {
system.defaults.NSGlobalDomain.AppleShowScrollBars = mkOption {
type = types.nullOr (types.enum [ "WhenScrolling" "Automatic" "Always" ]);
default = null;
description = ''
description = lib.mdDoc ''
When to show the scrollbars. Options are 'WhenScrolling', 'Automatic' and 'Always'.
'';
};
@ -91,7 +91,7 @@ in {
system.defaults.NSGlobalDomain.AppleScrollerPagingBehavior = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable automatic capitalization. The default is true.
'';
};
@ -107,7 +107,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable smart dash substitution. The default is true.
'';
};
@ -115,7 +115,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable smart period substitution. The default is true.
'';
};
@ -123,7 +123,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable smart quote substitution. The default is true.
'';
};
@ -131,7 +131,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable automatic spelling correction. The default is true.
'';
};
@ -139,7 +139,7 @@ in {
system.defaults.NSGlobalDomain.NSAutomaticWindowAnimationsEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to animate opening and closing of windows and popovers. The default is true.
'';
};
@ -147,7 +147,7 @@ in {
system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to disable the automatic termination of inactive apps.
'';
};
@ -155,7 +155,7 @@ in {
system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to save new documents to iCloud by default. The default is true.
'';
};
@ -163,7 +163,7 @@ in {
system.defaults.NSGlobalDomain.AppleWindowTabbingMode = mkOption {
type = types.nullOr (types.enum [ "manual" "always" "fullscreen" ]);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to use expanded save panel by default. The default is false.
'';
};
@ -179,7 +179,7 @@ in {
system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to use expanded save panel by default. The default is false.
'';
};
@ -187,7 +187,7 @@ in {
system.defaults.NSGlobalDomain.NSTableViewDefaultSizeMode = mkOption {
type = types.nullOr (types.enum [ 1 2 3 ]);
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.
'';
};
@ -195,7 +195,7 @@ in {
system.defaults.NSGlobalDomain.NSTextShowsControlCharacters = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable the focus ring animation. The default is true.
'';
};
@ -211,7 +211,7 @@ in {
system.defaults.NSGlobalDomain.NSScrollAnimationEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable smooth scrolling. The default is true.
'';
};
@ -220,7 +220,7 @@ in {
type = types.nullOr floatWithDeprecationError;
default = null;
example = 0.20;
description = ''
description = lib.mdDoc ''
Sets the speed speed of window resizing. The default is given in the example.
'';
};
@ -228,7 +228,7 @@ in {
system.defaults.NSGlobalDomain.InitialKeyRepeat = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Keyboard
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 {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Keyboard
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to use the expanded print panel by default. The default is false.
'';
};
@ -262,7 +262,7 @@ in {
system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint2 = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Use F1, F2, etc. keys as standard function keys.
'';
};
@ -278,7 +278,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.mouse.tapBehavior" = mkOption {
type = types.nullOr (types.enum [ 1 ]);
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr floatWithDeprecationError;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Sound
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 {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Sound
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable trackpad secondary click. The default is true.
'';
};
@ -321,7 +321,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = mkOption {
type = types.nullOr (types.enum [ 1 ]);
default = null;
description = ''
description = lib.mdDoc ''
Configures the trackpad corner click behavior. Mode 1 enables right click.
'';
};
@ -329,7 +329,7 @@ in {
system.defaults.NSGlobalDomain."com.apple.trackpad.scaling" = mkOption {
type = types.nullOr floatWithDeprecationError;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable spring loading (expose) for directories.
'';
};
@ -346,7 +346,7 @@ in {
type = types.nullOr floatWithDeprecationError;
default = null;
example = 1.0;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to enable "Natural" scrolling direction. The default is true.
'';
};
@ -362,7 +362,7 @@ in {
system.defaults.NSGlobalDomain.AppleMeasurementUnits = mkOption {
type = types.nullOr (types.enum [ "Centimeters" "Inches" ]);
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.
'';
};
@ -370,7 +370,7 @@ in {
system.defaults.NSGlobalDomain.AppleMetricUnits = mkOption {
type = types.nullOr (types.enum [ 0 1 ]);
default = null;
description = ''
description = lib.mdDoc ''
Whether to use the metric system. The default is based on region settings.
'';
};
@ -378,7 +378,7 @@ in {
system.defaults.NSGlobalDomain.AppleTemperatureUnit = mkOption {
type = types.nullOr (types.enum [ "Celsius" "Fahrenheit" ]);
default = null;
description = ''
description = lib.mdDoc ''
Whether to use Celsius or Fahrenheit. The default is based on region settings.
'';
};
@ -386,7 +386,7 @@ in {
system.defaults.NSGlobalDomain.AppleICUForce24HourTime = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to autohide the menu bar. The default is false.
'';
};

View File

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

View File

@ -7,7 +7,7 @@ with lib;
system.defaults.alf.globalstate = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall
Enable the internal firewall to prevent unauthorised applications, programs
@ -22,7 +22,7 @@ with lib;
system.defaults.alf.allowsignedenabled = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall
Allows any signed Application to accept incoming requests. Default is true.
@ -35,7 +35,7 @@ with lib;
system.defaults.alf.allowdownloadsignedenabled = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall
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 {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Security and Privacy > Firewall
Enable logging of requests made to the firewall. Default is 0.
@ -61,7 +61,7 @@ with lib;
system.defaults.alf.stealthenabled = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Security and firewall
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show an analog clock instead of a digital one. Default is null.
'';
};
@ -16,7 +16,7 @@ with lib;
system.defaults.menuExtraClock.Show24Hour = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show the AM/PM label. Useful if Show24Hour is false. Default is null.
'';
};
@ -32,7 +32,7 @@ with lib;
system.defaults.menuExtraClock.ShowDayOfMonth = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show the day of the month. Default is null.
'';
};
@ -40,7 +40,7 @@ with lib;
system.defaults.menuExtraClock.ShowDayOfWeek = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show the day of the week. Default is null.
'';
};
@ -48,7 +48,7 @@ with lib;
system.defaults.menuExtraClock.ShowDate = mkOption {
type = types.nullOr (types.enum [ 0 1 2 ]);
default = null;
description = ''
description = lib.mdDoc ''
Show the full date. Default is null.
0 = Show the date
@ -62,7 +62,7 @@ with lib;
system.defaults.menuExtraClock.ShowSeconds = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to automatically hide and show the dock. The default is false.
'';
};
@ -28,7 +28,7 @@ in {
type = types.nullOr floatWithDeprecationError;
default = null;
example = 0.24;
description = ''
description = lib.mdDoc ''
Sets the speed of the autohide delay. The default is given in the example.
'';
};
@ -37,7 +37,7 @@ in {
type = types.nullOr floatWithDeprecationError;
default = null;
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.
'';
};
@ -45,7 +45,7 @@ in {
system.defaults.dock.dashboard-in-overlay = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Enable spring loading for all Dock items. The default is false.
'';
};
@ -62,7 +62,7 @@ in {
type = types.nullOr floatWithDeprecationError;
default = null;
example = 1.0;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Animate opening applications from the Dock. The default is true.
'';
};
@ -86,7 +86,7 @@ in {
system.defaults.dock.mineffect = mkOption {
type = types.nullOr (types.enum [ "genie" "suck" "scale" ]);
default = null;
description = ''
description = lib.mdDoc ''
Set the minimize/maximize window effect. The default is genie.
'';
};
@ -94,7 +94,7 @@ in {
system.defaults.dock.minimize-to-application = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to automatically rearrange spaces based on most recent use. The default is true.
'';
};
@ -118,7 +118,7 @@ in {
system.defaults.dock.orientation = mkOption {
type = types.nullOr (types.enum [ "bottom" "left" "right" ]);
default = null;
description = ''
description = lib.mdDoc ''
Position of the dock on screen. The default is "bottom".
'';
};
@ -126,7 +126,7 @@ in {
system.defaults.dock.show-process-indicators = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show indicator lights for open applications in the Dock. The default is true.
'';
};
@ -134,7 +134,7 @@ in {
system.defaults.dock.showhidden = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to make icons of hidden applications tranclucent. The default is false.
'';
};
@ -142,7 +142,7 @@ in {
system.defaults.dock.show-recents = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show recent applications in the dock. The default is true.
'';
};
@ -150,7 +150,7 @@ in {
system.defaults.dock.static-only = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show only open applications in the Dock. The default is false.
'';
};
@ -158,7 +158,7 @@ in {
system.defaults.dock.tilesize = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
description = lib.mdDoc ''
Size of the icons in the dock. The default is 64.
'';
};

View File

@ -8,7 +8,7 @@ with lib;
system.defaults.finder.AppleShowAllFiles = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to always show hidden files. The default is false.
'';
};
@ -16,7 +16,7 @@ with lib;
system.defaults.finder.ShowStatusBar = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Show path breadcrumbs in finder windows. The default is false.
'';
};
@ -32,7 +32,7 @@ with lib;
system.defaults.finder.FXDefaultSearchScope = mkOption {
type = types.nullOr types.string;
default = null;
description = ''
description = lib.mdDoc ''
Change the default search scope. Use "SCcf" to default to current folder.
The default is unset ("This Mac").
'';
@ -41,7 +41,7 @@ with lib;
system.defaults.finder.FXPreferredViewStyle = mkOption {
type = types.nullOr types.string;
default = null;
description = ''
description = lib.mdDoc ''
Change the default finder view.
"icnv" = Icon view, "Nlsv" = List view, "clmv" = Column View, "Flwv" = Gallery View
The default is icnv.
@ -51,7 +51,7 @@ with lib;
system.defaults.finder.AppleShowAllExtensions = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to always show file extensions. The default is false.
'';
};
@ -59,7 +59,7 @@ with lib;
system.defaults.finder.CreateDesktop = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to show icons on the desktop or not. The default is true.
'';
};
@ -67,7 +67,7 @@ with lib;
system.defaults.finder.QuitMenuItem = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Whether to allow quitting of the Finder. The default is false.
'';
};
@ -75,7 +75,7 @@ with lib;
system.defaults.finder._FXShowPosixPathInTitle = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
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 {
type = types.nullOr types.str;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Auto login the supplied user on boot. Default is Off.
@ -28,7 +28,7 @@ with lib;
system.defaults.loginwindow.GuestEnabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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.
@ -46,7 +46,7 @@ with lib;
system.defaults.loginwindow.ShutDownDisabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Hides the Shut Down button on the login screen. Default is false.
@ -56,7 +56,7 @@ with lib;
system.defaults.loginwindow.SleepDisabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Hides the Sleep button on the login screen. Default is false.
@ -66,7 +66,7 @@ with lib;
system.defaults.loginwindow.RestartDisabled = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Hides the Restart button on the login screen. Default is false.
@ -76,7 +76,7 @@ with lib;
system.defaults.loginwindow.ShutDownDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Disables the "Shutdown" option when users are logged in. Default is false.
@ -86,7 +86,7 @@ with lib;
system.defaults.loginwindow.PowerOffDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
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.
@ -96,7 +96,7 @@ with lib;
system.defaults.loginwindow.RestartDisabledWhileLoggedIn = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Users and Groups > Login Options
Disables the Restart option when users are logged in. Default is false.
@ -106,7 +106,7 @@ with lib;
system.defaults.loginwindow.DisableConsoleAccess = mkOption {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Disables the ability for a user to access the console by typing >console
for a username at the login window. Default is false.
'';

View File

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

View File

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

View File

@ -8,7 +8,7 @@ with lib;
system.defaults.screensaver.askForPassword = mkOption {
type = types.nullOr types.bool;
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.
'';
};
@ -16,7 +16,7 @@ with lib;
system.defaults.screensaver.askForPasswordDelay = mkOption {
type = types.nullOr types.int;
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).
'';
};

View File

@ -7,13 +7,13 @@ with lib;
system.defaults.smb.NetBIOSName = mkOption {
type = types.nullOr types.str;
default = null;
description = "Hostname to use for NetBIOS.";
description = lib.mdDoc "Hostname to use for NetBIOS.";
};
system.defaults.smb.ServerDescription = mkOption {
type = types.nullOr types.str;
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 {
type = types.nullOr types.bool;
default = null;
description = ''
description = lib.mdDoc ''
Apple menu > System Preferences > Mission Control
Displays have separate Spaces (note a logout is required before

View File

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

View File

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

View File

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

View File

@ -11,40 +11,40 @@ in
system.keyboard.enableKeyMapping = mkOption {
type = types.bool;
default = false;
description = "Whether to enable keyboard mappings.";
description = lib.mdDoc "Whether to enable keyboard mappings.";
};
system.keyboard.remapCapsLockToControl = mkOption {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.bool;
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 {
type = types.bool;
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 {
internal = true;
type = types.listOf (types.attrsOf types.int);
default = [];
description = ''
description = lib.mdDoc ''
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 {
type = types.attrsOf (types.submodule text);
default = { };
description = ''
Set of files that have to be linked in <filename>/Library/LaunchAgents</filename>.
description = lib.mdDoc ''
Set of files that have to be linked in {file}`/Library/LaunchAgents`.
'';
};
environment.launchDaemons = mkOption {
type = types.attrsOf (types.submodule text);
default = { };
description = ''
Set of files that have to be linked in <filename>/Library/LaunchDaemons</filename>.
description = lib.mdDoc ''
Set of files that have to be linked in {file}`/Library/LaunchDaemons`.
'';
};
environment.userLaunchAgents = mkOption {
type = types.attrsOf (types.submodule text);
default = { };
description = ''
Set of files that have to be linked in <filename>~/Library/LaunchAgents</filename>.
description = lib.mdDoc ''
Set of files that have to be linked in {file}`~/Library/LaunchAgents`.
'';
};

View File

@ -26,12 +26,14 @@ in
'''')
]
'';
description = ''
Set of patches to apply to <filename>/</filename>.
description = lib.mdDoc ''
Set of patches to apply to {file}`/`.
<warning><para>
::: {.warning}
This can modify everything so use with caution.
</para></warning>
:::
Useful for safely changing system files. Unlike the etc module this
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);
default = [];
example = literalExpression "[ pkgs.bashInteractive pkgs.zsh ]";
description = ''
description = lib.mdDoc ''
A list of permissible login shells for user accounts.
No need to mention <literal>/bin/sh</literal>
No need to mention `/bin/sh`
and other shells that are available by default on
macOS.
'';

View File

@ -35,7 +35,7 @@ in
system.stateVersion = mkOption {
type = types.int;
default = 4;
description = ''
description = lib.mdDoc ''
Every once in a while, a new NixOS release may change
configuration defaults in a way incompatible with stateful
data. For instance, if the default version of PostgreSQL
@ -50,50 +50,50 @@ in
system.darwinLabel = mkOption {
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 {
internal = true;
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 {
internal = true;
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 {
internal = true;
type = types.str;
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 {
readOnly = true;
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 {
internal = true;
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 {
internal = true;
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 {
internal = true;
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;
default = null;
example = "America/New_York";
description = ''
The time zone used when displaying times and dates. See <link
xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"/>
or run <command>sudo systemsetup -listtimezones</command>
description = lib.mdDoc ''
The time zone used when displaying times and dates. See <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>
or run {command}`sudo systemsetup -listtimezones`
for a comprehensive list of possible values for this setting.
'';
};

View File

@ -31,7 +31,7 @@ in
users.knownGroups = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
List of groups owned and managed by nix-darwin. Used to indicate
what users are safe to create/delete based on the configuration.
Don't add system groups to this.
@ -41,7 +41,7 @@ in
users.knownUsers = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = lib.mdDoc ''
List of users owned and managed by nix-darwin. Used to indicate
what users are safe to create/delete based on the configuration.
Don't add the admin user or other system users to this.
@ -51,13 +51,13 @@ in
users.groups = mkOption {
type = types.attrsOf (types.submodule group);
default = {};
description = "Configuration for groups.";
description = lib.mdDoc "Configuration for groups.";
};
users.users = mkOption {
type = types.attrsOf (types.submodule user);
default = {};
description = "Configuration for users.";
description = lib.mdDoc "Configuration for users.";
};
users.gids = mkOption {
@ -76,7 +76,7 @@ in
internal = true;
type = types.bool;
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 = {
name = mkOption {
type = types.str;
description = ''
description = lib.mdDoc ''
The group's name. If undefined, the name of the attribute set
will be used.
'';
@ -17,19 +17,19 @@ with lib;
name = "gid";
check = t: isInt t && t > 501;
};
description = "The group's GID.";
description = lib.mdDoc "The group's GID.";
};
members = mkOption {
type = types.listOf types.str;
default = [];
description = "The group's members.";
description = lib.mdDoc "The group's members.";
};
description = mkOption {
type = types.str;
default = "";
description = "The group's description.";
description = lib.mdDoc "The group's description.";
};
};

View File

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