nixos/*: automatically convert option descriptions

conversions were done using https://github.com/pennae/nix-doc-munge
using (probably) rev f34e145 running

nix-doc-munge nixos/**/*.nix
nix-doc-munge --import nixos/**/*.nix

the tool ensures that only changes that could affect the generated
manual *but don't* are committed, other changes require manual review
and are discarded.

pennae ef176dcf 5a643387

Changed files
+1523 -1523
nixos
lib
maintainers
scripts
modules
config
hardware
i18n
input-method
misc
programs
security
services
admin
amqp
audio
backup
blockchain
ethereum
cluster
computing
boinc
foldingathome
slurm
torque
continuous-integration
gocd-agent
gocd-server
databases
desktops
development
display-managers
editors
finance
games
hardware
home-automation
logging
mail
matrix
misc
monitoring
network-filesystems
networking
hylafax
icecream
ircd-hybrid
iscsi
jibri
nghttpx
ntp
strongswan-swanctl
znc
search
security
system
torrent
tracing
video
wayland
web-apps
web-servers
x11
system
tasks
virtualisation
tests
common
acme
server
+4 -4
nixos/lib/systemd-types.nix
···
initrdContents = types.attrsOf (types.submodule ({ config, options, name, ... }: {
options = {
-
enable = mkEnableOption "copying of this file and symlinking it" // { default = true; };
target = mkOption {
type = types.path;
-
description = ''
Path of the symlink.
'';
default = name;
···
text = mkOption {
default = null;
type = types.nullOr types.lines;
-
description = "Text of the file.";
};
source = mkOption {
type = types.path;
-
description = "Path of the source file.";
};
};
···
initrdContents = types.attrsOf (types.submodule ({ config, options, name, ... }: {
options = {
+
enable = mkEnableOption (lib.mdDoc "copying of this file and symlinking it") // { default = true; };
target = mkOption {
type = types.path;
+
description = lib.mdDoc ''
Path of the symlink.
'';
default = name;
···
text = mkOption {
default = null;
type = types.nullOr types.lines;
+
description = lib.mdDoc "Text of the file.";
};
source = mkOption {
type = types.path;
+
description = lib.mdDoc "Path of the source file.";
};
};
+90 -90
nixos/lib/systemd-unit-options.nix
···
enable = mkOption {
default = true;
type = types.bool;
-
description = ''
If set to false, this unit will be a symlink to
/dev/null. This is primarily useful to prevent specific
template instances
-
(e.g. <literal>serial-getty@ttyS0</literal>) from being
-
started. Note that <literal>enable=true</literal> does not
make a unit start by default at boot; if you want that, see
-
<literal>wantedBy</literal>.
'';
};
requiredBy = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Units that require (i.e. depend on and need to go down with)
-
this unit. The discussion under <literal>wantedBy</literal>
-
applies here as well: inverse <literal>.requires</literal>
symlinks are established.
'';
};
···
wantedBy = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Units that want (i.e. depend on) this unit. The standard way
to make a unit start by default at boot is to set this option
-
to <literal>[ "multi-user.target" ]</literal>. That's despite
the fact that the systemd.unit(5) manpage says this option
-
goes in the <literal>[Install]</literal> section that controls
-
the behaviour of <literal>systemctl enable</literal>. Since
such a process is stateful and thus contrary to the design of
NixOS, setting this option instead causes the equivalent
-
inverse <literal>.wants</literal> symlink to be present,
establishing the same desired relationship in a stateless way.
'';
};
···
aliases = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = "Aliases of that unit.";
};
};
···
text = mkOption {
type = types.nullOr types.str;
default = null;
-
description = "Text of this systemd unit.";
};
unit = mkOption {
···
description = mkOption {
default = "";
type = types.singleLineStr;
-
description = "Description of this unit used in systemd messages and progress indicators.";
};
documentation = mkOption {
default = [];
type = types.listOf types.str;
-
description = "A list of URIs referencing documentation for this unit or its configuration.";
};
requires = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Start the specified units when this unit is started, and stop
this unit when the specified units are stopped or fail.
'';
···
wants = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Start the specified units when this unit is started.
'';
};
···
after = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
If the specified units are started at the same time as
this unit, delay this unit until they have started.
'';
···
before = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
If the specified units are started at the same time as
this unit, delay them until this unit has started.
'';
···
bindsTo = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Like ‘requires’, but in addition, if the specified units
unexpectedly disappear, this unit will be stopped as well.
'';
···
partOf = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
If the specified units are stopped or restarted, then this
unit is stopped or restarted as well.
'';
···
conflicts = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
If the specified units are started, then this unit is stopped
and vice versa.
'';
···
requisite = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
Similar to requires. However if the units listed are not started,
they will not be started and the transaction will fail.
'';
···
default = {};
example = { RequiresMountsFor = "/data"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Unit]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
onFailure = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
A list of one or more units that are activated when
this unit enters the "failed" state.
'';
···
onSuccess = mkOption {
default = [];
type = types.listOf unitNameType;
-
description = ''
A list of one or more units that are activated when
this unit enters the "inactive" state.
'';
···
startLimitBurst = mkOption {
type = types.int;
-
description = ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
···
startLimitIntervalSec = mkOption {
type = types.int;
-
description = ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
···
restartTriggers = mkOption {
default = [];
type = types.listOf types.unspecified;
-
description = ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be restarted.
···
reloadTriggers = mkOption {
default = [];
type = types.listOf unitOption;
-
description = ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be reloaded. If anything but a reload trigger changes in the
···
default = {};
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
-
description = "Environment variables passed to the service's processes.";
};
path = mkOption {
default = [];
type = with types; listOf (oneOf [ package str ]);
-
description = ''
-
Packages added to the service's <envar>PATH</envar>
-
environment variable. Both the <filename>bin</filename>
-
and <filename>sbin</filename> subdirectories of each
package are added.
'';
};
···
{ RestartSec = 5;
};
type = types.addCheck (types.attrsOf unitOption) checkService;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Service]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
script = mkOption {
type = types.lines;
default = "";
-
description = "Shell commands executed as the service's main process.";
};
scriptArgs = mkOption {
type = types.str;
default = "";
-
description = "Arguments passed to the main process script.";
};
preStart = mkOption {
type = types.lines;
default = "";
-
description = ''
Shell commands executed before the service's main process
is started.
'';
···
postStart = mkOption {
type = types.lines;
default = "";
-
description = ''
Shell commands executed after the service's main process
is started.
'';
···
reload = mkOption {
type = types.lines;
default = "";
-
description = ''
Shell commands executed when the service's main process
is reloaded.
'';
···
preStop = mkOption {
type = types.lines;
default = "";
-
description = ''
Shell commands executed to stop the service.
'';
};
···
postStop = mkOption {
type = types.lines;
default = "";
-
description = ''
Shell commands executed after the service's main process
has exited.
'';
···
restartIfChanged = mkOption {
type = types.bool;
default = true;
-
description = ''
Whether the service should be restarted during a NixOS
configuration switch if its definition has changed.
'';
···
reloadIfChanged = mkOption {
type = types.bool;
default = false;
-
description = ''
Whether the service should be reloaded during a NixOS
configuration switch if its definition has changed. If
-
enabled, the value of <option>restartIfChanged</option> is
ignored.
This option should not be used anymore in favor of
-
<option>reloadTriggers</option> which allows more granular
control of when a service is reloaded and when a service
is restarted.
'';
···
stopIfChanged = mkOption {
type = types.bool;
default = true;
-
description = ''
If set, a changed unit is restarted by calling
-
<command>systemctl stop</command> in the old configuration,
-
then <command>systemctl start</command> in the new one.
Otherwise, it is restarted in a single step using
-
<command>systemctl restart</command> in the new configuration.
The latter is less correct because it runs the
-
<literal>ExecStop</literal> commands from the new
configuration.
'';
};
···
type = with types; either str (listOf str);
default = [];
example = "Sun 14:00:00";
-
description = ''
Automatically start this unit at the given date/time, which
must be in the format described in
-
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. This is equivalent
to adding a corresponding timer unit with
-
<option>OnCalendar</option> set to the value given here.
'';
apply = v: if isList v then v else [ v ];
};
···
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
-
description = ''
-
For each item in this list, a <literal>ListenStream</literal>
-
option in the <literal>[Socket]</literal> section will be created.
'';
};
···
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
-
description = ''
-
For each item in this list, a <literal>ListenDatagram</literal>
-
option in the <literal>[Socket]</literal> section will be created.
'';
};
···
default = {};
example = { ListenStream = "/run/my-socket"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Socket]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
};
···
default = {};
example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Timer]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry> and
-
<citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> for details.
'';
};
···
default = {};
example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Path]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
···
what = mkOption {
example = "/dev/sda1";
type = types.str;
-
description = "Absolute path of device node, file or other resource. (Mandatory)";
};
where = mkOption {
example = "/mnt";
type = types.str;
-
description = ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
···
default = "";
example = "ext4";
type = types.str;
-
description = "File system type.";
};
options = mkOption {
default = "";
example = "noatime";
type = types.commas;
-
description = "Options used to mount the file system.";
};
mountConfig = mkOption {
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Mount]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
···
where = mkOption {
example = "/mnt";
type = types.str;
-
description = ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
···
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Automount]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
···
default = {};
example = { MemoryMax = "2G"; };
type = types.attrsOf unitOption;
-
description = ''
Each attribute in this set specifies an option in the
-
<literal>[Slice]</literal> section of the unit. See
-
<citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.
'';
};
···
enable = mkOption {
default = true;
type = types.bool;
+
description = lib.mdDoc ''
If set to false, this unit will be a symlink to
/dev/null. This is primarily useful to prevent specific
template instances
+
(e.g. `serial-getty@ttyS0`) from being
+
started. Note that `enable=true` does not
make a unit start by default at boot; if you want that, see
+
`wantedBy`.
'';
};
requiredBy = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Units that require (i.e. depend on and need to go down with)
+
this unit. The discussion under `wantedBy`
+
applies here as well: inverse `.requires`
symlinks are established.
'';
};
···
wantedBy = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Units that want (i.e. depend on) this unit. The standard way
to make a unit start by default at boot is to set this option
+
to `[ "multi-user.target" ]`. That's despite
the fact that the systemd.unit(5) manpage says this option
+
goes in the `[Install]` section that controls
+
the behaviour of `systemctl enable`. Since
such a process is stateful and thus contrary to the design of
NixOS, setting this option instead causes the equivalent
+
inverse `.wants` symlink to be present,
establishing the same desired relationship in a stateless way.
'';
};
···
aliases = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc "Aliases of that unit.";
};
};
···
text = mkOption {
type = types.nullOr types.str;
default = null;
+
description = lib.mdDoc "Text of this systemd unit.";
};
unit = mkOption {
···
description = mkOption {
default = "";
type = types.singleLineStr;
+
description = lib.mdDoc "Description of this unit used in systemd messages and progress indicators.";
};
documentation = mkOption {
default = [];
type = types.listOf types.str;
+
description = lib.mdDoc "A list of URIs referencing documentation for this unit or its configuration.";
};
requires = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Start the specified units when this unit is started, and stop
this unit when the specified units are stopped or fail.
'';
···
wants = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Start the specified units when this unit is started.
'';
};
···
after = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
If the specified units are started at the same time as
this unit, delay this unit until they have started.
'';
···
before = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
If the specified units are started at the same time as
this unit, delay them until this unit has started.
'';
···
bindsTo = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Like ‘requires’, but in addition, if the specified units
unexpectedly disappear, this unit will be stopped as well.
'';
···
partOf = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
If the specified units are stopped or restarted, then this
unit is stopped or restarted as well.
'';
···
conflicts = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
If the specified units are started, then this unit is stopped
and vice versa.
'';
···
requisite = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
Similar to requires. However if the units listed are not started,
they will not be started and the transaction will fail.
'';
···
default = {};
example = { RequiresMountsFor = "/data"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Unit]` section of the unit. See
+
{manpage}`systemd.unit(5)` for details.
'';
};
onFailure = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
A list of one or more units that are activated when
this unit enters the "failed" state.
'';
···
onSuccess = mkOption {
default = [];
type = types.listOf unitNameType;
+
description = lib.mdDoc ''
A list of one or more units that are activated when
this unit enters the "inactive" state.
'';
···
startLimitBurst = mkOption {
type = types.int;
+
description = lib.mdDoc ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
···
startLimitIntervalSec = mkOption {
type = types.int;
+
description = lib.mdDoc ''
Configure unit start rate limiting. Units which are started
more than startLimitBurst times within an interval time
interval are not permitted to start any more.
···
restartTriggers = mkOption {
default = [];
type = types.listOf types.unspecified;
+
description = lib.mdDoc ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be restarted.
···
reloadTriggers = mkOption {
default = [];
type = types.listOf unitOption;
+
description = lib.mdDoc ''
An arbitrary list of items such as derivations. If any item
in the list changes between reconfigurations, the service will
be reloaded. If anything but a reload trigger changes in the
···
default = {};
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
+
description = lib.mdDoc "Environment variables passed to the service's processes.";
};
path = mkOption {
default = [];
type = with types; listOf (oneOf [ package str ]);
+
description = lib.mdDoc ''
+
Packages added to the service's {env}`PATH`
+
environment variable. Both the {file}`bin`
+
and {file}`sbin` subdirectories of each
package are added.
'';
};
···
{ RestartSec = 5;
};
type = types.addCheck (types.attrsOf unitOption) checkService;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Service]` section of the unit. See
+
{manpage}`systemd.service(5)` for details.
'';
};
script = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc "Shell commands executed as the service's main process.";
};
scriptArgs = mkOption {
type = types.str;
default = "";
+
description = lib.mdDoc "Arguments passed to the main process script.";
};
preStart = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc ''
Shell commands executed before the service's main process
is started.
'';
···
postStart = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc ''
Shell commands executed after the service's main process
is started.
'';
···
reload = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc ''
Shell commands executed when the service's main process
is reloaded.
'';
···
preStop = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc ''
Shell commands executed to stop the service.
'';
};
···
postStop = mkOption {
type = types.lines;
default = "";
+
description = lib.mdDoc ''
Shell commands executed after the service's main process
has exited.
'';
···
restartIfChanged = mkOption {
type = types.bool;
default = true;
+
description = lib.mdDoc ''
Whether the service should be restarted during a NixOS
configuration switch if its definition has changed.
'';
···
reloadIfChanged = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Whether the service should be reloaded during a NixOS
configuration switch if its definition has changed. If
+
enabled, the value of {option}`restartIfChanged` is
ignored.
This option should not be used anymore in favor of
+
{option}`reloadTriggers` which allows more granular
control of when a service is reloaded and when a service
is restarted.
'';
···
stopIfChanged = mkOption {
type = types.bool;
default = true;
+
description = lib.mdDoc ''
If set, a changed unit is restarted by calling
+
{command}`systemctl stop` in the old configuration,
+
then {command}`systemctl start` in the new one.
Otherwise, it is restarted in a single step using
+
{command}`systemctl restart` in the new configuration.
The latter is less correct because it runs the
+
`ExecStop` commands from the new
configuration.
'';
};
···
type = with types; either str (listOf str);
default = [];
example = "Sun 14:00:00";
+
description = lib.mdDoc ''
Automatically start this unit at the given date/time, which
must be in the format described in
+
{manpage}`systemd.time(7)`. This is equivalent
to adding a corresponding timer unit with
+
{option}`OnCalendar` set to the value given here.
'';
apply = v: if isList v then v else [ v ];
};
···
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
+
description = lib.mdDoc ''
+
For each item in this list, a `ListenStream`
+
option in the `[Socket]` section will be created.
'';
};
···
default = [];
type = types.listOf types.str;
example = [ "0.0.0.0:993" "/run/my-socket" ];
+
description = lib.mdDoc ''
+
For each item in this list, a `ListenDatagram`
+
option in the `[Socket]` section will be created.
'';
};
···
default = {};
example = { ListenStream = "/run/my-socket"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Socket]` section of the unit. See
+
{manpage}`systemd.socket(5)` for details.
'';
};
};
···
default = {};
example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Timer]` section of the unit. See
+
{manpage}`systemd.timer(5)` and
+
{manpage}`systemd.time(7)` for details.
'';
};
···
default = {};
example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Path]` section of the unit. See
+
{manpage}`systemd.path(5)` for details.
'';
};
···
what = mkOption {
example = "/dev/sda1";
type = types.str;
+
description = lib.mdDoc "Absolute path of device node, file or other resource. (Mandatory)";
};
where = mkOption {
example = "/mnt";
type = types.str;
+
description = lib.mdDoc ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
···
default = "";
example = "ext4";
type = types.str;
+
description = lib.mdDoc "File system type.";
};
options = mkOption {
default = "";
example = "noatime";
type = types.commas;
+
description = lib.mdDoc "Options used to mount the file system.";
};
mountConfig = mkOption {
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Mount]` section of the unit. See
+
{manpage}`systemd.mount(5)` for details.
'';
};
···
where = mkOption {
example = "/mnt";
type = types.str;
+
description = lib.mdDoc ''
Absolute path of a directory of the mount point.
Will be created if it doesn't exist. (Mandatory)
'';
···
default = {};
example = { DirectoryMode = "0775"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Automount]` section of the unit. See
+
{manpage}`systemd.automount(5)` for details.
'';
};
···
default = {};
example = { MemoryMax = "2G"; };
type = types.attrsOf unitOption;
+
description = lib.mdDoc ''
Each attribute in this set specifies an option in the
+
`[Slice]` section of the unit. See
+
{manpage}`systemd.slice(5)` for details.
'';
};
+3 -3
nixos/maintainers/scripts/openstack/openstack-image-zfs.nix
···
options.openstackImage = {
name = mkOption {
type = types.str;
-
description = "The name of the generated derivation";
default = "nixos-openstack-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
};
sizeMB = mkOption {
type = types.int;
default = 8192;
-
description = "The size in MB of the image";
};
format = mkOption {
type = types.enum [ "raw" "qcow2" ];
default = "qcow2";
-
description = "The image format to output";
};
};
···
options.openstackImage = {
name = mkOption {
type = types.str;
+
description = lib.mdDoc "The name of the generated derivation";
default = "nixos-openstack-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
};
sizeMB = mkOption {
type = types.int;
default = 8192;
+
description = lib.mdDoc "The size in MB of the image";
};
format = mkOption {
type = types.enum [ "raw" "qcow2" ];
default = "qcow2";
+
description = lib.mdDoc "The image format to output";
};
};
+1 -1
nixos/modules/config/iproute2.nix
···
in
{
options.networking.iproute2 = {
-
enable = mkEnableOption "copy IP route configuration files";
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
···
in
{
options.networking.iproute2 = {
+
enable = mkEnableOption (lib.mdDoc "copy IP route configuration files");
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
+1 -1
nixos/modules/config/krb5/default.nix
···
options = {
krb5 = {
-
enable = mkEnableOption "building krb5.conf, configuration file for Kerberos V";
kerberos = mkOption {
type = types.package;
···
options = {
krb5 = {
+
enable = mkEnableOption (lib.mdDoc "building krb5.conf, configuration file for Kerberos V");
kerberos = mkOption {
type = types.package;
+1 -1
nixos/modules/config/ldap.nix
···
users.ldap = {
-
enable = mkEnableOption "authentication against an LDAP server";
loginPam = mkOption {
type = types.bool;
···
users.ldap = {
+
enable = mkEnableOption (lib.mdDoc "authentication against an LDAP server");
loginPam = mkOption {
type = types.bool;
+51 -51
nixos/modules/config/mysql.nix
···
{
options = {
users.mysql = {
-
enable = mkEnableOption "Authentication against a MySQL/MariaDB database";
host = mkOption {
type = types.str;
example = "localhost";
-
description = "The hostname of the MySQL/MariaDB server";
};
database = mkOption {
type = types.str;
example = "auth";
-
description = "The name of the database containing the users";
};
user = mkOption {
type = types.str;
example = "nss-user";
-
description = "The username to use when connecting to the database";
};
passwordFile = mkOption {
type = types.path;
example = "/run/secrets/mysql-auth-db-passwd";
-
description = "The path to the file containing the password for the user";
};
pam = mkOption {
-
description = "Settings for <literal>pam_mysql</literal>";
type = types.submodule {
options = {
table = mkOption {
type = types.str;
example = "users";
-
description = "The name of table that maps unique login names to the passwords.";
};
updateTable = mkOption {
type = types.nullOr types.str;
default = null;
example = "users_updates";
-
description = ''
The name of the table used for password alteration. If not defined, the value
-
of the <literal>table</literal> option will be used instead.
'';
};
userColumn = mkOption {
type = types.str;
example = "username";
-
description = "The name of the column that contains a unix login name.";
};
passwordColumn = mkOption {
type = types.str;
example = "password";
-
description = "The name of the column that contains a (encrypted) password string.";
};
statusColumn = mkOption {
type = types.nullOr types.str;
···
type = types.nullOr (types.enum [ "md5" "sha256" "sha512" "blowfish" ]);
default = null;
example = "blowfish";
-
description = "The default encryption method to use for <literal>passwordCrypt = 1</literal>.";
};
where = mkOption {
type = types.nullOr types.str;
default = null;
example = "host.name='web' AND user.active=1";
-
description = "Additional criteria for the query.";
};
verbose = mkOption {
type = types.bool;
default = false;
-
description = ''
If enabled, produces logs with detailed messages that describes what
-
<literal>pam_mysql</literal> is doing. May be useful for debugging.
'';
};
disconnectEveryOperation = mkOption {
type = types.bool;
default = false;
-
description = ''
-
By default, <literal>pam_mysql</literal> keeps the connection to the MySQL
database until the session is closed. If this option is set to true it
disconnects every time the PAM operation has finished. This option may
be useful in case the session lasts quite long.
···
enable = mkOption {
type = types.bool;
default = false;
-
description = "Enables logging of authentication attempts in the MySQL database.";
};
table = mkOption {
type = types.str;
example = "logs";
-
description = "The name of the table to which logs are written.";
};
msgColumn = mkOption {
type = types.str;
example = "msg";
-
description = ''
The name of the column in the log table to which the description
of the performed operation is stored.
'';
···
userColumn = mkOption {
type = types.str;
example = "user";
-
description = ''
The name of the column in the log table to which the name of the
user being authenticated is stored.
'';
···
pidColumn = mkOption {
type = types.str;
example = "pid";
-
description = ''
The name of the column in the log table to which the pid of the
-
process utilising the <literal>pam_mysql's</literal> authentication
service is stored.
'';
};
hostColumn = mkOption {
type = types.str;
example = "host";
-
description = ''
The name of the column in the log table to which the name of the user
being authenticated is stored.
'';
···
rHostColumn = mkOption {
type = types.str;
example = "rhost";
-
description = ''
The name of the column in the log table to which the name of the remote
host that initiates the session is stored. The value is supposed to be
-
set by the PAM-aware application with <literal>pam_set_item(PAM_RHOST)</literal>.
'';
};
timeColumn = mkOption {
type = types.str;
example = "timestamp";
-
description = ''
The name of the column in the log table to which the timestamp of the
log entry is stored.
'';
···
};
};
nss = mkOption {
-
description = ''
-
Settings for <literal>libnss-mysql</literal>.
-
All examples are from the <link xlink:href="https://github.com/saknopper/libnss-mysql/tree/master/sample/minimal">minimal example</link>
-
of <literal>libnss-mysql</literal>, but they are modified with NixOS paths for bash.
'';
type = types.submodule {
options = {
···
WHERE username='%1$s' \
LIMIT 1
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getpwnam.3.html">getpwnam</link>
syscall.
'';
};
···
WHERE uid='%1$u' \
LIMIT 1
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getpwuid.3.html">getpwuid</link>
syscall.
'';
};
···
WHERE username='%1$s' \
LIMIT 1
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getspnam.3.html">getspnam</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT username,'x',uid,'5000','MySQL User', CONCAT('/home/',username),'/run/sw/current-system/bin/bash' FROM users
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getpwent.3.html">getpwent</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT username,password,'1','0','99999','0','0','-1','0' FROM users
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getspent.3.html">getspent</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE name='%1$s' LIMIT 1
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getgrnam.3.html">getgrnam</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE gid='%1$u' LIMIT 1
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getgrgid.3.html">getgrgid</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/getgrent.3.html">getgrent</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT username FROM grouplist WHERE gid='%1$u'
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/memsbygid.3.html">memsbygid</link>
syscall.
'';
};
···
example = literalExpression ''
SELECT gid FROM grouplist WHERE username='%1$s'
'';
-
description = ''
-
SQL query for the <link xlink:href="https://man7.org/linux/man-pages/man3/gidsbymem.3.html">gidsbymem</link>
syscall.
'';
};
···
{
options = {
users.mysql = {
+
enable = mkEnableOption (lib.mdDoc "Authentication against a MySQL/MariaDB database");
host = mkOption {
type = types.str;
example = "localhost";
+
description = lib.mdDoc "The hostname of the MySQL/MariaDB server";
};
database = mkOption {
type = types.str;
example = "auth";
+
description = lib.mdDoc "The name of the database containing the users";
};
user = mkOption {
type = types.str;
example = "nss-user";
+
description = lib.mdDoc "The username to use when connecting to the database";
};
passwordFile = mkOption {
type = types.path;
example = "/run/secrets/mysql-auth-db-passwd";
+
description = lib.mdDoc "The path to the file containing the password for the user";
};
pam = mkOption {
+
description = lib.mdDoc "Settings for `pam_mysql`";
type = types.submodule {
options = {
table = mkOption {
type = types.str;
example = "users";
+
description = lib.mdDoc "The name of table that maps unique login names to the passwords.";
};
updateTable = mkOption {
type = types.nullOr types.str;
default = null;
example = "users_updates";
+
description = lib.mdDoc ''
The name of the table used for password alteration. If not defined, the value
+
of the `table` option will be used instead.
'';
};
userColumn = mkOption {
type = types.str;
example = "username";
+
description = lib.mdDoc "The name of the column that contains a unix login name.";
};
passwordColumn = mkOption {
type = types.str;
example = "password";
+
description = lib.mdDoc "The name of the column that contains a (encrypted) password string.";
};
statusColumn = mkOption {
type = types.nullOr types.str;
···
type = types.nullOr (types.enum [ "md5" "sha256" "sha512" "blowfish" ]);
default = null;
example = "blowfish";
+
description = lib.mdDoc "The default encryption method to use for `passwordCrypt = 1`.";
};
where = mkOption {
type = types.nullOr types.str;
default = null;
example = "host.name='web' AND user.active=1";
+
description = lib.mdDoc "Additional criteria for the query.";
};
verbose = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
If enabled, produces logs with detailed messages that describes what
+
`pam_mysql` is doing. May be useful for debugging.
'';
};
disconnectEveryOperation = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
+
By default, `pam_mysql` keeps the connection to the MySQL
database until the session is closed. If this option is set to true it
disconnects every time the PAM operation has finished. This option may
be useful in case the session lasts quite long.
···
enable = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc "Enables logging of authentication attempts in the MySQL database.";
};
table = mkOption {
type = types.str;
example = "logs";
+
description = lib.mdDoc "The name of the table to which logs are written.";
};
msgColumn = mkOption {
type = types.str;
example = "msg";
+
description = lib.mdDoc ''
The name of the column in the log table to which the description
of the performed operation is stored.
'';
···
userColumn = mkOption {
type = types.str;
example = "user";
+
description = lib.mdDoc ''
The name of the column in the log table to which the name of the
user being authenticated is stored.
'';
···
pidColumn = mkOption {
type = types.str;
example = "pid";
+
description = lib.mdDoc ''
The name of the column in the log table to which the pid of the
+
process utilising the `pam_mysql's` authentication
service is stored.
'';
};
hostColumn = mkOption {
type = types.str;
example = "host";
+
description = lib.mdDoc ''
The name of the column in the log table to which the name of the user
being authenticated is stored.
'';
···
rHostColumn = mkOption {
type = types.str;
example = "rhost";
+
description = lib.mdDoc ''
The name of the column in the log table to which the name of the remote
host that initiates the session is stored. The value is supposed to be
+
set by the PAM-aware application with `pam_set_item(PAM_RHOST)`.
'';
};
timeColumn = mkOption {
type = types.str;
example = "timestamp";
+
description = lib.mdDoc ''
The name of the column in the log table to which the timestamp of the
log entry is stored.
'';
···
};
};
nss = mkOption {
+
description = lib.mdDoc ''
+
Settings for `libnss-mysql`.
+
All examples are from the [minimal example](https://github.com/saknopper/libnss-mysql/tree/master/sample/minimal)
+
of `libnss-mysql`, but they are modified with NixOS paths for bash.
'';
type = types.submodule {
options = {
···
WHERE username='%1$s' \
LIMIT 1
'';
+
description = lib.mdDoc ''
+
SQL query for the [getpwnam](https://man7.org/linux/man-pages/man3/getpwnam.3.html)
syscall.
'';
};
···
WHERE uid='%1$u' \
LIMIT 1
'';
+
description = lib.mdDoc ''
+
SQL query for the [getpwuid](https://man7.org/linux/man-pages/man3/getpwuid.3.html)
syscall.
'';
};
···
WHERE username='%1$s' \
LIMIT 1
'';
+
description = lib.mdDoc ''
+
SQL query for the [getspnam](https://man7.org/linux/man-pages/man3/getspnam.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT username,'x',uid,'5000','MySQL User', CONCAT('/home/',username),'/run/sw/current-system/bin/bash' FROM users
'';
+
description = lib.mdDoc ''
+
SQL query for the [getpwent](https://man7.org/linux/man-pages/man3/getpwent.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT username,password,'1','0','99999','0','0','-1','0' FROM users
'';
+
description = lib.mdDoc ''
+
SQL query for the [getspent](https://man7.org/linux/man-pages/man3/getspent.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE name='%1$s' LIMIT 1
'';
+
description = lib.mdDoc ''
+
SQL query for the [getgrnam](https://man7.org/linux/man-pages/man3/getgrnam.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups WHERE gid='%1$u' LIMIT 1
'';
+
description = lib.mdDoc ''
+
SQL query for the [getgrgid](https://man7.org/linux/man-pages/man3/getgrgid.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT name,password,gid FROM groups
'';
+
description = lib.mdDoc ''
+
SQL query for the [getgrent](https://man7.org/linux/man-pages/man3/getgrent.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT username FROM grouplist WHERE gid='%1$u'
'';
+
description = lib.mdDoc ''
+
SQL query for the [memsbygid](https://man7.org/linux/man-pages/man3/memsbygid.3.html)
syscall.
'';
};
···
example = literalExpression ''
SELECT gid FROM grouplist WHERE username='%1$s'
'';
+
description = lib.mdDoc ''
+
SQL query for the [gidsbymem](https://man7.org/linux/man-pages/man3/gidsbymem.3.html)
syscall.
'';
};
+4 -4
nixos/modules/config/pulseaudio.nix
···
zeroconf = {
discovery.enable =
-
mkEnableOption "discovery of pulseaudio sinks in the local network";
publish.enable =
-
mkEnableOption "publishing the pulseaudio sink in the local network";
};
# TODO: enable by default?
tcp = {
-
enable = mkEnableOption "tcp streaming support";
anonymousClients = {
-
allowAll = mkEnableOption "all anonymous clients to stream to the server";
allowedIpRanges = mkOption {
type = types.listOf types.str;
default = [];
···
zeroconf = {
discovery.enable =
+
mkEnableOption (lib.mdDoc "discovery of pulseaudio sinks in the local network");
publish.enable =
+
mkEnableOption (lib.mdDoc "publishing the pulseaudio sink in the local network");
};
# TODO: enable by default?
tcp = {
+
enable = mkEnableOption (lib.mdDoc "tcp streaming support");
anonymousClients = {
+
allowAll = mkEnableOption (lib.mdDoc "all anonymous clients to stream to the server");
allowedIpRanges = mkOption {
type = types.listOf types.str;
default = [];
+1 -1
nixos/modules/config/qt5.nix
···
options = {
qt5 = {
-
enable = mkEnableOption "Qt5 theming configuration";
platformTheme = mkOption {
type = types.enum [
···
options = {
qt5 = {
+
enable = mkEnableOption (lib.mdDoc "Qt5 theming configuration");
platformTheme = mkOption {
type = types.enum [
+2 -2
nixos/modules/config/swap.nix
···
label = mkOption {
example = "swap";
type = types.str;
-
description = ''
-
Label of the device. Can be used instead of <varname>device</varname>.
'';
};
···
label = mkOption {
example = "swap";
type = types.str;
+
description = lib.mdDoc ''
+
Label of the device. Can be used instead of {var}`device`.
'';
};
+1 -1
nixos/modules/config/xdg/portal.nix
···
options.xdg.portal = {
enable =
-
mkEnableOption ''<link xlink:href="https://github.com/flatpak/xdg-desktop-portal">xdg desktop integration</link>'' // {
default = false;
};
···
options.xdg.portal = {
enable =
+
mkEnableOption (lib.mdDoc ''[xdg desktop integration](https://github.com/flatpak/xdg-desktop-portal)'') // {
default = false;
};
+4 -4
nixos/modules/config/xdg/portals/lxqt.nix
···
};
options.xdg.portal.lxqt = {
-
enable = mkEnableOption ''
the desktop portal for the LXQt desktop environment.
-
This will add the <literal>lxqt.xdg-desktop-portal-lxqt</literal>
package (with the extra Qt styles) into the
-
<option>xdg.portal.extraPortals</option> option
-
'';
styles = mkOption {
type = types.listOf types.package;
···
};
options.xdg.portal.lxqt = {
+
enable = mkEnableOption (lib.mdDoc ''
the desktop portal for the LXQt desktop environment.
+
This will add the `lxqt.xdg-desktop-portal-lxqt`
package (with the extra Qt styles) into the
+
{option}`xdg.portal.extraPortals` option
+
'');
styles = mkOption {
type = types.listOf types.package;
+4 -4
nixos/modules/config/xdg/portals/wlr.nix
···
};
options.xdg.portal.wlr = {
-
enable = mkEnableOption ''
desktop portal for wlroots-based desktops
-
This will add the <literal>xdg-desktop-portal-wlr</literal> package into
-
the <option>xdg.portal.extraPortals</option> option, and provide the
configuration file
-
'';
settings = mkOption {
description = lib.mdDoc ''
···
};
options.xdg.portal.wlr = {
+
enable = mkEnableOption (lib.mdDoc ''
desktop portal for wlroots-based desktops
+
This will add the `xdg-desktop-portal-wlr` package into
+
the {option}`xdg.portal.extraPortals` option, and provide the
configuration file
+
'');
settings = mkOption {
description = lib.mdDoc ''
+2 -2
nixos/modules/hardware/brillo.nix
···
{
options = {
hardware.brillo = {
-
enable = mkEnableOption ''
Enable brillo in userspace.
This will allow brightness control from users in the video group.
-
'';
};
};
···
{
options = {
hardware.brillo = {
+
enable = mkEnableOption (lib.mdDoc ''
Enable brillo in userspace.
This will allow brightness control from users in the video group.
+
'');
};
};
+1 -1
nixos/modules/hardware/ckb-next.nix
···
];
options.hardware.ckb-next = {
-
enable = mkEnableOption "the Corsair keyboard/mouse driver";
gid = mkOption {
type = types.nullOr types.int;
···
];
options.hardware.ckb-next = {
+
enable = mkEnableOption (lib.mdDoc "the Corsair keyboard/mouse driver");
gid = mkOption {
type = types.nullOr types.int;
+4 -4
nixos/modules/hardware/corectrl.nix
···
in
{
options.programs.corectrl = {
-
enable = mkEnableOption ''
A tool to overclock amd graphics cards and processors.
Add your user to the corectrl group to run corectrl without needing to enter your password
-
'';
gpuOverclock = {
-
enable = mkEnableOption ''
true
-
'';
ppfeaturemask = mkOption {
type = types.str;
default = "0xfffd7fff";
···
in
{
options.programs.corectrl = {
+
enable = mkEnableOption (lib.mdDoc ''
A tool to overclock amd graphics cards and processors.
Add your user to the corectrl group to run corectrl without needing to enter your password
+
'');
gpuOverclock = {
+
enable = mkEnableOption (lib.mdDoc ''
true
+
'');
ppfeaturemask = mkOption {
type = types.str;
default = "0xfffd7fff";
+1 -1
nixos/modules/hardware/cpu/amd-sev.nix
···
in
with lib; {
options.hardware.cpu.amd.sev = {
-
enable = mkEnableOption "access to the AMD SEV device";
user = mkOption {
description = lib.mdDoc "Owner to assign to the SEV device.";
type = types.str;
···
in
with lib; {
options.hardware.cpu.amd.sev = {
+
enable = mkEnableOption (lib.mdDoc "access to the AMD SEV device");
user = mkOption {
description = lib.mdDoc "Owner to assign to the SEV device.";
type = types.str;
+1 -1
nixos/modules/hardware/cpu/intel-sgx.nix
···
};
options.hardware.cpu.intel.sgx.provision = {
-
enable = mkEnableOption "access to the Intel SGX provisioning device";
user = mkOption {
description = lib.mdDoc "Owner to assign to the SGX provisioning device.";
type = types.str;
···
};
options.hardware.cpu.intel.sgx.provision = {
+
enable = mkEnableOption (lib.mdDoc "access to the Intel SGX provisioning device");
user = mkOption {
description = lib.mdDoc "Owner to assign to the SGX provisioning device.";
type = types.str;
+1 -1
nixos/modules/hardware/flirc.nix
···
cfg = config.hardware.flirc;
in
{
-
options.hardware.flirc.enable = lib.mkEnableOption "software to configure a Flirc USB device";
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.flirc ];
···
cfg = config.hardware.flirc;
in
{
+
options.hardware.flirc.enable = lib.mkEnableOption (lib.mdDoc "software to configure a Flirc USB device");
config = lib.mkIf cfg.enable {
environment.systemPackages = [ pkgs.flirc ];
+1 -1
nixos/modules/hardware/gkraken.nix
···
in
{
options.hardware.gkraken = {
-
enable = mkEnableOption "gkraken's udev rules for NZXT AIO liquid coolers";
};
config = mkIf cfg.enable {
···
in
{
options.hardware.gkraken = {
+
enable = mkEnableOption (lib.mdDoc "gkraken's udev rules for NZXT AIO liquid coolers");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/hardware/gpgsmartcards.nix
···
cfg = config.hardware.gpgSmartcards;
in {
options.hardware.gpgSmartcards = {
-
enable = mkEnableOption "udev rules for gnupg smart cards";
};
config = mkIf cfg.enable {
···
cfg = config.hardware.gpgSmartcards;
in {
options.hardware.gpgSmartcards = {
+
enable = mkEnableOption (lib.mdDoc "udev rules for gnupg smart cards");
};
config = mkIf cfg.enable {
+2 -2
nixos/modules/hardware/i2c.nix
···
{
options.hardware.i2c = {
-
enable = mkEnableOption ''
i2c devices support. By default access is granted to users in the "i2c"
group (will be created if non-existent) and any user with a seat, meaning
logged on the computer locally.
-
'';
group = mkOption {
type = types.str;
···
{
options.hardware.i2c = {
+
enable = mkEnableOption (lib.mdDoc ''
i2c devices support. By default access is granted to users in the "i2c"
group (will be created if non-existent) and any user with a seat, meaning
logged on the computer locally.
+
'');
group = mkOption {
type = types.str;
+1 -1
nixos/modules/hardware/keyboard/teck.nix
···
in
{
options.hardware.keyboard.teck = {
-
enable = mkEnableOption "non-root access to the firmware of TECK keyboards";
};
config = mkIf cfg.enable {
···
in
{
options.hardware.keyboard.teck = {
+
enable = mkEnableOption (lib.mdDoc "non-root access to the firmware of TECK keyboards");
};
config = mkIf cfg.enable {
+2 -2
nixos/modules/hardware/keyboard/uhk.nix
···
in
{
options.hardware.keyboard.uhk = {
-
enable = mkEnableOption ''
non-root access to the firmware of UHK keyboards.
You need it when you want to flash a new firmware on the keyboard.
Access to the keyboard is granted to users in the "input" group.
You may want to install the uhk-agent package.
-
'';
};
···
in
{
options.hardware.keyboard.uhk = {
+
enable = mkEnableOption (lib.mdDoc ''
non-root access to the firmware of UHK keyboards.
You need it when you want to flash a new firmware on the keyboard.
Access to the keyboard is granted to users in the "input" group.
You may want to install the uhk-agent package.
+
'');
};
+1 -1
nixos/modules/hardware/ksm.nix
···
];
options.hardware.ksm = {
-
enable = mkEnableOption "Kernel Same-Page Merging";
sleep = mkOption {
type = types.nullOr types.int;
default = null;
···
];
options.hardware.ksm = {
+
enable = mkEnableOption (lib.mdDoc "Kernel Same-Page Merging");
sleep = mkOption {
type = types.nullOr types.int;
default = null;
+1 -1
nixos/modules/hardware/ledger.nix
···
cfg = config.hardware.ledger;
in {
-
options.hardware.ledger.enable = mkEnableOption "udev rules for Ledger devices";
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.ledger-udev-rules ];
···
cfg = config.hardware.ledger;
in {
+
options.hardware.ledger.enable = mkEnableOption (lib.mdDoc "udev rules for Ledger devices");
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.ledger-udev-rules ];
+2 -2
nixos/modules/hardware/logitech.nix
···
options.hardware.logitech = {
lcd = {
-
enable = mkEnableOption "Logitech LCD Devices";
startWhenNeeded = mkOption {
type = types.bool;
···
};
wireless = {
-
enable = mkEnableOption "Logitech Wireless Devices";
enableGraphical = mkOption {
type = types.bool;
···
options.hardware.logitech = {
lcd = {
+
enable = mkEnableOption (lib.mdDoc "Logitech LCD Devices");
startWhenNeeded = mkOption {
type = types.bool;
···
};
wireless = {
+
enable = mkEnableOption (lib.mdDoc "Logitech Wireless Devices");
enableGraphical = mkOption {
type = types.bool;
+2 -2
nixos/modules/hardware/openrazer.nix
···
{
options = {
hardware.openrazer = {
-
enable = mkEnableOption ''
OpenRazer drivers and userspace daemon.
-
'';
verboseLogging = mkOption {
type = types.bool;
···
{
options = {
hardware.openrazer = {
+
enable = mkEnableOption (lib.mdDoc ''
OpenRazer drivers and userspace daemon.
+
'');
verboseLogging = mkOption {
type = types.bool;
+1 -1
nixos/modules/hardware/raid/hpsa.nix
···
options = {
hardware.raid.HPSmartArray = {
-
enable = mkEnableOption "HP Smart Array kernel modules and CLI utility";
};
};
···
options = {
hardware.raid.HPSmartArray = {
+
enable = mkEnableOption (lib.mdDoc "HP Smart Array kernel modules and CLI utility");
};
};
+1 -1
nixos/modules/hardware/saleae-logic.nix
···
in
{
options.hardware.saleae-logic = {
-
enable = lib.mkEnableOption "udev rules for Saleae Logic devices";
package = lib.mkOption {
type = lib.types.package;
···
in
{
options.hardware.saleae-logic = {
+
enable = lib.mkEnableOption (lib.mdDoc "udev rules for Saleae Logic devices");
package = lib.mkOption {
type = lib.types.package;
+1 -1
nixos/modules/hardware/sata.nix
···
meta.maintainers = with lib.maintainers; [ peterhoeg ];
options.hardware.sata.timeout = {
-
enable = mkEnableOption "SATA drive timeouts";
deciSeconds = mkOption {
example = 70;
···
meta.maintainers = with lib.maintainers; [ peterhoeg ];
options.hardware.sata.timeout = {
+
enable = mkEnableOption (lib.mdDoc "SATA drive timeouts");
deciSeconds = mkOption {
example = 70;
+1 -1
nixos/modules/hardware/system-76.nix
···
in {
options = {
hardware.system76 = {
-
enableAll = mkEnableOption "all recommended configuration for system76 systems";
firmware-daemon.enable = mkOption {
default = cfg.enableAll;
···
in {
options = {
hardware.system76 = {
+
enableAll = mkEnableOption (lib.mdDoc "all recommended configuration for system76 systems");
firmware-daemon.enable = mkOption {
default = cfg.enableAll;
+1 -1
nixos/modules/hardware/ubertooth.nix
···
};
in {
options.hardware.ubertooth = {
-
enable = mkEnableOption "Enable the Ubertooth software and its udev rules.";
group = mkOption {
type = types.str;
···
};
in {
options.hardware.ubertooth = {
+
enable = mkEnableOption (lib.mdDoc "Enable the Ubertooth software and its udev rules.");
group = mkOption {
type = types.str;
+1 -1
nixos/modules/hardware/uinput.nix
···
cfg = config.hardware.uinput;
in {
options.hardware.uinput = {
-
enable = lib.mkEnableOption "uinput support";
};
config = lib.mkIf cfg.enable {
···
cfg = config.hardware.uinput;
in {
options.hardware.uinput = {
+
enable = lib.mkEnableOption (lib.mdDoc "uinput support");
};
config = lib.mkIf cfg.enable {
+1 -1
nixos/modules/hardware/video/capture/mwprocapture.nix
···
{
-
options.hardware.mwProCapture.enable = mkEnableOption "Magewell Pro Capture family kernel module";
config = mkIf cfg.enable {
···
{
+
options.hardware.mwProCapture.enable = mkEnableOption (lib.mdDoc "Magewell Pro Capture family kernel module");
config = mkIf cfg.enable {
+1 -1
nixos/modules/hardware/video/hidpi.nix
···
with lib;
{
-
options.hardware.video.hidpi.enable = mkEnableOption "Font/DPI configuration optimized for HiDPI displays";
config = mkIf config.hardware.video.hidpi.enable {
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
···
with lib;
{
+
options.hardware.video.hidpi.enable = mkEnableOption (lib.mdDoc "Font/DPI configuration optimized for HiDPI displays");
config = mkIf config.hardware.video.hidpi.enable {
console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
+1 -1
nixos/modules/hardware/video/switcheroo-control.nix
···
cfg = config.services.switcherooControl;
in {
options.services.switcherooControl = {
-
enable = mkEnableOption "switcheroo-control, a D-Bus service to check the availability of dual-GPU";
};
config = mkIf cfg.enable {
···
cfg = config.services.switcherooControl;
in {
options.services.switcherooControl = {
+
enable = mkEnableOption (lib.mdDoc "switcheroo-control, a D-Bus service to check the availability of dual-GPU");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/hardware/video/webcam/facetimehd.nix
···
{
-
options.hardware.facetimehd.enable = mkEnableOption "facetimehd kernel module";
options.hardware.facetimehd.withCalibration = mkOption {
default = false;
···
{
+
options.hardware.facetimehd.enable = mkEnableOption (lib.mdDoc "facetimehd kernel module");
options.hardware.facetimehd.withCalibration = mkOption {
default = false;
+1 -1
nixos/modules/hardware/wooting.nix
···
with lib;
{
options.hardware.wooting.enable =
-
mkEnableOption "Enable support for Wooting keyboards";
config = mkIf config.hardware.wooting.enable {
environment.systemPackages = [ pkgs.wootility ];
···
with lib;
{
options.hardware.wooting.enable =
+
mkEnableOption (lib.mdDoc "Enable support for Wooting keyboards");
config = mkIf config.hardware.wooting.enable {
environment.systemPackages = [ pkgs.wootility ];
+1 -1
nixos/modules/hardware/xone.nix
···
in
{
options.hardware.xone = {
-
enable = mkEnableOption "the xone driver for Xbox One and Xbobx Series X|S accessories";
};
config = mkIf cfg.enable {
···
in
{
options.hardware.xone = {
+
enable = mkEnableOption (lib.mdDoc "the xone driver for Xbox One and Xbobx Series X|S accessories");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/hardware/xpadneo.nix
···
in
{
options.hardware.xpadneo = {
-
enable = mkEnableOption "the xpadneo driver for Xbox One wireless controllers";
};
config = mkIf cfg.enable {
···
in
{
options.hardware.xpadneo = {
+
enable = mkEnableOption (lib.mdDoc "the xpadneo driver for Xbox One wireless controllers");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/i18n/input-method/fcitx5.nix
···
'';
};
-
enableRimeData = mkEnableOption "default rime-data with fcitx5-rime";
};
};
···
'';
};
+
enableRimeData = mkEnableOption (lib.mdDoc "default rime-data with fcitx5-rime");
};
};
+1 -1
nixos/modules/misc/man-db.nix
···
{
options = {
documentation.man.man-db = {
-
enable = lib.mkEnableOption "man-db as the default man page viewer" // {
default = config.documentation.man.enable;
defaultText = lib.literalExpression "config.documentation.man.enable";
example = false;
···
{
options = {
documentation.man.man-db = {
+
enable = lib.mkEnableOption (lib.mdDoc "man-db as the default man page viewer") // {
default = config.documentation.man.enable;
defaultText = lib.literalExpression "config.documentation.man.enable";
example = false;
+1 -1
nixos/modules/misc/mandoc.nix
···
options = {
documentation.man.mandoc = {
-
enable = lib.mkEnableOption "mandoc as the default man page viewer";
manPath = lib.mkOption {
type = with lib.types; listOf str;
···
options = {
documentation.man.mandoc = {
+
enable = lib.mkEnableOption (lib.mdDoc "mandoc as the default man page viewer");
manPath = lib.mkOption {
type = with lib.types; listOf str;
+1 -1
nixos/modules/misc/nixops-autoluks.nix
···
inherit (config.nixops) enableDeprecatedAutoLuks;
in {
-
options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption "Enable the deprecated NixOps AutoLuks module";
config = {
assertions = [
···
inherit (config.nixops) enableDeprecatedAutoLuks;
in {
+
options.nixops.enableDeprecatedAutoLuks = lib.mkEnableOption (lib.mdDoc "Enable the deprecated NixOps AutoLuks module");
config = {
assertions = [
+1 -1
nixos/modules/misc/wordlist.nix
···
{
options = {
environment.wordlist = {
-
enable = mkEnableOption "environment variables for lists of words";
lists = mkOption {
type = types.attrsOf (types.nonEmptyListOf types.path);
···
{
options = {
environment.wordlist = {
+
enable = mkEnableOption (lib.mdDoc "environment variables for lists of words");
lists = mkOption {
type = types.attrsOf (types.nonEmptyListOf types.path);
+1 -1
nixos/modules/programs/_1password-gui.nix
···
options = {
programs._1password-gui = {
-
enable = mkEnableOption "the 1Password GUI application";
polkitPolicyOwners = mkOption {
type = types.listOf types.str;
···
options = {
programs._1password-gui = {
+
enable = mkEnableOption (lib.mdDoc "the 1Password GUI application");
polkitPolicyOwners = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/programs/_1password.nix
···
options = {
programs._1password = {
-
enable = mkEnableOption "the 1Password CLI tool";
package = mkPackageOption pkgs "1Password CLI" {
default = [ "_1password" ];
···
options = {
programs._1password = {
+
enable = mkEnableOption (lib.mdDoc "the 1Password CLI tool");
package = mkPackageOption pkgs "1Password CLI" {
default = [ "_1password" ];
+1 -1
nixos/modules/programs/appgate-sdp.nix
···
{
options = {
programs.appgate-sdp = {
-
enable = mkEnableOption "AppGate SDP VPN client";
};
};
···
{
options = {
programs.appgate-sdp = {
+
enable = mkEnableOption (lib.mdDoc "AppGate SDP VPN client");
};
};
+1 -1
nixos/modules/programs/atop.nix
···
programs.atop = rec {
-
enable = mkEnableOption "Atop";
package = mkOption {
type = types.package;
···
programs.atop = rec {
+
enable = mkEnableOption (lib.mdDoc "Atop");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/bash-my-aws.nix
···
{
options = {
programs.bash-my-aws = {
-
enable = mkEnableOption "bash-my-aws";
};
};
···
{
options = {
programs.bash-my-aws = {
+
enable = mkEnableOption (lib.mdDoc "bash-my-aws");
};
};
+1 -1
nixos/modules/programs/bash/bash-completion.nix
···
in
{
options = {
-
programs.bash.enableCompletion = mkEnableOption "Bash completion for all interactive bash shells" // {
default = true;
};
};
···
in
{
options = {
+
programs.bash.enableCompletion = mkEnableOption (lib.mdDoc "Bash completion for all interactive bash shells") // {
default = true;
};
};
+1 -1
nixos/modules/programs/bash/ls-colors.nix
···
in
{
options = {
-
programs.bash.enableLsColors = mkEnableOption "extra colors in directory listings" // {
default = true;
};
};
···
in
{
options = {
+
programs.bash.enableLsColors = mkEnableOption (lib.mdDoc "extra colors in directory listings") // {
default = true;
};
};
+2 -2
nixos/modules/programs/bash/undistract-me.nix
···
{
options = {
programs.bash.undistractMe = {
-
enable = mkEnableOption "notifications when long-running terminal commands complete";
-
playSound = mkEnableOption "notification sounds when long-running terminal commands complete";
timeout = mkOption {
default = 10;
···
{
options = {
programs.bash.undistractMe = {
+
enable = mkEnableOption (lib.mdDoc "notifications when long-running terminal commands complete");
+
playSound = mkEnableOption (lib.mdDoc "notification sounds when long-running terminal commands complete");
timeout = mkOption {
default = 10;
+1 -1
nixos/modules/programs/bcc.nix
···
{ config, pkgs, lib, ... }:
{
-
options.programs.bcc.enable = lib.mkEnableOption "bcc";
config = lib.mkIf config.programs.bcc.enable {
environment.systemPackages = [ pkgs.bcc ];
···
{ config, pkgs, lib, ... }:
{
+
options.programs.bcc.enable = lib.mkEnableOption (lib.mdDoc "bcc");
config = lib.mkIf config.programs.bcc.enable {
environment.systemPackages = [ pkgs.bcc ];
+1 -1
nixos/modules/programs/browserpass.nix
···
{
-
options.programs.browserpass.enable = mkEnableOption "Browserpass native messaging host";
config = mkIf config.programs.browserpass.enable {
environment.etc = let
···
{
+
options.programs.browserpass.enable = mkEnableOption (lib.mdDoc "Browserpass native messaging host");
config = mkIf config.programs.browserpass.enable {
environment.etc = let
+2 -2
nixos/modules/programs/calls.nix
···
in {
options = {
programs.calls = {
-
enable = mkEnableOption ''
Whether to enable GNOME calls: a phone dialer and call handler.
-
'';
};
};
···
in {
options = {
programs.calls = {
+
enable = mkEnableOption (lib.mdDoc ''
Whether to enable GNOME calls: a phone dialer and call handler.
+
'');
};
};
+1 -1
nixos/modules/programs/captive-browser.nix
···
options = {
programs.captive-browser = {
-
enable = mkEnableOption "captive browser";
package = mkOption {
type = types.package;
···
options = {
programs.captive-browser = {
+
enable = mkEnableOption (lib.mdDoc "captive browser");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/ccache.nix
···
in {
options.programs.ccache = {
# host configuration
-
enable = mkEnableOption "CCache";
cacheDir = mkOption {
type = types.path;
description = lib.mdDoc "CCache directory";
···
in {
options.programs.ccache = {
# host configuration
+
enable = mkEnableOption (lib.mdDoc "CCache");
cacheDir = mkOption {
type = types.path;
description = lib.mdDoc "CCache directory";
+1 -1
nixos/modules/programs/cfs-zen-tweaks.nix
···
};
options = {
-
programs.cfs-zen-tweaks.enable = mkEnableOption "CFS Zen Tweaks";
};
config = mkIf cfg.enable {
···
};
options = {
+
programs.cfs-zen-tweaks.enable = mkEnableOption (lib.mdDoc "CFS Zen Tweaks");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/chromium.nix
···
options = {
programs.chromium = {
-
enable = mkEnableOption "<command>chromium</command> policies";
extensions = mkOption {
type = types.listOf types.str;
···
options = {
programs.chromium = {
+
enable = mkEnableOption (lib.mdDoc "{command}`chromium` policies");
extensions = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/programs/cnping.nix
···
{
options = {
programs.cnping = {
-
enable = mkEnableOption "Whether to install a setcap wrapper for cnping";
};
};
···
{
options = {
programs.cnping = {
+
enable = mkEnableOption (lib.mdDoc "Whether to install a setcap wrapper for cnping");
};
};
+1 -1
nixos/modules/programs/dconf.nix
···
options = {
programs.dconf = {
-
enable = mkEnableOption "dconf";
profiles = mkOption {
type = types.attrsOf types.path;
···
options = {
programs.dconf = {
+
enable = mkEnableOption (lib.mdDoc "dconf");
profiles = mkOption {
type = types.attrsOf types.path;
+1 -1
nixos/modules/programs/droidcam.nix
···
{
options.programs.droidcam = {
-
enable = mkEnableOption "DroidCam client";
};
config = lib.mkIf config.programs.droidcam.enable {
···
{
options.programs.droidcam = {
+
enable = mkEnableOption (lib.mdDoc "DroidCam client");
};
config = lib.mkIf config.programs.droidcam.enable {
+1 -1
nixos/modules/programs/evince.nix
···
programs.evince = {
enable = mkEnableOption
-
"Evince, the GNOME document viewer";
package = mkOption {
type = types.package;
···
programs.evince = {
enable = mkEnableOption
+
(lib.mdDoc "Evince, the GNOME document viewer");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/programs/extra-container.nix
···
cfg = config.programs.extra-container;
in {
options = {
-
programs.extra-container.enable = mkEnableOption ''
extra-container, a tool for running declarative NixOS containers
without host system rebuilds
-
'';
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.extra-container ];
···
cfg = config.programs.extra-container;
in {
options = {
+
programs.extra-container.enable = mkEnableOption (lib.mdDoc ''
extra-container, a tool for running declarative NixOS containers
without host system rebuilds
+
'');
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.extra-container ];
+1 -1
nixos/modules/programs/file-roller.nix
···
programs.file-roller = {
-
enable = mkEnableOption "File Roller, an archive manager for GNOME";
package = mkOption {
type = types.package;
···
programs.file-roller = {
+
enable = mkEnableOption (lib.mdDoc "File Roller, an archive manager for GNOME");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/firejail.nix
···
in {
options.programs.firejail = {
-
enable = mkEnableOption "firejail";
wrappedBinaries = mkOption {
type = types.attrsOf (types.either types.path (types.submodule {
···
in {
options.programs.firejail = {
+
enable = mkEnableOption (lib.mdDoc "firejail");
wrappedBinaries = mkOption {
type = types.attrsOf (types.either types.path (types.submodule {
+1 -1
nixos/modules/programs/flexoptix-app.nix
···
in {
options = {
programs.flexoptix-app = {
-
enable = mkEnableOption "FLEXOPTIX app + udev rules";
package = mkOption {
description = lib.mdDoc "FLEXOPTIX app package to use";
···
in {
options = {
programs.flexoptix-app = {
+
enable = mkEnableOption (lib.mdDoc "FLEXOPTIX app + udev rules");
package = mkOption {
description = lib.mdDoc "FLEXOPTIX app package to use";
+2 -2
nixos/modules/programs/gamemode.nix
···
{
options = {
programs.gamemode = {
-
enable = mkEnableOption "GameMode to optimise system performance on demand";
-
enableRenice = mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // {
default = true;
};
···
{
options = {
programs.gamemode = {
+
enable = mkEnableOption (lib.mdDoc "GameMode to optimise system performance on demand");
+
enableRenice = mkEnableOption (lib.mdDoc "CAP_SYS_NICE on gamemoded to support lowering process niceness") // {
default = true;
};
+1 -1
nixos/modules/programs/geary.nix
···
};
options = {
-
programs.geary.enable = mkEnableOption "Geary, a Mail client for GNOME 3";
};
config = mkIf cfg.enable {
···
};
options = {
+
programs.geary.enable = mkEnableOption (lib.mdDoc "Geary, a Mail client for GNOME 3");
};
config = mkIf cfg.enable {
+2 -2
nixos/modules/programs/git.nix
···
{
options = {
programs.git = {
-
enable = mkEnableOption "git";
package = mkOption {
type = types.package;
···
};
lfs = {
-
enable = mkEnableOption "git-lfs";
package = mkOption {
type = types.package;
···
{
options = {
programs.git = {
+
enable = mkEnableOption (lib.mdDoc "git");
package = mkOption {
type = types.package;
···
};
lfs = {
+
enable = mkEnableOption (lib.mdDoc "git-lfs");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/gnome-terminal.nix
···
];
options = {
-
programs.gnome-terminal.enable = mkEnableOption "GNOME Terminal";
};
config = mkIf cfg.enable {
···
];
options = {
+
programs.gnome-terminal.enable = mkEnableOption (lib.mdDoc "GNOME Terminal");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/haguichi.nix
···
{
options.programs.haguichi = {
-
enable = mkEnableOption "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi";
};
config = mkIf config.programs.haguichi.enable {
···
{
options.programs.haguichi = {
+
enable = mkEnableOption (lib.mdDoc "Haguichi, a Linux GUI frontend to the proprietary LogMeIn Hamachi");
};
config = mkIf config.programs.haguichi.enable {
+1 -1
nixos/modules/programs/hamster.nix
···
meta.maintainers = pkgs.hamster.meta.maintainers;
options.programs.hamster.enable =
-
mkEnableOption "hamster, a time tracking program";
config = lib.mkIf config.programs.hamster.enable {
environment.systemPackages = [ pkgs.hamster ];
···
meta.maintainers = pkgs.hamster.meta.maintainers;
options.programs.hamster.enable =
+
mkEnableOption (lib.mdDoc "hamster, a time tracking program");
config = lib.mkIf config.programs.hamster.enable {
environment.systemPackages = [ pkgs.hamster ];
+1 -1
nixos/modules/programs/htop.nix
···
'';
};
-
enable = mkEnableOption "htop process monitor";
settings = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
···
'';
};
+
enable = mkEnableOption (lib.mdDoc "htop process monitor");
settings = mkOption {
type = with types; attrsOf (oneOf [ str int bool (listOf (oneOf [ str int bool ])) ]);
+1 -1
nixos/modules/programs/iftop.nix
···
cfg = config.programs.iftop;
in {
options = {
-
programs.iftop.enable = mkEnableOption "iftop + setcap wrapper";
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.iftop ];
···
cfg = config.programs.iftop;
in {
options = {
+
programs.iftop.enable = mkEnableOption (lib.mdDoc "iftop + setcap wrapper");
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.iftop ];
+1 -1
nixos/modules/programs/iotop.nix
···
cfg = config.programs.iotop;
in {
options = {
-
programs.iotop.enable = mkEnableOption "iotop + setcap wrapper";
};
config = mkIf cfg.enable {
security.wrappers.iotop = {
···
cfg = config.programs.iotop;
in {
options = {
+
programs.iotop.enable = mkEnableOption (lib.mdDoc "iotop + setcap wrapper");
};
config = mkIf cfg.enable {
security.wrappers.iotop = {
+1 -1
nixos/modules/programs/k40-whisperer.nix
···
in
{
options.programs.k40-whisperer = {
-
enable = mkEnableOption "K40-Whisperer";
group = mkOption {
type = types.str;
···
in
{
options.programs.k40-whisperer = {
+
enable = mkEnableOption (lib.mdDoc "K40-Whisperer");
group = mkOption {
type = types.str;
+1 -1
nixos/modules/programs/kbdlight.nix
···
in
{
-
options.programs.kbdlight.enable = mkEnableOption "kbdlight";
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.kbdlight ];
···
in
{
+
options.programs.kbdlight.enable = mkEnableOption (lib.mdDoc "kbdlight");
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.kbdlight ];
+1 -1
nixos/modules/programs/kclock.nix
···
cfg = config.programs.kclock;
kclockPkg = pkgs.libsForQt5.kclock;
in {
-
options.programs.kclock = { enable = mkEnableOption "Enable KClock"; };
config = mkIf cfg.enable {
services.dbus.packages = [ kclockPkg ];
···
cfg = config.programs.kclock;
kclockPkg = pkgs.libsForQt5.kclock;
in {
+
options.programs.kclock = { enable = mkEnableOption (lib.mdDoc "Enable KClock"); };
config = mkIf cfg.enable {
services.dbus.packages = [ kclockPkg ];
+4 -4
nixos/modules/programs/kdeconnect.nix
···
with lib;
{
options.programs.kdeconnect = {
-
enable = mkEnableOption ''
kdeconnect.
Note that it will open the TCP and UDP port from
1714 to 1764 as they are needed for it to function properly.
-
You can use the <option>package</option> to use
-
<literal>gnomeExtensions.gsconnect</literal> as an alternative
implementation if you use Gnome.
-
'';
package = mkOption {
default = pkgs.plasma5Packages.kdeconnect-kde;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
···
with lib;
{
options.programs.kdeconnect = {
+
enable = mkEnableOption (lib.mdDoc ''
kdeconnect.
Note that it will open the TCP and UDP port from
1714 to 1764 as they are needed for it to function properly.
+
You can use the {option}`package` to use
+
`gnomeExtensions.gsconnect` as an alternative
implementation if you use Gnome.
+
'');
package = mkOption {
default = pkgs.plasma5Packages.kdeconnect-kde;
defaultText = literalExpression "pkgs.plasma5Packages.kdeconnect-kde";
+1 -1
nixos/modules/programs/less.nix
···
# note that environment.nix sets PAGER=less, and
# therefore also enables this module
-
enable = mkEnableOption "less";
configFile = mkOption {
type = types.nullOr types.path;
···
# note that environment.nix sets PAGER=less, and
# therefore also enables this module
+
enable = mkEnableOption (lib.mdDoc "less");
configFile = mkOption {
type = types.nullOr types.path;
+1 -1
nixos/modules/programs/liboping.nix
···
cfg = config.programs.liboping;
in {
options.programs.liboping = {
-
enable = mkEnableOption "liboping";
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ liboping ];
···
cfg = config.programs.liboping;
in {
options.programs.liboping = {
+
enable = mkEnableOption (lib.mdDoc "liboping");
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ liboping ];
+1 -1
nixos/modules/programs/mininet.nix
···
'';
in
{
-
options.programs.mininet.enable = mkEnableOption "Mininet";
config = mkIf cfg.enable {
···
'';
in
{
+
options.programs.mininet.enable = mkEnableOption (lib.mdDoc "Mininet");
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/msmtp.nix
···
options = {
programs.msmtp = {
-
enable = mkEnableOption "msmtp - an SMTP client";
setSendmail = mkOption {
type = types.bool;
···
options = {
programs.msmtp = {
+
enable = mkEnableOption (lib.mdDoc "msmtp - an SMTP client");
setSendmail = mkOption {
type = types.bool;
+1 -1
nixos/modules/programs/nbd.nix
···
{
options = {
programs.nbd = {
-
enable = mkEnableOption "Network Block Device (nbd) support";
};
};
···
{
options = {
programs.nbd = {
+
enable = mkEnableOption (lib.mdDoc "Network Block Device (nbd) support");
};
};
+1 -1
nixos/modules/programs/neovim.nix
···
in {
options.programs.neovim = {
-
enable = mkEnableOption "Neovim";
defaultEditor = mkOption {
type = types.bool;
···
in {
options.programs.neovim = {
+
enable = mkEnableOption (lib.mdDoc "Neovim");
defaultEditor = mkOption {
type = types.bool;
+1 -1
nixos/modules/programs/nix-ld.nix
···
{
meta.maintainers = [ lib.maintainers.mic92 ];
options = {
-
programs.nix-ld.enable = lib.mkEnableOption ''nix-ld, Documentation: <link xlink:href="https://github.com/Mic92/nix-ld"/>'';
};
config = lib.mkIf config.programs.nix-ld.enable {
systemd.tmpfiles.packages = [ pkgs.nix-ld ];
···
{
meta.maintainers = [ lib.maintainers.mic92 ];
options = {
+
programs.nix-ld.enable = lib.mkEnableOption (lib.mdDoc ''nix-ld, Documentation: <https://github.com/Mic92/nix-ld>'');
};
config = lib.mkIf config.programs.nix-ld.enable {
systemd.tmpfiles.packages = [ pkgs.nix-ld ];
+1 -1
nixos/modules/programs/nm-applet.nix
···
};
options.programs.nm-applet = {
-
enable = lib.mkEnableOption "nm-applet";
indicator = lib.mkOption {
type = lib.types.bool;
···
};
options.programs.nm-applet = {
+
enable = lib.mkEnableOption (lib.mdDoc "nm-applet");
indicator = lib.mkOption {
type = lib.types.bool;
+1 -1
nixos/modules/programs/nncp.nix
···
options.programs.nncp = {
enable =
-
mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
group = mkOption {
type = types.str;
···
options.programs.nncp = {
enable =
+
mkEnableOption (lib.mdDoc "NNCP (Node to Node copy) utilities and configuration");
group = mkOption {
type = types.str;
+1 -1
nixos/modules/programs/noisetorch.nix
···
in
{
options.programs.noisetorch = {
-
enable = mkEnableOption "noisetorch + setcap wrapper";
package = mkOption {
type = types.package;
···
in
{
options.programs.noisetorch = {
+
enable = mkEnableOption (lib.mdDoc "noisetorch + setcap wrapper");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/npm.nix
···
options = {
programs.npm = {
-
enable = mkEnableOption "<command>npm</command> global config";
package = mkOption {
type = types.package;
···
options = {
programs.npm = {
+
enable = mkEnableOption (lib.mdDoc "{command}`npm` global config");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/programs/openvpn3.nix
···
in
{
options.programs.openvpn3 = {
-
enable = mkEnableOption "the openvpn3 client";
};
config = mkIf cfg.enable {
···
in
{
options.programs.openvpn3 = {
+
enable = mkEnableOption (lib.mdDoc "the openvpn3 client");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/pantheon-tweaks.nix
···
###### interface
options = {
-
programs.pantheon-tweaks.enable = mkEnableOption "Pantheon Tweaks, an unofficial system settings panel for Pantheon";
};
###### implementation
···
###### interface
options = {
+
programs.pantheon-tweaks.enable = mkEnableOption (lib.mdDoc "Pantheon Tweaks, an unofficial system settings panel for Pantheon");
};
###### implementation
+1 -1
nixos/modules/programs/partition-manager.nix
···
###### interface
options = {
-
programs.partition-manager.enable = mkEnableOption "KDE Partition Manager";
};
###### implementation
···
###### interface
options = {
+
programs.partition-manager.enable = mkEnableOption (lib.mdDoc "KDE Partition Manager");
};
###### implementation
+3 -3
nixos/modules/programs/proxychains.nix
···
proxyOptions = {
options = {
-
enable = mkEnableOption "this proxy";
type = mkOption {
type = types.enum [ "http" "socks4" "socks5" ];
···
programs.proxychains = {
-
enable = mkEnableOption "installing proxychains configuration";
chain = {
type = mkOption {
···
description = lib.mdDoc "Proxy DNS requests - no leak for DNS data.";
};
-
quietMode = mkEnableOption "Quiet mode (no output from the library).";
remoteDNSSubnet = mkOption {
type = types.enum [ 10 127 224 ];
···
proxyOptions = {
options = {
+
enable = mkEnableOption (lib.mdDoc "this proxy");
type = mkOption {
type = types.enum [ "http" "socks4" "socks5" ];
···
programs.proxychains = {
+
enable = mkEnableOption (lib.mdDoc "installing proxychains configuration");
chain = {
type = mkOption {
···
description = lib.mdDoc "Proxy DNS requests - no leak for DNS data.";
};
+
quietMode = mkEnableOption (lib.mdDoc "Quiet mode (no output from the library).");
remoteDNSSubnet = mkOption {
type = types.enum [ 10 127 224 ];
+1 -1
nixos/modules/programs/seahorse.nix
···
programs.seahorse = {
-
enable = mkEnableOption "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring";
};
···
programs.seahorse = {
+
enable = mkEnableOption (lib.mdDoc "Seahorse, a GNOME application for managing encryption keys and passwords in the GNOME Keyring");
};
+1 -1
nixos/modules/programs/sedutil.nix
···
cfg = config.programs.sedutil;
in {
-
options.programs.sedutil.enable = mkEnableOption "sedutil";
config = mkIf cfg.enable {
boot.kernelParams = [
···
cfg = config.programs.sedutil;
in {
+
options.programs.sedutil.enable = mkEnableOption (lib.mdDoc "sedutil");
config = mkIf cfg.enable {
boot.kernelParams = [
+1 -1
nixos/modules/programs/singularity.nix
···
});
in {
options.programs.singularity = {
-
enable = mkEnableOption "Singularity";
};
config = mkIf cfg.enable {
···
});
in {
options.programs.singularity = {
+
enable = mkEnableOption (lib.mdDoc "Singularity");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/starship.nix
···
in {
options.programs.starship = {
-
enable = mkEnableOption "the Starship shell prompt";
settings = mkOption {
inherit (settingsFormat) type;
···
in {
options.programs.starship = {
+
enable = mkEnableOption (lib.mdDoc "the Starship shell prompt");
settings = mkOption {
inherit (settingsFormat) type;
+1 -1
nixos/modules/programs/steam.nix
···
};
in {
options.programs.steam = {
-
enable = mkEnableOption "steam";
remotePlay.openFirewall = mkOption {
type = types.bool;
···
};
in {
options.programs.steam = {
+
enable = mkEnableOption (lib.mdDoc "steam");
remotePlay.openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/programs/streamdeck-ui.nix
···
cfg = config.programs.streamdeck-ui;
in {
options.programs.streamdeck-ui = {
-
enable = mkEnableOption "streamdeck-ui";
autoStart = mkOption {
default = true;
···
cfg = config.programs.streamdeck-ui;
in {
options.programs.streamdeck-ui = {
+
enable = mkEnableOption (lib.mdDoc "streamdeck-ui");
autoStart = mkOption {
default = true;
+3 -3
nixos/modules/programs/sway.nix
···
};
in {
options.programs.sway = {
-
enable = mkEnableOption ''
Sway, the i3-compatible tiling Wayland compositor. You can manually launch
Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to
~/.config/sway/config to modify the default configuration. See
-
<link xlink:href="https://github.com/swaywm/sway/wiki"/> and
-
"man 5 sway" for more information'';
wrapperFeatures = mkOption {
type = wrapperOptions;
···
};
in {
options.programs.sway = {
+
enable = mkEnableOption (lib.mdDoc ''
Sway, the i3-compatible tiling Wayland compositor. You can manually launch
Sway by executing "exec sway" on a TTY. Copy /etc/sway/config to
~/.config/sway/config to modify the default configuration. See
+
<https://github.com/swaywm/sway/wiki> and
+
"man 5 sway" for more information'');
wrapperFeatures = mkOption {
type = wrapperOptions;
+1 -1
nixos/modules/programs/sysdig.nix
···
let
cfg = config.programs.sysdig;
in {
-
options.programs.sysdig.enable = mkEnableOption "sysdig";
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.sysdig ];
···
let
cfg = config.programs.sysdig;
in {
+
options.programs.sysdig.enable = mkEnableOption (lib.mdDoc "sysdig");
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.sysdig ];
+1 -1
nixos/modules/programs/system-config-printer.nix
···
programs.system-config-printer = {
-
enable = mkEnableOption "system-config-printer, a Graphical user interface for CUPS administration";
};
···
programs.system-config-printer = {
+
enable = mkEnableOption (lib.mdDoc "system-config-printer, a Graphical user interface for CUPS administration");
};
+1 -1
nixos/modules/programs/thefuck.nix
···
{
options = {
programs.thefuck = {
-
enable = mkEnableOption "thefuck";
alias = mkOption {
default = "fuck";
···
{
options = {
programs.thefuck = {
+
enable = mkEnableOption (lib.mdDoc "thefuck");
alias = mkOption {
default = "fuck";
+1 -1
nixos/modules/programs/thunar.nix
···
options = {
programs.thunar = {
-
enable = mkEnableOption "Thunar, the Xfce file manager";
plugins = mkOption {
default = [];
···
options = {
programs.thunar = {
+
enable = mkEnableOption (lib.mdDoc "Thunar, the Xfce file manager");
plugins = mkOption {
default = [];
+8 -8
nixos/modules/programs/tsm-client.nix
···
directive in {file}`dsm.sys`.
'';
};
-
options.genPasswd = mkEnableOption ''
automatic client password generation.
This option influences the
-
<literal>passwordaccess</literal>
-
directive in <filename>dsm.sys</filename>.
The password will be stored in the directory
-
given by the option <option>passwdDir</option>.
-
<emphasis>Caution</emphasis>:
If this option is enabled and the server forces
to renew the password (e.g. on first connection),
a random password will be generated and stored
-
'';
options.passwdDir = mkOption {
type = path;
example = "/home/alice/tsm-password";
···
};
options.programs.tsmClient = {
-
enable = mkEnableOption ''
IBM Spectrum Protect (Tivoli Storage Manager, TSM)
client command line applications with a
client system-options file "dsm.sys"
-
'';
servers = mkOption {
type = attrsOf (submodule [ serverOptions ]);
default = {};
···
directive in {file}`dsm.sys`.
'';
};
+
options.genPasswd = mkEnableOption (lib.mdDoc ''
automatic client password generation.
This option influences the
+
`passwordaccess`
+
directive in {file}`dsm.sys`.
The password will be stored in the directory
+
given by the option {option}`passwdDir`.
+
*Caution*:
If this option is enabled and the server forces
to renew the password (e.g. on first connection),
a random password will be generated and stored
+
'');
options.passwdDir = mkOption {
type = path;
example = "/home/alice/tsm-password";
···
};
options.programs.tsmClient = {
+
enable = mkEnableOption (lib.mdDoc ''
IBM Spectrum Protect (Tivoli Storage Manager, TSM)
client command line applications with a
client system-options file "dsm.sys"
+
'');
servers = mkOption {
type = attrsOf (submodule [ serverOptions ]);
default = {};
+1 -1
nixos/modules/programs/udevil.nix
···
cfg = config.programs.udevil;
in {
-
options.programs.udevil.enable = mkEnableOption "udevil";
config = mkIf cfg.enable {
security.wrappers.udevil =
···
cfg = config.programs.udevil;
in {
+
options.programs.udevil.enable = mkEnableOption (lib.mdDoc "udevil");
config = mkIf cfg.enable {
security.wrappers.udevil =
+1 -1
nixos/modules/programs/usbtop.nix
···
cfg = config.programs.usbtop;
in {
options = {
-
programs.usbtop.enable = mkEnableOption "usbtop and required kernel module";
};
config = mkIf cfg.enable {
···
cfg = config.programs.usbtop;
in {
options = {
+
programs.usbtop.enable = mkEnableOption (lib.mdDoc "usbtop and required kernel module");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/waybar.nix
···
{
options.programs.waybar = {
-
enable = mkEnableOption "waybar";
};
config = mkIf config.programs.waybar.enable {
···
{
options.programs.waybar = {
+
enable = mkEnableOption (lib.mdDoc "waybar");
};
config = mkIf config.programs.waybar.enable {
+1 -1
nixos/modules/programs/weylus.nix
···
in
{
options.programs.weylus = with types; {
-
enable = mkEnableOption "weylus";
openFirewall = mkOption {
type = bool;
···
in
{
options.programs.weylus = with types; {
+
enable = mkEnableOption (lib.mdDoc "weylus");
openFirewall = mkOption {
type = bool;
+2 -2
nixos/modules/programs/wshowkeys.nix
···
options = {
programs.wshowkeys = {
-
enable = mkEnableOption ''
wshowkeys (displays keypresses on screen on supported Wayland
compositors). It requires root permissions to read input events, but
-
these permissions are dropped after startup'';
};
};
···
options = {
programs.wshowkeys = {
+
enable = mkEnableOption (lib.mdDoc ''
wshowkeys (displays keypresses on screen on supported Wayland
compositors). It requires root permissions to read input events, but
+
these permissions are dropped after startup'');
};
};
+1 -1
nixos/modules/programs/xfconf.nix
···
options = {
programs.xfconf = {
-
enable = mkEnableOption "Xfconf, the Xfce configuration storage system";
};
};
···
options = {
programs.xfconf = {
+
enable = mkEnableOption (lib.mdDoc "Xfconf, the Xfce configuration storage system");
};
};
+1 -1
nixos/modules/programs/xss-lock.nix
···
in
{
options.programs.xss-lock = {
-
enable = mkEnableOption "xss-lock";
lockerCommand = mkOption {
default = "${pkgs.i3lock}/bin/i3lock";
···
in
{
options.programs.xss-lock = {
+
enable = mkEnableOption (lib.mdDoc "xss-lock");
lockerCommand = mkOption {
default = "${pkgs.i3lock}/bin/i3lock";
+1 -1
nixos/modules/programs/xwayland.nix
···
{
options.programs.xwayland = {
-
enable = mkEnableOption "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)";
defaultFontPath = mkOption {
type = types.str;
···
{
options.programs.xwayland = {
+
enable = mkEnableOption (lib.mdDoc "Xwayland (an X server for interfacing X11 apps with the Wayland protocol)");
defaultFontPath = mkOption {
type = types.str;
+1 -1
nixos/modules/programs/yabar.nix
···
in
{
options.programs.yabar = {
-
enable = mkEnableOption "yabar";
package = mkOption {
default = pkgs.yabar-unstable;
···
in
{
options.programs.yabar = {
+
enable = mkEnableOption (lib.mdDoc "yabar");
package = mkOption {
default = pkgs.yabar-unstable;
+1 -1
nixos/modules/programs/zmap.nix
···
cfg = config.programs.zmap;
in {
options.programs.zmap = {
-
enable = mkEnableOption "ZMap";
};
config = mkIf cfg.enable {
···
cfg = config.programs.zmap;
in {
options.programs.zmap = {
+
enable = mkEnableOption (lib.mdDoc "ZMap");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/programs/zsh/zsh-autoenv.nix
···
in {
options = {
programs.zsh.zsh-autoenv = {
-
enable = mkEnableOption "zsh-autoenv";
package = mkOption {
default = pkgs.zsh-autoenv;
defaultText = literalExpression "pkgs.zsh-autoenv";
···
in {
options = {
programs.zsh.zsh-autoenv = {
+
enable = mkEnableOption (lib.mdDoc "zsh-autoenv");
package = mkOption {
default = pkgs.zsh-autoenv;
defaultText = literalExpression "pkgs.zsh-autoenv";
+1 -1
nixos/modules/programs/zsh/zsh-autosuggestions.nix
···
options.programs.zsh.autosuggestions = {
-
enable = mkEnableOption "zsh-autosuggestions";
highlightStyle = mkOption {
type = types.str;
···
options.programs.zsh.autosuggestions = {
+
enable = mkEnableOption (lib.mdDoc "zsh-autosuggestions");
highlightStyle = mkOption {
type = types.str;
+1 -1
nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
···
options = {
programs.zsh.syntaxHighlighting = {
-
enable = mkEnableOption "zsh-syntax-highlighting";
highlighters = mkOption {
default = [ "main" ];
···
options = {
programs.zsh.syntaxHighlighting = {
+
enable = mkEnableOption (lib.mdDoc "zsh-syntax-highlighting");
highlighters = mkOption {
default = [ "main" ];
+1 -1
nixos/modules/security/acme/default.nix
···
'';
};
-
enableDebugLogs = mkEnableOption "debug logging for this certificate" // {
inherit (defaultAndText "enableDebugLogs" true) default defaultText;
};
···
'';
};
+
enableDebugLogs = mkEnableOption (lib.mdDoc "debug logging for this certificate") // {
inherit (defaultAndText "enableDebugLogs" true) default defaultText;
};
+12 -12
nixos/modules/security/apparmor.nix
···
inherit (lib) types;
inherit (config.environment) etc;
cfg = config.security.apparmor;
-
mkDisableOption = name: mkEnableOption name // {
default = true;
example = false;
};
···
options = {
security.apparmor = {
-
enable = mkEnableOption ''
the AppArmor Mandatory Access Control system.
If you're enabling this module on a running system,
···
introducing for the first time an AppArmor profile for the executable
of a running process.
-
Enable <xref linkend="opt-security.apparmor.killUnconfinedConfinables"/>
if you want this service to do such killing
-
by sending a <literal>SIGTERM</literal> to those running processes'';
policies = mkOption {
description = lib.mdDoc ''
AppArmor policies.
···
default = [];
description = lib.mdDoc "List of packages to be added to AppArmor's include path";
};
-
enableCache = mkEnableOption ''
caching of AppArmor policies
-
in <literal>/var/cache/apparmor/</literal>.
Beware that AppArmor policies almost always contain Nix store paths,
and thus produce at each change of these paths
-
a new cached version accumulating in the cache'';
-
killUnconfinedConfinables = mkEnableOption ''
killing of processes which have an AppArmor profile enabled
-
(in <xref linkend="opt-security.apparmor.policies"/>)
but are not confined (because AppArmor can only confine new processes).
-
This is only sending a gracious <literal>SIGTERM</literal> signal to the processes,
-
not a <literal>SIGKILL</literal>.
Beware that due to a current limitation of AppArmor,
-
only profiles with exact paths (and no name) can enable such kills'';
};
};
···
inherit (lib) types;
inherit (config.environment) etc;
cfg = config.security.apparmor;
+
mkDisableOption = name: mkEnableOption (lib.mdDoc name) // {
default = true;
example = false;
};
···
options = {
security.apparmor = {
+
enable = mkEnableOption (lib.mdDoc ''
the AppArmor Mandatory Access Control system.
If you're enabling this module on a running system,
···
introducing for the first time an AppArmor profile for the executable
of a running process.
+
Enable [](#opt-security.apparmor.killUnconfinedConfinables)
if you want this service to do such killing
+
by sending a `SIGTERM` to those running processes'');
policies = mkOption {
description = lib.mdDoc ''
AppArmor policies.
···
default = [];
description = lib.mdDoc "List of packages to be added to AppArmor's include path";
};
+
enableCache = mkEnableOption (lib.mdDoc ''
caching of AppArmor policies
+
in `/var/cache/apparmor/`.
Beware that AppArmor policies almost always contain Nix store paths,
and thus produce at each change of these paths
+
a new cached version accumulating in the cache'');
+
killUnconfinedConfinables = mkEnableOption (lib.mdDoc ''
killing of processes which have an AppArmor profile enabled
+
(in [](#opt-security.apparmor.policies))
but are not confined (because AppArmor can only confine new processes).
+
This is only sending a gracious `SIGTERM` signal to the processes,
+
not a `SIGKILL`.
Beware that due to a current limitation of AppArmor,
+
only profiles with exact paths (and no name) can enable such kills'');
};
};
+1 -1
nixos/modules/security/auditd.nix
···
with lib;
{
-
options.security.auditd.enable = mkEnableOption "the Linux Audit daemon";
config = mkIf config.security.auditd.enable {
boot.kernelParams = [ "audit=1" ];
···
with lib;
{
+
options.security.auditd.enable = mkEnableOption (lib.mdDoc "the Linux Audit daemon");
config = mkIf config.security.auditd.enable {
boot.kernelParams = [ "audit=1" ];
+9 -9
nixos/modules/security/pam.nix
···
default = config.users.mysql.enable;
defaultText = literalExpression "config.users.mysql.enable";
type = types.bool;
-
description = ''
-
If set, the <literal>pam_mysql</literal> module will be used to
authenticate users against a MySQL/MariaDB database.
'';
};
···
}
];
-
description = ''
Define resource limits that should apply to users or groups.
Each item in the list should be an attribute set with a
-
<varname>domain</varname>, <varname>type</varname>,
-
<varname>item</varname>, and <varname>value</varname>
attribute. The syntax and semantics of these attributes
-
must be that described in <citerefentry><refentrytitle>limits.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
Note that these limits do not apply to systemd services,
-
whose limits can be changed via <option>systemd.extraConfig</option>
instead.
'';
};
···
'';
};
-
security.pam.enableOTPW = mkEnableOption "the OTPW (one-time password) PAM module";
security.pam.krb5 = {
enable = mkOption {
···
};
};
-
security.pam.enableEcryptfs = mkEnableOption "eCryptfs PAM module (mounting ecryptfs home directory on login)";
users.motd = mkOption {
default = null;
···
default = config.users.mysql.enable;
defaultText = literalExpression "config.users.mysql.enable";
type = types.bool;
+
description = lib.mdDoc ''
+
If set, the `pam_mysql` module will be used to
authenticate users against a MySQL/MariaDB database.
'';
};
···
}
];
+
description = lib.mdDoc ''
Define resource limits that should apply to users or groups.
Each item in the list should be an attribute set with a
+
{var}`domain`, {var}`type`,
+
{var}`item`, and {var}`value`
attribute. The syntax and semantics of these attributes
+
must be that described in {manpage}`limits.conf(5)`.
Note that these limits do not apply to systemd services,
+
whose limits can be changed via {option}`systemd.extraConfig`
instead.
'';
};
···
'';
};
+
security.pam.enableOTPW = mkEnableOption (lib.mdDoc "the OTPW (one-time password) PAM module");
security.pam.krb5 = {
enable = mkOption {
···
};
};
+
security.pam.enableEcryptfs = mkEnableOption (lib.mdDoc "eCryptfs PAM module (mounting ecryptfs home directory on login)");
users.motd = mkOption {
default = null;
+1 -1
nixos/modules/security/polkit.nix
···
options = {
-
security.polkit.enable = mkEnableOption "polkit";
security.polkit.extraConfig = mkOption {
type = types.lines;
···
options = {
+
security.polkit.enable = mkEnableOption (lib.mdDoc "polkit");
security.polkit.extraConfig = mkOption {
type = types.lines;
+6 -6
nixos/modules/security/tpm2.nix
···
in {
options.security.tpm2 = {
-
enable = lib.mkEnableOption "Trusted Platform Module 2 support";
tssUser = lib.mkOption {
description = lib.mdDoc ''
···
};
abrmd = {
-
enable = lib.mkEnableOption ''
Trusted Platform 2 userspace resource manager daemon
-
'';
package = lib.mkOption {
description = lib.mdDoc "tpm2-abrmd package to use";
···
};
pkcs11 = {
-
enable = lib.mkEnableOption ''
TPM2 PKCS#11 tool and shared library in system path
-
(<literal>/run/current-system/sw/lib/libtpm2_pkcs11.so</literal>)
-
'';
package = lib.mkOption {
description = lib.mdDoc "tpm2-pkcs11 package to use";
···
in {
options.security.tpm2 = {
+
enable = lib.mkEnableOption (lib.mdDoc "Trusted Platform Module 2 support");
tssUser = lib.mkOption {
description = lib.mdDoc ''
···
};
abrmd = {
+
enable = lib.mkEnableOption (lib.mdDoc ''
Trusted Platform 2 userspace resource manager daemon
+
'');
package = lib.mkOption {
description = lib.mdDoc "tpm2-abrmd package to use";
···
};
pkcs11 = {
+
enable = lib.mkEnableOption (lib.mdDoc ''
TPM2 PKCS#11 tool and shared library in system path
+
(`/run/current-system/sw/lib/libtpm2_pkcs11.so`)
+
'');
package = lib.mkOption {
description = lib.mdDoc "tpm2-pkcs11 package to use";
+1 -1
nixos/modules/security/wrappers/default.nix
···
default = "50%";
example = "10G";
type = lib.types.str;
-
description = ''
Size limit for the /run/wrappers tmpfs. Look at mount(8), tmpfs size option,
for the accepted syntax. WARNING: don't set to less than 64MB.
'';
···
default = "50%";
example = "10G";
type = lib.types.str;
+
description = lib.mdDoc ''
Size limit for the /run/wrappers tmpfs. Look at mount(8), tmpfs size option,
for the accepted syntax. WARNING: don't set to less than 64MB.
'';
+1 -1
nixos/modules/services/admin/meshcentral.nix
···
configFile = configFormat.generate "meshcentral-config.json" cfg.settings;
in with lib; {
options.services.meshcentral = with types; {
-
enable = mkEnableOption "MeshCentral computer management server";
package = mkOption {
description = lib.mdDoc "MeshCentral package to use. Replacing this may be necessary to add dependencies for extra functionality.";
type = types.package;
···
configFile = configFormat.generate "meshcentral-config.json" cfg.settings;
in with lib; {
options.services.meshcentral = with types; {
+
enable = mkEnableOption (lib.mdDoc "MeshCentral computer management server");
package = mkOption {
description = lib.mdDoc "MeshCentral package to use. Replacing this may be necessary to add dependencies for extra functionality.";
type = types.package;
+1 -1
nixos/modules/services/admin/oxidized.nix
···
in
{
options.services.oxidized = {
-
enable = mkEnableOption "the oxidized configuration backup service";
user = mkOption {
type = types.str;
···
in
{
options.services.oxidized = {
+
enable = mkEnableOption (lib.mdDoc "the oxidized configuration backup service");
user = mkOption {
type = types.str;
+2 -2
nixos/modules/services/admin/pgadmin.nix
···
in
{
options.services.pgadmin = {
-
enable = mkEnableOption "PostgreSQL Admin 4";
port = mkOption {
description = lib.mdDoc "Port for pgadmin4 to run on";
···
type = types.path;
};
-
openFirewall = mkEnableOption "firewall passthrough for pgadmin4";
settings = mkOption {
description = lib.mdDoc ''
···
in
{
options.services.pgadmin = {
+
enable = mkEnableOption (lib.mdDoc "PostgreSQL Admin 4");
port = mkOption {
description = lib.mdDoc "Port for pgadmin4 to run on";
···
type = types.path;
};
+
openFirewall = mkEnableOption (lib.mdDoc "firewall passthrough for pgadmin4");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/admin/salt/master.nix
···
{
options = {
services.salt.master = {
-
enable = mkEnableOption "Salt master service";
configuration = mkOption {
type = types.attrs;
default = {};
···
{
options = {
services.salt.master = {
+
enable = mkEnableOption (lib.mdDoc "Salt master service");
configuration = mkOption {
type = types.attrs;
default = {};
+1 -1
nixos/modules/services/admin/salt/minion.nix
···
{
options = {
services.salt.minion = {
-
enable = mkEnableOption "Salt minion service";
configuration = mkOption {
type = types.attrs;
default = {};
···
{
options = {
services.salt.minion = {
+
enable = mkEnableOption (lib.mdDoc "Salt minion service");
configuration = mkOption {
type = types.attrs;
default = {};
+1 -1
nixos/modules/services/amqp/rabbitmq.nix
···
};
managementPlugin = {
-
enable = mkEnableOption "the management plugin";
port = mkOption {
default = 15672;
type = types.port;
···
};
managementPlugin = {
+
enable = mkEnableOption (lib.mdDoc "the management plugin");
port = mkOption {
default = 15672;
type = types.port;
+1 -1
nixos/modules/services/audio/botamusique.nix
···
meta.maintainers = with lib.maintainers; [ hexa ];
options.services.botamusique = {
-
enable = mkEnableOption "botamusique, a bot to play audio streams on mumble";
package = mkOption {
type = types.package;
···
meta.maintainers = with lib.maintainers; [ hexa ];
options.services.botamusique = {
+
enable = mkEnableOption (lib.mdDoc "botamusique, a bot to play audio streams on mumble");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/audio/hqplayerd.nix
···
{
options = {
services.hqplayerd = {
-
enable = mkEnableOption "HQPlayer Embedded";
auth = {
username = mkOption {
···
{
options = {
services.hqplayerd = {
+
enable = mkEnableOption (lib.mdDoc "HQPlayer Embedded");
auth = {
username = mkOption {
+1 -1
nixos/modules/services/audio/icecast.nix
···
services.icecast = {
-
enable = mkEnableOption "Icecast server";
hostname = mkOption {
type = types.nullOr types.str;
···
services.icecast = {
+
enable = mkEnableOption (lib.mdDoc "Icecast server");
hostname = mkOption {
type = types.nullOr types.str;
+2 -2
nixos/modules/services/audio/jack.nix
···
options = {
services.jack = {
jackd = {
-
enable = mkEnableOption ''
JACK Audio Connection Kit. You need to add yourself to the "jackaudio" group
-
'';
package = mkOption {
# until jack1 promiscuous mode is fixed
···
options = {
services.jack = {
jackd = {
+
enable = mkEnableOption (lib.mdDoc ''
JACK Audio Connection Kit. You need to add yourself to the "jackaudio" group
+
'');
package = mkOption {
# until jack1 promiscuous mode is fixed
+1 -1
nixos/modules/services/audio/jmusicbot.nix
···
{
options = {
services.jmusicbot = {
-
enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
package = mkOption {
type = types.package;
···
{
options = {
services.jmusicbot = {
+
enable = mkEnableOption (lib.mdDoc "jmusicbot, a Discord music bot that's easy to set up and run yourself");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/audio/mopidy.nix
···
services.mopidy = {
-
enable = mkEnableOption "Mopidy, a music player daemon";
dataDir = mkOption {
default = "/var/lib/mopidy";
···
services.mopidy = {
+
enable = mkEnableOption (lib.mdDoc "Mopidy, a music player daemon");
dataDir = mkOption {
default = "/var/lib/mopidy";
+1 -1
nixos/modules/services/audio/mpdscribble.nix
···
options.services.mpdscribble = {
-
enable = mkEnableOption "mpdscribble";
proxy = mkOption {
default = null;
···
options.services.mpdscribble = {
+
enable = mkEnableOption (lib.mdDoc "mpdscribble");
proxy = mkOption {
default = null;
+1 -1
nixos/modules/services/audio/navidrome.nix
···
options = {
services.navidrome = {
-
enable = mkEnableOption "Navidrome music server";
settings = mkOption rec {
type = settingsFormat.type;
···
options = {
services.navidrome = {
+
enable = mkEnableOption (lib.mdDoc "Navidrome music server");
settings = mkOption rec {
type = settingsFormat.type;
+1 -1
nixos/modules/services/audio/networkaudiod.nix
···
in {
options = {
services.networkaudiod = {
-
enable = mkEnableOption "Networkaudiod (NAA)";
};
};
···
in {
options = {
services.networkaudiod = {
+
enable = mkEnableOption (lib.mdDoc "Networkaudiod (NAA)");
};
};
+1 -1
nixos/modules/services/audio/roon-bridge.nix
···
in {
options = {
services.roon-bridge = {
-
enable = mkEnableOption "Roon Bridge";
openFirewall = mkOption {
type = types.bool;
default = false;
···
in {
options = {
services.roon-bridge = {
+
enable = mkEnableOption (lib.mdDoc "Roon Bridge");
openFirewall = mkOption {
type = types.bool;
default = false;
+1 -1
nixos/modules/services/audio/roon-server.nix
···
in {
options = {
services.roon-server = {
-
enable = mkEnableOption "Roon Server";
openFirewall = mkOption {
type = types.bool;
default = false;
···
in {
options = {
services.roon-server = {
+
enable = mkEnableOption (lib.mdDoc "Roon Server");
openFirewall = mkOption {
type = types.bool;
default = false;
+1 -1
nixos/modules/services/audio/spotifyd.nix
···
{
options = {
services.spotifyd = {
-
enable = mkEnableOption "spotifyd, a Spotify playing daemon";
config = mkOption {
default = "";
···
{
options = {
services.spotifyd = {
+
enable = mkEnableOption (lib.mdDoc "spotifyd, a Spotify playing daemon");
config = mkOption {
default = "";
+2 -2
nixos/modules/services/audio/squeezelite.nix
···
###### interface
options.services.squeezelite = {
-
enable = mkEnableOption "Squeezelite, a software Squeezebox emulator";
-
pulseAudio = mkEnableOption "pulseaudio support";
extraArguments = mkOption {
default = "";
···
###### interface
options.services.squeezelite = {
+
enable = mkEnableOption (lib.mdDoc "Squeezelite, a software Squeezebox emulator");
+
pulseAudio = mkEnableOption (lib.mdDoc "pulseaudio support");
extraArguments = mkOption {
default = "";
+1 -1
nixos/modules/services/audio/ympd.nix
···
services.ympd = {
-
enable = mkEnableOption "ympd, the MPD Web GUI";
webPort = mkOption {
type = types.either types.str types.port; # string for backwards compat
···
services.ympd = {
+
enable = mkEnableOption (lib.mdDoc "ympd, the MPD Web GUI");
webPort = mkOption {
type = types.either types.str types.port; # string for backwards compat
+1 -1
nixos/modules/services/backup/automysqlbackup.nix
···
options = {
services.automysqlbackup = {
-
enable = mkEnableOption "AutoMySQLBackup";
calendar = mkOption {
type = types.str;
···
options = {
services.automysqlbackup = {
+
enable = mkEnableOption (lib.mdDoc "AutoMySQLBackup");
calendar = mkOption {
type = types.str;
+1 -1
nixos/modules/services/backup/borgmatic.nix
···
cfgfile = settingsFormat.generate "config.yaml" cfg.settings;
in {
options.services.borgmatic = {
-
enable = mkEnableOption "borgmatic";
settings = mkOption {
description = lib.mdDoc ''
···
cfgfile = settingsFormat.generate "config.yaml" cfg.settings;
in {
options.services.borgmatic = {
+
enable = mkEnableOption (lib.mdDoc "borgmatic");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/backup/duplicati.nix
···
{
options = {
services.duplicati = {
-
enable = mkEnableOption "Duplicati";
port = mkOption {
default = 8200;
···
{
options = {
services.duplicati = {
+
enable = mkEnableOption (lib.mdDoc "Duplicati");
port = mkOption {
default = 8200;
+1 -1
nixos/modules/services/backup/duplicity.nix
···
in
{
options.services.duplicity = {
-
enable = mkEnableOption "backups with duplicity";
root = mkOption {
type = types.path;
···
in
{
options.services.duplicity = {
+
enable = mkEnableOption (lib.mdDoc "backups with duplicity");
root = mkOption {
type = types.path;
+1 -1
nixos/modules/services/backup/mysql-backup.nix
···
services.mysqlBackup = {
-
enable = mkEnableOption "MySQL backups";
calendar = mkOption {
type = types.str;
···
services.mysqlBackup = {
+
enable = mkEnableOption (lib.mdDoc "MySQL backups");
calendar = mkOption {
type = types.str;
+1 -1
nixos/modules/services/backup/postgresql-backup.nix
···
options = {
services.postgresqlBackup = {
-
enable = mkEnableOption "PostgreSQL dumps";
startAt = mkOption {
default = "*-*-* 01:15:00";
···
options = {
services.postgresqlBackup = {
+
enable = mkEnableOption (lib.mdDoc "PostgreSQL dumps");
startAt = mkOption {
default = "*-*-* 01:15:00";
+1 -1
nixos/modules/services/backup/restic-rest-server.nix
···
meta.maintainers = [ maintainers.bachp ];
options.services.restic.server = {
-
enable = mkEnableOption "Restic REST Server";
listenAddress = mkOption {
default = ":8000";
···
meta.maintainers = [ maintainers.bachp ];
options.services.restic.server = {
+
enable = mkEnableOption (lib.mdDoc "Restic REST Server");
listenAddress = mkOption {
default = ":8000";
+1 -1
nixos/modules/services/backup/rsnapshot.nix
···
{
options = {
services.rsnapshot = {
-
enable = mkEnableOption "rsnapshot backups";
enableManualRsnapshot = mkOption {
description = lib.mdDoc "Whether to enable manual usage of the rsnapshot command with this module.";
default = true;
···
{
options = {
services.rsnapshot = {
+
enable = mkEnableOption (lib.mdDoc "rsnapshot backups");
enableManualRsnapshot = mkOption {
description = lib.mdDoc "Whether to enable manual usage of the rsnapshot command with this module.";
default = true;
+1 -1
nixos/modules/services/backup/sanoid.nix
···
# Interface
options.services.sanoid = {
-
enable = mkEnableOption "Sanoid ZFS snapshotting service";
interval = mkOption {
type = types.str;
···
# Interface
options.services.sanoid = {
+
enable = mkEnableOption (lib.mdDoc "Sanoid ZFS snapshotting service");
interval = mkOption {
type = types.str;
+2 -2
nixos/modules/services/backup/syncoid.nix
···
# Interface
options.services.syncoid = {
-
enable = mkEnableOption "Syncoid ZFS synchronization service";
interval = mkOption {
type = types.str;
···
'';
};
-
recursive = mkEnableOption ''the transfer of child datasets'';
sshKey = mkOption {
type = types.nullOr types.path;
···
# Interface
options.services.syncoid = {
+
enable = mkEnableOption (lib.mdDoc "Syncoid ZFS synchronization service");
interval = mkOption {
type = types.str;
···
'';
};
+
recursive = mkEnableOption (lib.mdDoc ''the transfer of child datasets'');
sshKey = mkOption {
type = types.nullOr types.path;
+1 -1
nixos/modules/services/backup/tarsnap.nix
···
options = {
services.tarsnap = {
-
enable = mkEnableOption "periodic tarsnap backups";
keyfile = mkOption {
type = types.str;
···
options = {
services.tarsnap = {
+
enable = mkEnableOption (lib.mdDoc "periodic tarsnap backups");
keyfile = mkOption {
type = types.str;
+3 -3
nixos/modules/services/backup/tsm.nix
···
inherit (lib.types) nonEmptyStr nullOr;
options.services.tsmBackup = {
-
enable = mkEnableOption ''
automatic backups with the
IBM Spectrum Protect (Tivoli Storage Manager, TSM) client.
This also enables
-
<option>programs.tsmClient.enable</option>
-
'';
command = mkOption {
type = nonEmptyStr;
default = "backup";
···
inherit (lib.types) nonEmptyStr nullOr;
options.services.tsmBackup = {
+
enable = mkEnableOption (lib.mdDoc ''
automatic backups with the
IBM Spectrum Protect (Tivoli Storage Manager, TSM) client.
This also enables
+
{option}`programs.tsmClient.enable`
+
'');
command = mkOption {
type = nonEmptyStr;
default = "backup";
+1 -1
nixos/modules/services/backup/zfs-replication.nix
···
in {
options = {
services.zfs.autoReplication = {
-
enable = mkEnableOption "ZFS snapshot replication.";
followDelete = mkOption {
description = lib.mdDoc "Remove remote snapshots that don't have a local correspondant.";
···
in {
options = {
services.zfs.autoReplication = {
+
enable = mkEnableOption (lib.mdDoc "ZFS snapshot replication.");
followDelete = mkOption {
description = lib.mdDoc "Remove remote snapshots that don't have a local correspondant.";
+30 -30
nixos/modules/services/backup/znapzend.nix
···
{
options = {
services.znapzend = {
-
enable = mkEnableOption "ZnapZend ZFS backup daemon";
logLevel = mkOption {
default = "debug";
···
type = str;
default = "syslog::daemon";
example = "/var/log/znapzend.log";
-
description = ''
-
Where to log to (syslog::&lt;facility&gt; or &lt;filepath&gt;).
'';
};
···
default = false;
};
-
features.oracleMode = mkEnableOption ''
Destroy snapshots one by one instead of using one long argument list.
If source and destination are out of sync for a long time, you may have
so many snapshots to destroy that the argument gets is too long and the
command fails.
-
'';
-
features.recvu = mkEnableOption ''
-
recvu feature which uses <literal>-u</literal> on the receiving end to keep the destination
filesystem unmounted.
-
'';
-
features.compressed = mkEnableOption ''
-
compressed feature which adds the options <literal>-Lce</literal> to
-
the <command>zfs send</command> command. When this is enabled, make
sure that both the sending and receiving pool have the same relevant
-
features enabled. Using <literal>-c</literal> will skip unneccessary
-
decompress-compress stages, <literal>-L</literal> is for large block
support and -e is for embedded data support. see
-
<citerefentry><refentrytitle>znapzend</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-
and <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for more info.
-
'';
-
features.sendRaw = mkEnableOption ''
-
sendRaw feature which adds the options <literal>-w</literal> to the
-
<command>zfs send</command> command. For encrypted source datasets this
instructs zfs not to decrypt before sending which results in a remote
backup that can't be read without the encryption key/passphrase, useful
when the remote isn't fully trusted or not physically secure. This
option must be used consistently, raw incrementals cannot be based on
non-raw snapshots and vice versa.
-
'';
-
features.skipIntermediates = mkEnableOption ''
Enable the skipIntermediates feature to send a single increment
between latest common snapshot and the newly made one. It may skip
several source snaps if the destination was offline for some time, and
it should skip snapshots not managed by znapzend. Normally for online
destinations, the new snapshot is sent as soon as it is created on the
source, so there are no automatic increments to skip.
-
'';
-
features.lowmemRecurse = mkEnableOption ''
use lowmemRecurse on systems where you have too many datasets, so a
recursive listing of attributes to find backup plans exhausts the
-
memory available to <command>znapzend</command>: instead, go the slower
way to first list all impacted dataset names, and then query their
configs one by one.
-
'';
-
features.zfsGetType = mkEnableOption ''
-
use zfsGetType if your <command>zfs get</command> supports a
-
<literal>-t</literal> argument for filtering by dataset type at all AND
lists properties for snapshots by default when recursing, so that there
is too much data to process while searching for backup plans.
If these two conditions apply to your system, the time needed for a
-
<literal>--recursive</literal> search for backup plans can literally
differ by hundreds of times (depending on the amount of snapshots in
that dataset tree... and a decent backup plan will ensure you have a lot
of those), so you would benefit from requesting this feature.
-
'';
};
};
···
{
options = {
services.znapzend = {
+
enable = mkEnableOption (lib.mdDoc "ZnapZend ZFS backup daemon");
logLevel = mkOption {
default = "debug";
···
type = str;
default = "syslog::daemon";
example = "/var/log/znapzend.log";
+
description = lib.mdDoc ''
+
Where to log to (syslog::\<facility\> or \<filepath\>).
'';
};
···
default = false;
};
+
features.oracleMode = mkEnableOption (lib.mdDoc ''
Destroy snapshots one by one instead of using one long argument list.
If source and destination are out of sync for a long time, you may have
so many snapshots to destroy that the argument gets is too long and the
command fails.
+
'');
+
features.recvu = mkEnableOption (lib.mdDoc ''
+
recvu feature which uses `-u` on the receiving end to keep the destination
filesystem unmounted.
+
'');
+
features.compressed = mkEnableOption (lib.mdDoc ''
+
compressed feature which adds the options `-Lce` to
+
the {command}`zfs send` command. When this is enabled, make
sure that both the sending and receiving pool have the same relevant
+
features enabled. Using `-c` will skip unneccessary
+
decompress-compress stages, `-L` is for large block
support and -e is for embedded data support. see
+
{manpage}`znapzend(1)`
+
and {manpage}`zfs(8)`
for more info.
+
'');
+
features.sendRaw = mkEnableOption (lib.mdDoc ''
+
sendRaw feature which adds the options `-w` to the
+
{command}`zfs send` command. For encrypted source datasets this
instructs zfs not to decrypt before sending which results in a remote
backup that can't be read without the encryption key/passphrase, useful
when the remote isn't fully trusted or not physically secure. This
option must be used consistently, raw incrementals cannot be based on
non-raw snapshots and vice versa.
+
'');
+
features.skipIntermediates = mkEnableOption (lib.mdDoc ''
Enable the skipIntermediates feature to send a single increment
between latest common snapshot and the newly made one. It may skip
several source snaps if the destination was offline for some time, and
it should skip snapshots not managed by znapzend. Normally for online
destinations, the new snapshot is sent as soon as it is created on the
source, so there are no automatic increments to skip.
+
'');
+
features.lowmemRecurse = mkEnableOption (lib.mdDoc ''
use lowmemRecurse on systems where you have too many datasets, so a
recursive listing of attributes to find backup plans exhausts the
+
memory available to {command}`znapzend`: instead, go the slower
way to first list all impacted dataset names, and then query their
configs one by one.
+
'');
+
features.zfsGetType = mkEnableOption (lib.mdDoc ''
+
use zfsGetType if your {command}`zfs get` supports a
+
`-t` argument for filtering by dataset type at all AND
lists properties for snapshots by default when recursing, so that there
is too much data to process while searching for backup plans.
If these two conditions apply to your system, the time needed for a
+
`--recursive` search for backup plans can literally
differ by hundreds of times (depending on the amount of snapshots in
that dataset tree... and a decent backup plan will ensure you have a lot
of those), so you would benefit from requesting this feature.
+
'');
};
};
+1 -1
nixos/modules/services/backup/zrepl.nix
···
options = {
services.zrepl = {
-
enable = mkEnableOption "zrepl";
package = mkOption {
type = types.package;
···
options = {
services.zrepl = {
+
enable = mkEnableOption (lib.mdDoc "zrepl");
package = mkOption {
type = types.package;
+5 -5
nixos/modules/services/blockchain/ethereum/geth.nix
···
options = {
-
enable = lib.mkEnableOption "Go Ethereum Node";
port = mkOption {
type = types.port;
···
};
http = {
-
enable = lib.mkEnableOption "Go Ethereum HTTP API";
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
websocket = {
-
enable = lib.mkEnableOption "Go Ethereum WebSocket API";
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
authrpc = {
-
enable = lib.mkEnableOption "Go Ethereum Auth RPC API";
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
metrics = {
-
enable = lib.mkEnableOption "Go Ethereum prometheus metrics";
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
options = {
+
enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum Node");
port = mkOption {
type = types.port;
···
};
http = {
+
enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum HTTP API");
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
websocket = {
+
enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum WebSocket API");
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
authrpc = {
+
enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum Auth RPC API");
address = mkOption {
type = types.str;
default = "127.0.0.1";
···
};
metrics = {
+
enable = lib.mkEnableOption (lib.mdDoc "Go Ethereum prometheus metrics");
address = mkOption {
type = types.str;
default = "127.0.0.1";
+1 -1
nixos/modules/services/cluster/corosync/default.nix
···
{
# interface
options.services.corosync = {
-
enable = mkEnableOption "corosync";
package = mkOption {
type = types.package;
···
{
# interface
options.services.corosync = {
+
enable = mkEnableOption (lib.mdDoc "corosync");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/cluster/hadoop/default.nix
···
description = lib.mdDoc "Directories containing additional config files to be added to HADOOP_CONF_DIR";
};
-
gatewayRole.enable = mkEnableOption "gateway role for deploying hadoop configs";
package = mkOption {
type = types.package;
···
description = lib.mdDoc "Directories containing additional config files to be added to HADOOP_CONF_DIR";
};
+
gatewayRole.enable = mkEnableOption (lib.mdDoc "gateway role for deploying hadoop configs");
package = mkOption {
type = types.package;
+4 -4
nixos/modules/services/cluster/hadoop/hbase.nix
···
{
options.services.hadoop = {
-
gatewayRole.enableHbaseCli = mkEnableOption "HBase CLI tools";
hbaseSiteDefault = mkOption {
default = {
···
default = null;
};
master = {
-
enable = mkEnableOption "HBase Master";
-
initHDFS = mkEnableOption "initialization of the hbase directory on HDFS";
openFirewall = mkOption {
type = types.bool;
···
};
};
regionServer = {
-
enable = mkEnableOption "HBase RegionServer";
overrideHosts = mkOption {
type = types.bool;
···
{
options.services.hadoop = {
+
gatewayRole.enableHbaseCli = mkEnableOption (lib.mdDoc "HBase CLI tools");
hbaseSiteDefault = mkOption {
default = {
···
default = null;
};
master = {
+
enable = mkEnableOption (lib.mdDoc "HBase Master");
+
initHDFS = mkEnableOption (lib.mdDoc "initialization of the hbase directory on HDFS");
openFirewall = mkOption {
type = types.bool;
···
};
};
regionServer = {
+
enable = mkEnableOption (lib.mdDoc "HBase RegionServer");
overrideHosts = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/cluster/hadoop/hdfs.nix
···
# Generator for HDFS service options
hadoopServiceOption = { serviceName, firewallOption ? true, extraOpts ? null }: {
-
enable = mkEnableOption serviceName;
restartIfChanged = mkOption {
type = types.bool;
description = lib.mdDoc ''
···
# Generator for HDFS service options
hadoopServiceOption = { serviceName, firewallOption ? true, extraOpts ? null }: {
+
enable = mkEnableOption (lib.mdDoc serviceName);
restartIfChanged = mkOption {
type = types.bool;
description = lib.mdDoc ''
+2 -2
nixos/modules/services/cluster/hadoop/yarn.nix
···
{
options.services.hadoop.yarn = {
resourcemanager = {
-
enable = mkEnableOption "Hadoop YARN ResourceManager";
inherit restartIfChanged extraFlags extraEnv;
openFirewall = mkOption {
···
};
};
nodemanager = {
-
enable = mkEnableOption "Hadoop YARN NodeManager";
inherit restartIfChanged extraFlags extraEnv;
resource = {
···
{
options.services.hadoop.yarn = {
resourcemanager = {
+
enable = mkEnableOption (lib.mdDoc "Hadoop YARN ResourceManager");
inherit restartIfChanged extraFlags extraEnv;
openFirewall = mkOption {
···
};
};
nodemanager = {
+
enable = mkEnableOption (lib.mdDoc "Hadoop YARN NodeManager");
inherit restartIfChanged extraFlags extraEnv;
resource = {
+1 -1
nixos/modules/services/cluster/k3s/default.nix
···
# interface
options.services.k3s = {
-
enable = mkEnableOption "k3s";
package = mkOption {
type = types.package;
···
# interface
options.services.k3s = {
+
enable = mkEnableOption (lib.mdDoc "k3s");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/cluster/kubernetes/addon-manager.nix
···
'';
};
-
enable = mkEnableOption "Kubernetes addon manager.";
};
###### implementation
···
'';
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes addon manager.");
};
###### implementation
+1 -1
nixos/modules/services/cluster/kubernetes/addons/dns.nix
···
};
in {
options.services.kubernetes.addons.dns = {
-
enable = mkEnableOption "kubernetes dns addon";
clusterIp = mkOption {
description = lib.mdDoc "Dns addon clusterIP";
···
};
in {
options.services.kubernetes.addons.dns = {
+
enable = mkEnableOption (lib.mdDoc "kubernetes dns addon");
clusterIp = mkOption {
description = lib.mdDoc "Dns addon clusterIP";
+1 -1
nixos/modules/services/cluster/kubernetes/apiserver.nix
···
type = listOf str;
};
-
enable = mkEnableOption "Kubernetes apiserver";
enableAdmissionPlugins = mkOption {
description = lib.mdDoc ''
···
type = listOf str;
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes apiserver");
enableAdmissionPlugins = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/cluster/kubernetes/controller-manager.nix
···
type = str;
};
-
enable = mkEnableOption "Kubernetes controller manager";
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes controller manager extra command line options.";
···
type = str;
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes controller manager");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes controller manager extra command line options.";
+1 -1
nixos/modules/services/cluster/kubernetes/flannel.nix
···
{
###### interface
options.services.kubernetes.flannel = {
-
enable = mkEnableOption "enable flannel networking";
};
###### implementation
···
{
###### interface
options.services.kubernetes.flannel = {
+
enable = mkEnableOption (lib.mdDoc "enable flannel networking");
};
###### implementation
+1 -1
nixos/modules/services/cluster/kubernetes/kubelet.nix
···
default = "unix:///run/containerd/containerd.sock";
};
-
enable = mkEnableOption "Kubernetes kubelet.";
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes kubelet extra command line options.";
···
default = "unix:///run/containerd/containerd.sock";
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes kubelet.");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes kubelet extra command line options.";
+3 -3
nixos/modules/services/cluster/kubernetes/pki.nix
···
###### interface
options.services.kubernetes.pki = with lib.types; {
-
enable = mkEnableOption "easyCert issuer service";
certs = mkOption {
description = lib.mdDoc "List of certificate specs to feed to cert generator.";
···
};
etcClusterAdminKubeconfig = mkOption {
-
description = ''
Symlink a kubeconfig with cluster-admin privileges to environment path
-
(/etc/&lt;path&gt;).
'';
default = null;
type = nullOr str;
···
###### interface
options.services.kubernetes.pki = with lib.types; {
+
enable = mkEnableOption (lib.mdDoc "easyCert issuer service");
certs = mkOption {
description = lib.mdDoc "List of certificate specs to feed to cert generator.";
···
};
etcClusterAdminKubeconfig = mkOption {
+
description = lib.mdDoc ''
Symlink a kubeconfig with cluster-admin privileges to environment path
+
(/etc/\<path\>).
'';
default = null;
type = nullOr str;
+1 -1
nixos/modules/services/cluster/kubernetes/proxy.nix
···
type = str;
};
-
enable = mkEnableOption "Kubernetes proxy";
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes proxy extra command line options.";
···
type = str;
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes proxy");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes proxy extra command line options.";
+1 -1
nixos/modules/services/cluster/kubernetes/scheduler.nix
···
type = str;
};
-
enable = mkEnableOption "Kubernetes scheduler";
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes scheduler extra command line options.";
···
type = str;
};
+
enable = mkEnableOption (lib.mdDoc "Kubernetes scheduler");
extraOpts = mkOption {
description = lib.mdDoc "Kubernetes scheduler extra command line options.";
+1 -1
nixos/modules/services/cluster/pacemaker/default.nix
···
{
# interface
options.services.pacemaker = {
-
enable = mkEnableOption "pacemaker";
package = mkOption {
type = types.package;
···
{
# interface
options.services.pacemaker = {
+
enable = mkEnableOption (lib.mdDoc "pacemaker");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/cluster/patroni/default.nix
···
{
options.services.patroni = {
-
enable = mkEnableOption "Patroni";
postgresqlPackage = mkOption {
type = types.package;
···
{
options.services.patroni = {
+
enable = mkEnableOption (lib.mdDoc "Patroni");
postgresqlPackage = mkOption {
type = types.package;
+2 -2
nixos/modules/services/cluster/spark/default.nix
···
options = {
services.spark = {
master = {
-
enable = mkEnableOption "Spark master service";
bind = mkOption {
type = types.str;
description = lib.mdDoc "Address the spark master binds to.";
···
};
};
worker = {
-
enable = mkEnableOption "Spark worker service";
workDir = mkOption {
type = types.path;
description = lib.mdDoc "Spark worker work dir.";
···
options = {
services.spark = {
master = {
+
enable = mkEnableOption (lib.mdDoc "Spark master service");
bind = mkOption {
type = types.str;
description = lib.mdDoc "Address the spark master binds to.";
···
};
};
worker = {
+
enable = mkEnableOption (lib.mdDoc "Spark worker service");
workDir = mkOption {
type = types.path;
description = lib.mdDoc "Spark worker work dir.";
+3 -3
nixos/modules/services/computing/boinc/client.nix
···
allowRemoteGuiRpc = mkOption {
type = types.bool;
default = false;
-
description = ''
If set to true, any remote host can connect to and control this BOINC
client (subject to password authentication). If instead set to false,
-
only the hosts listed in <varname>dataDir</varname>/remote_hosts.cfg will be allowed to
connect.
-
See also: <link xlink:href="http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely#Remote_access"/>
'';
};
···
allowRemoteGuiRpc = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
If set to true, any remote host can connect to and control this BOINC
client (subject to password authentication). If instead set to false,
+
only the hosts listed in {var}`dataDir`/remote_hosts.cfg will be allowed to
connect.
+
See also: <http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely#Remote_access>
'';
};
+1 -1
nixos/modules/services/computing/foldingathome/client.nix
···
'')
];
options.services.foldingathome = {
-
enable = mkEnableOption "Enable the Folding@home client";
package = mkOption {
type = types.package;
···
'')
];
options.services.foldingathome = {
+
enable = mkEnableOption (lib.mdDoc "Enable the Folding@home client");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/computing/slurm/slurm.nix
···
};
dbdserver = {
-
enable = mkEnableOption "SlurmDBD service";
dbdHost = mkOption {
type = types.str;
···
};
client = {
-
enable = mkEnableOption "slurm client daemon";
};
enableStools = mkOption {
···
};
dbdserver = {
+
enable = mkEnableOption (lib.mdDoc "SlurmDBD service");
dbdHost = mkOption {
type = types.str;
···
};
client = {
+
enable = mkEnableOption (lib.mdDoc "slurm client daemon");
};
enableStools = mkOption {
+1 -1
nixos/modules/services/computing/torque/mom.nix
···
options = {
services.torque.mom = {
-
enable = mkEnableOption "torque computing node";
serverNode = mkOption {
type = types.str;
···
options = {
services.torque.mom = {
+
enable = mkEnableOption (lib.mdDoc "torque computing node");
serverNode = mkOption {
type = types.str;
+1 -1
nixos/modules/services/computing/torque/server.nix
···
services.torque.server = {
-
enable = mkEnableOption "torque server";
};
···
services.torque.server = {
+
enable = mkEnableOption (lib.mdDoc "torque server");
};
+1 -1
nixos/modules/services/continuous-integration/gitlab-runner.nix
···
in
{
options.services.gitlab-runner = {
-
enable = mkEnableOption "Gitlab Runner";
configFile = mkOption {
type = types.nullOr types.path;
default = null;
···
in
{
options.services.gitlab-runner = {
+
enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
configFile = mkOption {
type = types.nullOr types.path;
default = null;
+1 -1
nixos/modules/services/continuous-integration/gocd-agent/default.nix
···
in {
options = {
services.gocd-agent = {
-
enable = mkEnableOption "gocd-agent";
user = mkOption {
default = "gocd-agent";
···
in {
options = {
services.gocd-agent = {
+
enable = mkEnableOption (lib.mdDoc "gocd-agent");
user = mkOption {
default = "gocd-agent";
+1 -1
nixos/modules/services/continuous-integration/gocd-server/default.nix
···
in {
options = {
services.gocd-server = {
-
enable = mkEnableOption "gocd-server";
user = mkOption {
default = "gocd-server";
···
in {
options = {
services.gocd-server = {
+
enable = mkEnableOption (lib.mdDoc "gocd-server");
user = mkOption {
default = "gocd-server";
+1 -1
nixos/modules/services/databases/aerospike.nix
···
options = {
services.aerospike = {
-
enable = mkEnableOption "Aerospike server";
package = mkOption {
default = pkgs.aerospike;
···
options = {
services.aerospike = {
+
enable = mkEnableOption (lib.mdDoc "Aerospike server");
package = mkOption {
default = pkgs.aerospike;
+2 -2
nixos/modules/services/databases/cassandra.nix
···
{
options.services.cassandra = {
-
enable = mkEnableOption ''
Apache Cassandra – Scalable and highly available database.
-
'';
clusterName = mkOption {
type = types.str;
···
{
options.services.cassandra = {
+
enable = mkEnableOption (lib.mdDoc ''
Apache Cassandra – Scalable and highly available database.
+
'');
clusterName = mkOption {
type = types.str;
+1 -1
nixos/modules/services/databases/clickhouse.nix
···
services.clickhouse = {
-
enable = mkEnableOption "ClickHouse database server";
package = mkOption {
type = types.package;
···
services.clickhouse = {
+
enable = mkEnableOption (lib.mdDoc "ClickHouse database server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/databases/cockroachdb.nix
···
{
options = {
services.cockroachdb = {
-
enable = mkEnableOption "CockroachDB Server";
listen = addressOption "intra-cluster communication" 26257;
···
{
options = {
services.cockroachdb = {
+
enable = mkEnableOption (lib.mdDoc "CockroachDB Server");
listen = addressOption "intra-cluster communication" 26257;
+1 -1
nixos/modules/services/databases/dgraph.nix
···
{
options = {
services.dgraph = {
-
enable = mkEnableOption "Dgraph native GraphQL database with a graph backend";
package = lib.mkPackageOption pkgs "dgraph" { };
···
{
options = {
services.dgraph = {
+
enable = mkEnableOption (lib.mdDoc "Dgraph native GraphQL database with a graph backend");
package = lib.mkPackageOption pkgs "dgraph" { };
+1 -1
nixos/modules/services/databases/dragonflydb.nix
···
options = {
services.dragonflydb = {
-
enable = mkEnableOption "DragonflyDB";
user = mkOption {
type = types.str;
···
options = {
services.dragonflydb = {
+
enable = mkEnableOption (lib.mdDoc "DragonflyDB");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/databases/firebird.nix
···
services.firebird = {
-
enable = mkEnableOption "the Firebird super server";
package = mkOption {
default = pkgs.firebird;
···
services.firebird = {
+
enable = mkEnableOption (lib.mdDoc "the Firebird super server");
package = mkOption {
default = pkgs.firebird;
+1 -1
nixos/modules/services/databases/foundationdb.nix
···
{
options.services.foundationdb = {
-
enable = mkEnableOption "FoundationDB Server";
package = mkOption {
type = types.package;
···
{
options.services.foundationdb = {
+
enable = mkEnableOption (lib.mdDoc "FoundationDB Server");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/databases/hbase-standalone.nix
···
options = {
services.hbase-standalone = {
-
enable = mkEnableOption ''
HBase master in standalone mode with embedded regionserver and zookeper.
Do not use this configuration for production nor for evaluating HBase performance.
-
'';
package = mkOption {
type = types.package;
···
options = {
services.hbase-standalone = {
+
enable = mkEnableOption (lib.mdDoc ''
HBase master in standalone mode with embedded regionserver and zookeper.
Do not use this configuration for production nor for evaluating HBase performance.
+
'');
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/databases/influxdb2.nix
···
{
options = {
services.influxdb2 = {
-
enable = mkEnableOption "the influxdb2 server";
package = mkOption {
default = pkgs.influxdb2-server;
···
{
options = {
services.influxdb2 = {
+
enable = mkEnableOption (lib.mdDoc "the influxdb2 server");
package = mkOption {
default = pkgs.influxdb2-server;
+2 -2
nixos/modules/services/databases/memcached.nix
···
options = {
services.memcached = {
-
enable = mkEnableOption "Memcached";
user = mkOption {
type = types.str;
···
description = lib.mdDoc "The port to bind to.";
};
-
enableUnixSocket = mkEnableOption "unix socket at /run/memcached/memcached.sock";
maxMemory = mkOption {
type = types.ints.unsigned;
···
options = {
services.memcached = {
+
enable = mkEnableOption (lib.mdDoc "Memcached");
user = mkOption {
type = types.str;
···
description = lib.mdDoc "The port to bind to.";
};
+
enableUnixSocket = mkEnableOption (lib.mdDoc "unix socket at /run/memcached/memcached.sock");
maxMemory = mkOption {
type = types.ints.unsigned;
+1 -1
nixos/modules/services/databases/monetdb.nix
···
options = {
services.monetdb = {
-
enable = mkEnableOption "the MonetDB database server";
package = mkOption {
type = types.package;
···
options = {
services.monetdb = {
+
enable = mkEnableOption (lib.mdDoc "the MonetDB database server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/databases/mongodb.nix
···
services.mongodb = {
-
enable = mkEnableOption "the MongoDB server";
package = mkOption {
default = pkgs.mongodb;
···
services.mongodb = {
+
enable = mkEnableOption (lib.mdDoc "the MongoDB server");
package = mkOption {
default = pkgs.mongodb;
+1 -1
nixos/modules/services/databases/mysql.nix
···
services.mysql = {
-
enable = mkEnableOption "MySQL server";
package = mkOption {
type = types.package;
···
services.mysql = {
+
enable = mkEnableOption (lib.mdDoc "MySQL server");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/databases/neo4j.nix
···
enable = mkOption {
type = types.bool;
default = true;
-
description = ''
Enable the HTTP connector for Neo4j. Setting this option to
-
<literal>false</literal> will stop Neo4j from listening for incoming
connections on the HTTPS port (7474 by default).
'';
};
···
enable = mkOption {
type = types.bool;
default = true;
+
description = lib.mdDoc ''
Enable the HTTP connector for Neo4j. Setting this option to
+
`false` will stop Neo4j from listening for incoming
connections on the HTTPS port (7474 by default).
'';
};
+1 -1
nixos/modules/services/databases/pgmanage.nix
···
in {
options.services.pgmanage = {
-
enable = mkEnableOption "PostgreSQL Administration for the web";
package = mkOption {
type = types.package;
···
in {
options.services.pgmanage = {
+
enable = mkEnableOption (lib.mdDoc "PostgreSQL Administration for the web");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/databases/postgresql.nix
···
services.postgresql = {
-
enable = mkEnableOption "PostgreSQL Server";
package = mkOption {
type = types.package;
···
services.postgresql = {
+
enable = mkEnableOption (lib.mdDoc "PostgreSQL Server");
package = mkOption {
type = types.package;
+4 -4
nixos/modules/services/databases/redis.nix
···
description = lib.mdDoc "Which Redis derivation to use.";
};
-
vmOverCommit = mkEnableOption ''
setting of vm.overcommit_memory to 1
(Suggested for Background Saving: http://redis.io/topics/faq)
-
'';
servers = mkOption {
type = with types; attrsOf (submodule ({config, name, ...}@args: {
options = {
-
enable = mkEnableOption ''
Redis server.
Note that the NixOS module for Redis disables kernel support
for Transparent Huge Pages (THP),
because this features causes major performance problems for Redis,
e.g. (https://redis.io/topics/latency).
-
'';
user = mkOption {
type = types.str;
···
description = lib.mdDoc "Which Redis derivation to use.";
};
+
vmOverCommit = mkEnableOption (lib.mdDoc ''
setting of vm.overcommit_memory to 1
(Suggested for Background Saving: http://redis.io/topics/faq)
+
'');
servers = mkOption {
type = with types; attrsOf (submodule ({config, name, ...}@args: {
options = {
+
enable = mkEnableOption (lib.mdDoc ''
Redis server.
Note that the NixOS module for Redis disables kernel support
for Transparent Huge Pages (THP),
because this features causes major performance problems for Redis,
e.g. (https://redis.io/topics/latency).
+
'');
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/databases/rethinkdb.nix
···
services.rethinkdb = {
-
enable = mkEnableOption "RethinkDB server";
#package = mkOption {
# default = pkgs.rethinkdb;
···
services.rethinkdb = {
+
enable = mkEnableOption (lib.mdDoc "RethinkDB server");
#package = mkOption {
# default = pkgs.rethinkdb;
+1 -1
nixos/modules/services/databases/victoriametrics.nix
···
let cfg = config.services.victoriametrics; in
{
options.services.victoriametrics = with lib; {
-
enable = mkEnableOption "victoriametrics";
package = mkOption {
type = types.package;
default = pkgs.victoriametrics;
···
let cfg = config.services.victoriametrics; in
{
options.services.victoriametrics = with lib; {
+
enable = mkEnableOption (lib.mdDoc "victoriametrics");
package = mkOption {
type = types.package;
default = pkgs.victoriametrics;
+1 -1
nixos/modules/services/desktops/bamf.nix
···
options = {
services.bamf = {
-
enable = mkEnableOption "bamf";
};
};
···
options = {
services.bamf = {
+
enable = mkEnableOption (lib.mdDoc "bamf");
};
};
+1 -1
nixos/modules/services/desktops/blueman.nix
···
###### interface
options = {
services.blueman = {
-
enable = mkEnableOption "blueman";
};
};
···
###### interface
options = {
services.blueman = {
+
enable = mkEnableOption (lib.mdDoc "blueman");
};
};
+1 -1
nixos/modules/services/desktops/flatpak.nix
···
###### interface
options = {
services.flatpak = {
-
enable = mkEnableOption "flatpak";
};
};
···
###### interface
options = {
services.flatpak = {
+
enable = mkEnableOption (lib.mdDoc "flatpak");
};
};
+2 -2
nixos/modules/services/desktops/gnome/chrome-gnome-shell.nix
···
###### interface
options = {
-
services.gnome.chrome-gnome-shell.enable = mkEnableOption ''
Chrome GNOME Shell native host connector, a DBus service
allowing to install GNOME Shell extensions from a web browser.
-
'';
};
···
###### interface
options = {
+
services.gnome.chrome-gnome-shell.enable = mkEnableOption (lib.mdDoc ''
Chrome GNOME Shell native host connector, a DBus service
allowing to install GNOME Shell extensions from a web browser.
+
'');
};
+2 -2
nixos/modules/services/desktops/gnome/evolution-data-server.nix
···
options = {
services.gnome.evolution-data-server = {
-
enable = mkEnableOption "Evolution Data Server, a collection of services for storing addressbooks and calendars.";
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
···
};
};
programs.evolution = {
-
enable = mkEnableOption "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.";
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
···
options = {
services.gnome.evolution-data-server = {
+
enable = mkEnableOption (lib.mdDoc "Evolution Data Server, a collection of services for storing addressbooks and calendars.");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
···
};
};
programs.evolution = {
+
enable = mkEnableOption (lib.mdDoc "Evolution, a Personal information management application that provides integrated mail, calendaring and address book functionality.");
plugins = mkOption {
type = types.listOf types.package;
default = [ ];
+1 -1
nixos/modules/services/desktops/gnome/glib-networking.nix
···
services.gnome.glib-networking = {
-
enable = mkEnableOption "network extensions for GLib";
};
···
services.gnome.glib-networking = {
+
enable = mkEnableOption (lib.mdDoc "network extensions for GLib");
};
+1 -1
nixos/modules/services/desktops/gnome/gnome-initial-setup.nix
···
services.gnome.gnome-initial-setup = {
-
enable = mkEnableOption "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system";
};
···
services.gnome.gnome-initial-setup = {
+
enable = mkEnableOption (lib.mdDoc "GNOME Initial Setup, a Simple, easy, and safe way to prepare a new system");
};
+1 -1
nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
···
###### interface
options = {
services.gnome.gnome-remote-desktop = {
-
enable = mkEnableOption "Remote Desktop support using Pipewire";
};
};
···
###### interface
options = {
services.gnome.gnome-remote-desktop = {
+
enable = mkEnableOption (lib.mdDoc "Remote Desktop support using Pipewire");
};
};
+1 -1
nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix
···
services.gnome.gnome-settings-daemon = {
-
enable = mkEnableOption "GNOME Settings Daemon";
};
···
services.gnome.gnome-settings-daemon = {
+
enable = mkEnableOption (lib.mdDoc "GNOME Settings Daemon");
};
+1 -1
nixos/modules/services/desktops/gnome/gnome-user-share.nix
···
services.gnome.gnome-user-share = {
-
enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME";
};
···
services.gnome.gnome-user-share = {
+
enable = mkEnableOption (lib.mdDoc "GNOME User Share, a user-level file sharing service for GNOME");
};
+1 -1
nixos/modules/services/desktops/gvfs.nix
···
services.gvfs = {
-
enable = mkEnableOption "GVfs, a userspace virtual filesystem";
# gvfs can be built with multiple configurations
package = mkOption {
···
services.gvfs = {
+
enable = mkEnableOption (lib.mdDoc "GVfs, a userspace virtual filesystem");
# gvfs can be built with multiple configurations
package = mkOption {
+1 -1
nixos/modules/services/desktops/malcontent.nix
···
services.malcontent = {
-
enable = mkEnableOption "Malcontent, parental control support for applications";
};
···
services.malcontent = {
+
enable = mkEnableOption (lib.mdDoc "Malcontent, parental control support for applications");
};
+1 -1
nixos/modules/services/desktops/neard.nix
···
###### interface
options = {
services.neard = {
-
enable = mkEnableOption "neard, NFC daemon";
};
};
···
###### interface
options = {
services.neard = {
+
enable = mkEnableOption (lib.mdDoc "neard, NFC daemon");
};
};
+5 -5
nixos/modules/services/desktops/pipewire/pipewire.nix
···
###### interface
options = {
services.pipewire = {
-
enable = mkEnableOption "pipewire service";
package = mkOption {
type = types.package;
···
};
alsa = {
-
enable = mkEnableOption "ALSA support";
-
support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
};
jack = {
-
enable = mkEnableOption "JACK audio emulation";
};
pulse = {
-
enable = mkEnableOption "PulseAudio server emulation";
};
systemWide = lib.mkOption {
···
###### interface
options = {
services.pipewire = {
+
enable = mkEnableOption (lib.mdDoc "pipewire service");
package = mkOption {
type = types.package;
···
};
alsa = {
+
enable = mkEnableOption (lib.mdDoc "ALSA support");
+
support32Bit = mkEnableOption (lib.mdDoc "32-bit ALSA support on 64-bit systems");
};
jack = {
+
enable = mkEnableOption (lib.mdDoc "JACK audio emulation");
};
pulse = {
+
enable = mkEnableOption (lib.mdDoc "PulseAudio server emulation");
};
systemWide = lib.mkOption {
+1 -1
nixos/modules/services/desktops/system-config-printer.nix
···
services.system-config-printer = {
-
enable = mkEnableOption "system-config-printer, a service for CUPS administration used by printing interfaces";
};
···
services.system-config-printer = {
+
enable = mkEnableOption (lib.mdDoc "system-config-printer, a service for CUPS administration used by printing interfaces");
};
+1 -1
nixos/modules/services/desktops/tumbler.nix
···
services.tumbler = {
-
enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
};
···
services.tumbler = {
+
enable = mkEnableOption (lib.mdDoc "Tumbler, A D-Bus thumbnailer service");
};
+1 -1
nixos/modules/services/desktops/zeitgeist.nix
···
options = {
services.zeitgeist = {
-
enable = mkEnableOption "zeitgeist";
};
};
···
options = {
services.zeitgeist = {
+
enable = mkEnableOption (lib.mdDoc "zeitgeist");
};
};
+1 -1
nixos/modules/services/development/blackfire.nix
···
options = {
services.blackfire-agent = {
-
enable = lib.mkEnableOption "Blackfire profiler agent";
settings = lib.mkOption {
description = lib.mdDoc ''
See https://blackfire.io/docs/up-and-running/configuration/agent
···
options = {
services.blackfire-agent = {
+
enable = lib.mkEnableOption (lib.mdDoc "Blackfire profiler agent");
settings = lib.mkOption {
description = lib.mdDoc ''
See https://blackfire.io/docs/up-and-running/configuration/agent
+2 -2
nixos/modules/services/development/distccd.nix
···
{
options = {
services.distccd = {
-
enable = mkEnableOption "distccd";
allowedClients = mkOption {
type = types.listOf types.str;
···
};
stats = {
-
enable = mkEnableOption "statistics reporting via HTTP server";
port = mkOption {
type = types.port;
default = 3633;
···
{
options = {
services.distccd = {
+
enable = mkEnableOption (lib.mdDoc "distccd");
allowedClients = mkOption {
type = types.listOf types.str;
···
};
stats = {
+
enable = mkEnableOption (lib.mdDoc "statistics reporting via HTTP server");
port = mkOption {
type = types.port;
default = 3633;
+3 -3
nixos/modules/services/development/hoogle.nix
···
in {
options.services.hoogle = {
-
enable = mkEnableOption "Haskell documentation server";
port = mkOption {
type = types.port;
···
default = hp: [];
defaultText = literalExpression "hp: []";
example = literalExpression "hp: with hp; [ text lens ]";
-
description = ''
The Haskell packages to generate documentation for.
The option value is a function that takes the package set specified in
-
the <varname>haskellPackages</varname> option as its sole parameter and
returns a list of packages.
'';
};
···
in {
options.services.hoogle = {
+
enable = mkEnableOption (lib.mdDoc "Haskell documentation server");
port = mkOption {
type = types.port;
···
default = hp: [];
defaultText = literalExpression "hp: []";
example = literalExpression "hp: with hp; [ text lens ]";
+
description = lib.mdDoc ''
The Haskell packages to generate documentation for.
The option value is a function that takes the package set specified in
+
the {var}`haskellPackages` option as its sole parameter and
returns a list of packages.
'';
};
+1 -1
nixos/modules/services/development/jupyter/default.nix
···
meta.maintainers = with maintainers; [ aborsu ];
options.services.jupyter = {
-
enable = mkEnableOption "Jupyter development server";
ip = mkOption {
type = types.str;
···
meta.maintainers = with maintainers; [ aborsu ];
options.services.jupyter = {
+
enable = mkEnableOption (lib.mdDoc "Jupyter development server");
ip = mkOption {
type = types.str;
+1 -1
nixos/modules/services/development/jupyterhub/default.nix
···
meta.maintainers = with maintainers; [ costrouc ];
options.services.jupyterhub = {
-
enable = mkEnableOption "Jupyterhub development server";
authentication = mkOption {
type = types.str;
···
meta.maintainers = with maintainers; [ costrouc ];
options.services.jupyterhub = {
+
enable = mkEnableOption (lib.mdDoc "Jupyterhub development server");
authentication = mkOption {
type = types.str;
+1 -1
nixos/modules/services/development/rstudio-server/default.nix
···
meta.maintainers = with maintainers; [ jbedo cfhammill ];
options.services.rstudio-server = {
-
enable = mkEnableOption "RStudio server";
serverWorkingDir = mkOption {
type = types.str;
···
meta.maintainers = with maintainers; [ jbedo cfhammill ];
options.services.rstudio-server = {
+
enable = mkEnableOption (lib.mdDoc "RStudio server");
serverWorkingDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/development/zammad.nix
···
options = {
services.zammad = {
-
enable = mkEnableOption "Zammad, a web-based, open source user support/ticketing solution.";
package = mkOption {
type = types.package;
···
options = {
services.zammad = {
+
enable = mkEnableOption (lib.mdDoc "Zammad, a web-based, open source user support/ticketing solution.");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/display-managers/greetd.nix
···
in
{
options.services.greetd = {
-
enable = mkEnableOption "greetd";
package = mkOption {
type = types.package;
···
in
{
options.services.greetd = {
+
enable = mkEnableOption (lib.mdDoc "greetd");
package = mkOption {
type = types.package;
+6 -6
nixos/modules/services/editors/emacs.nix
···
enable = mkOption {
type = types.bool;
default = false;
-
description = ''
-
Whether to enable a user service for the Emacs daemon. Use <literal>emacsclient</literal> to connect to the
-
daemon. If <literal>true</literal>, <varname>services.emacs.install</varname> is
-
considered <literal>true</literal>, whatever its value.
'';
};
install = mkOption {
type = types.bool;
default = false;
-
description = ''
Whether to install a user service for the Emacs daemon. Once
the service is started, use emacsclient to connect to the
daemon.
The service must be manually started for each user with
"systemctl --user start emacs" or globally through
-
<varname>services.emacs.enable</varname>.
'';
};
···
enable = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
+
Whether to enable a user service for the Emacs daemon. Use `emacsclient` to connect to the
+
daemon. If `true`, {var}`services.emacs.install` is
+
considered `true`, whatever its value.
'';
};
install = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Whether to install a user service for the Emacs daemon. Once
the service is started, use emacsclient to connect to the
daemon.
The service must be manually started for each user with
"systemctl --user start emacs" or globally through
+
{var}`services.emacs.enable`.
'';
};
+2 -2
nixos/modules/services/editors/haste.nix
···
in
{
options.services.haste-server = {
-
enable = mkEnableOption "haste-server";
-
openFirewall = mkEnableOption "firewall passthrough for haste-server";
settings = mkOption {
description = lib.mdDoc ''
···
in
{
options.services.haste-server = {
+
enable = mkEnableOption (lib.mdDoc "haste-server");
+
openFirewall = mkEnableOption (lib.mdDoc "firewall passthrough for haste-server");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/editors/infinoted.nix
···
cfg = config.services.infinoted;
in {
options.services.infinoted = {
-
enable = mkEnableOption "infinoted";
package = mkOption {
type = types.package;
···
cfg = config.services.infinoted;
in {
options.services.infinoted = {
+
enable = mkEnableOption (lib.mdDoc "infinoted");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/finance/odoo.nix
···
{
options = {
services.odoo = {
-
enable = mkEnableOption "odoo";
package = mkOption {
type = types.package;
···
{
options = {
services.odoo = {
+
enable = mkEnableOption (lib.mdDoc "odoo");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/games/asf.nix
···
type = types.submodule {
options = {
enable = mkEnableOption
-
"Wheter to start the web-ui. This is the preferred way of configuring things such as the steam guard token";
package = mkOption {
type = types.package;
···
type = types.submodule {
options = {
enable = mkEnableOption
+
(lib.mdDoc "Wheter to start the web-ui. This is the preferred way of configuring things such as the steam guard token");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/games/factorio.nix
···
{
options = {
services.factorio = {
-
enable = mkEnableOption name;
port = mkOption {
type = types.int;
default = 34197;
···
{
options = {
services.factorio = {
+
enable = mkEnableOption (lib.mdDoc name);
port = mkOption {
type = types.int;
default = 34197;
+6 -6
nixos/modules/services/games/freeciv.nix
···
{
options = {
services.freeciv = {
-
enable = mkEnableOption ''freeciv'';
settings = mkOption {
description = lib.mdDoc ''
Parameters of freeciv-server.
···
default = "none";
description = lib.mdDoc "Announce game in LAN using given protocol.";
};
-
options.auth = mkEnableOption "server authentication";
options.Database = mkOption {
type = types.nullOr types.str;
apply = pkgs.writeText "auth.conf";
···
default = 0;
description = lib.mdDoc "Set debug log level.";
};
-
options.exit-on-end = mkEnableOption "exit instead of restarting when a game ends.";
-
options.Guests = mkEnableOption "guests to login if auth is enabled";
-
options.Newusers = mkEnableOption "new users to login if auth is enabled";
options.port = mkOption {
type = types.port;
default = 5556;
···
};
};
};
-
openFirewall = mkEnableOption "opening the firewall for the port listening for clients";
};
};
config = mkIf cfg.enable {
···
{
options = {
services.freeciv = {
+
enable = mkEnableOption (lib.mdDoc ''freeciv'');
settings = mkOption {
description = lib.mdDoc ''
Parameters of freeciv-server.
···
default = "none";
description = lib.mdDoc "Announce game in LAN using given protocol.";
};
+
options.auth = mkEnableOption (lib.mdDoc "server authentication");
options.Database = mkOption {
type = types.nullOr types.str;
apply = pkgs.writeText "auth.conf";
···
default = 0;
description = lib.mdDoc "Set debug log level.";
};
+
options.exit-on-end = mkEnableOption (lib.mdDoc "exit instead of restarting when a game ends.");
+
options.Guests = mkEnableOption (lib.mdDoc "guests to login if auth is enabled");
+
options.Newusers = mkEnableOption (lib.mdDoc "new users to login if auth is enabled");
options.port = mkOption {
type = types.port;
default = 5556;
···
};
};
};
+
openFirewall = mkEnableOption (lib.mdDoc "opening the firewall for the port listening for clients");
};
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/games/openarena.nix
···
{
options = {
services.openarena = {
-
enable = mkEnableOption "OpenArena";
openPorts = mkOption {
type = types.bool;
···
{
options = {
services.openarena = {
+
enable = mkEnableOption (lib.mdDoc "OpenArena");
openPorts = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/games/quake3-server.nix
···
in {
options = {
services.quake3-server = {
-
enable = mkEnableOption "Quake 3 dedicated server";
port = mkOption {
type = types.port;
···
in {
options = {
services.quake3-server = {
+
enable = mkEnableOption (lib.mdDoc "Quake 3 dedicated server");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/games/teeworlds.nix
···
{
options = {
services.teeworlds = {
-
enable = mkEnableOption "Teeworlds Server";
openPorts = mkOption {
type = types.bool;
···
{
options = {
services.teeworlds = {
+
enable = mkEnableOption (lib.mdDoc "Teeworlds Server");
openPorts = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/hardware/acpid.nix
···
services.acpid = {
-
enable = mkEnableOption "the ACPI daemon";
logEvents = mkOption {
type = types.bool;
···
services.acpid = {
+
enable = mkEnableOption (lib.mdDoc "the ACPI daemon");
logEvents = mkOption {
type = types.bool;
+4 -4
nixos/modules/services/hardware/actkbd.nix
···
enable = mkOption {
type = types.bool;
default = false;
-
description = ''
-
Whether to enable the <command>actkbd</command> key mapping daemon.
-
Turning this on will start an <command>actkbd</command>
instance for every evdev input that has at least one key
(which is okay even for systems with tiny memory footprint,
-
since actkbd normally uses &lt;100 bytes of memory per
instance).
This allows binding keys globally without the need for e.g.
···
enable = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
+
Whether to enable the {command}`actkbd` key mapping daemon.
+
Turning this on will start an {command}`actkbd`
instance for every evdev input that has at least one key
(which is okay even for systems with tiny memory footprint,
+
since actkbd normally uses \<100 bytes of memory per
instance).
This allows binding keys globally without the need for e.g.
+1 -1
nixos/modules/services/hardware/argonone.nix
···
in
{
options.services.hardware.argonone = {
-
enable = lib.mkEnableOption "the driver for Argon One Raspberry Pi case fan and power button";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.argononed;
···
in
{
options.services.hardware.argonone = {
+
enable = lib.mkEnableOption (lib.mdDoc "the driver for Argon One Raspberry Pi case fan and power button");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.argononed;
+1 -1
nixos/modules/services/hardware/auto-cpufreq.nix
···
in {
options = {
services.auto-cpufreq = {
-
enable = mkEnableOption "auto-cpufreq daemon";
};
};
···
in {
options = {
services.auto-cpufreq = {
+
enable = mkEnableOption (lib.mdDoc "auto-cpufreq daemon");
};
};
+2 -2
nixos/modules/services/hardware/bluetooth.nix
···
options = {
hardware.bluetooth = {
-
enable = mkEnableOption "support for Bluetooth";
-
hsphfpd.enable = mkEnableOption "support for hsphfpd[-prototype] implementation";
powerOnBoot = mkOption {
type = types.bool;
···
options = {
hardware.bluetooth = {
+
enable = mkEnableOption (lib.mdDoc "support for Bluetooth");
+
hsphfpd.enable = mkEnableOption (lib.mdDoc "support for hsphfpd[-prototype] implementation");
powerOnBoot = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/hardware/ddccontrol.nix
···
options = {
services.ddccontrol = {
-
enable = lib.mkEnableOption "ddccontrol for controlling displays";
};
};
···
options = {
services.ddccontrol = {
+
enable = lib.mkEnableOption (lib.mdDoc "ddccontrol for controlling displays");
};
};
+1 -1
nixos/modules/services/hardware/fancontrol.nix
···
in
{
options.hardware.fancontrol = {
-
enable = mkEnableOption "software fan control (requires fancontrol.config)";
config = mkOption {
type = types.lines;
···
in
{
options.hardware.fancontrol = {
+
enable = mkEnableOption (lib.mdDoc "software fan control (requires fancontrol.config)");
config = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/hardware/irqbalance.nix
···
in
{
-
options.services.irqbalance.enable = mkEnableOption "irqbalance daemon";
config = mkIf cfg.enable {
···
in
{
+
options.services.irqbalance.enable = mkEnableOption (lib.mdDoc "irqbalance daemon");
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/hardware/joycond.nix
···
{
options.services.joycond = {
-
enable = mkEnableOption "support for Nintendo Pro Controllers and Joycons";
package = mkOption {
type = types.package;
···
{
options.services.joycond = {
+
enable = mkEnableOption (lib.mdDoc "support for Nintendo Pro Controllers and Joycons");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/hardware/kanata.nix
···
in
{
options.services.kanata = {
-
enable = mkEnableOption "kanata";
package = mkOption {
type = types.package;
default = pkgs.kanata;
···
in
{
options.services.kanata = {
+
enable = mkEnableOption (lib.mdDoc "kanata");
package = mkOption {
type = types.package;
default = pkgs.kanata;
+1 -1
nixos/modules/services/hardware/lirc.nix
···
options = {
services.lirc = {
-
enable = mkEnableOption "LIRC daemon";
options = mkOption {
type = types.lines;
···
options = {
services.lirc = {
+
enable = mkEnableOption (lib.mdDoc "LIRC daemon");
options = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/hardware/pcscd.nix
···
###### interface
options.services.pcscd = {
-
enable = mkEnableOption "PCSC-Lite daemon";
plugins = mkOption {
type = types.listOf types.package;
···
###### interface
options.services.pcscd = {
+
enable = mkEnableOption (lib.mdDoc "PCSC-Lite daemon");
plugins = mkOption {
type = types.listOf types.package;
+2 -2
nixos/modules/services/hardware/rasdaemon.nix
···
{
options.hardware.rasdaemon = {
-
enable = mkEnableOption "RAS logging daemon";
record = mkOption {
type = types.bool;
···
example = [ "i7core_edac" ];
};
-
testing = mkEnableOption "error injection infrastructure";
};
config = mkIf cfg.enable {
···
{
options.hardware.rasdaemon = {
+
enable = mkEnableOption (lib.mdDoc "RAS logging daemon");
record = mkOption {
type = types.bool;
···
example = [ "i7core_edac" ];
};
+
testing = mkEnableOption (lib.mdDoc "error injection infrastructure");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/hardware/ratbagd.nix
···
options = {
services.ratbagd = {
-
enable = mkEnableOption "ratbagd for configuring gaming mice";
};
};
···
options = {
services.ratbagd = {
+
enable = mkEnableOption (lib.mdDoc "ratbagd for configuring gaming mice");
};
};
+1 -1
nixos/modules/services/hardware/sane_extra_backends/brscan5.nix
···
options = {
hardware.sane.brscan5.enable =
-
mkEnableOption "the Brother brscan5 sane backend";
hardware.sane.brscan5.netDevices = mkOption {
default = {};
···
options = {
hardware.sane.brscan5.enable =
+
mkEnableOption (lib.mdDoc "the Brother brscan5 sane backend");
hardware.sane.brscan5.netDevices = mkOption {
default = {};
+1 -1
nixos/modules/services/hardware/spacenavd.nix
···
options = {
hardware.spacenavd = {
-
enable = mkEnableOption "spacenavd to support 3DConnexion devices";
};
};
···
options = {
hardware.spacenavd = {
+
enable = mkEnableOption (lib.mdDoc "spacenavd to support 3DConnexion devices");
};
};
+1 -1
nixos/modules/services/hardware/thermald.nix
···
###### interface
options = {
services.thermald = {
-
enable = mkEnableOption "thermald, the temperature management daemon";
debug = mkOption {
type = types.bool;
···
###### interface
options = {
services.thermald = {
+
enable = mkEnableOption (lib.mdDoc "thermald, the temperature management daemon");
debug = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/hardware/throttled.nix
···
in {
options = {
services.throttled = {
-
enable = mkEnableOption "fix for Intel CPU throttling";
extraConfig = mkOption {
type = types.str;
···
in {
options = {
services.throttled = {
+
enable = mkEnableOption (lib.mdDoc "fix for Intel CPU throttling");
extraConfig = mkOption {
type = types.str;
+2 -2
nixos/modules/services/hardware/udev.nix
···
path = mkOption {
type = types.listOf types.path;
default = [];
-
description = ''
-
Packages added to the <envar>PATH</envar> environment variable when
executing programs from Udev rules.
'';
};
···
path = mkOption {
type = types.listOf types.path;
default = [];
+
description = lib.mdDoc ''
+
Packages added to the {env}`PATH` environment variable when
executing programs from Udev rules.
'';
};
+1 -1
nixos/modules/services/hardware/udisks2.nix
···
services.udisks2 = {
-
enable = mkEnableOption "udisks2, a DBus service that allows applications to query and manipulate storage devices.";
settings = mkOption rec {
type = types.attrsOf settingsFormat.type;
···
services.udisks2 = {
+
enable = mkEnableOption (lib.mdDoc "udisks2, a DBus service that allows applications to query and manipulate storage devices.");
settings = mkOption rec {
type = types.attrsOf settingsFormat.type;
+2 -2
nixos/modules/services/hardware/undervolt.nix
···
in
{
options.services.undervolt = {
-
enable = mkEnableOption ''
Undervolting service for Intel CPUs.
Warning: This service is not endorsed by Intel and may permanently damage your hardware. Use at your own risk!
-
'';
verbose = mkOption {
type = types.bool;
···
in
{
options.services.undervolt = {
+
enable = mkEnableOption (lib.mdDoc ''
Undervolting service for Intel CPUs.
Warning: This service is not endorsed by Intel and may permanently damage your hardware. Use at your own risk!
+
'');
verbose = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/hardware/usbrelayd.nix
···
in
{
options.services.usbrelayd = with types; {
-
enable = mkEnableOption "USB Relay MQTT daemon";
broker = mkOption {
type = str;
···
in
{
options.services.usbrelayd = with types; {
+
enable = mkEnableOption (lib.mdDoc "USB Relay MQTT daemon");
broker = mkOption {
type = str;
+2 -2
nixos/modules/services/hardware/vdr.nix
···
options = {
services.vdr = {
-
enable = mkEnableOption "VDR. Please put config into ${libDir}";
package = mkOption {
type = types.package;
···
description = lib.mdDoc "Additional command line arguments to pass to VDR.";
};
-
enableLirc = mkEnableOption "LIRC";
};
};
···
options = {
services.vdr = {
+
enable = mkEnableOption (lib.mdDoc "VDR. Please put config into ${libDir}");
package = mkOption {
type = types.package;
···
description = lib.mdDoc "Additional command line arguments to pass to VDR.";
};
+
enableLirc = mkEnableOption (lib.mdDoc "LIRC");
};
};
+1 -1
nixos/modules/services/home-automation/home-assistant.nix
···
options.services.home-assistant = {
# Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
# https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
-
enable = mkEnableOption "Home Assistant. Please note that this installation method is unsupported upstream";
configDir = mkOption {
default = "/var/lib/hass";
···
options.services.home-assistant = {
# Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
# https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
+
enable = mkEnableOption (lib.mdDoc "Home Assistant. Please note that this installation method is unsupported upstream");
configDir = mkOption {
default = "/var/lib/hass";
+1 -1
nixos/modules/services/home-automation/zigbee2mqtt.nix
···
];
options.services.zigbee2mqtt = {
-
enable = mkEnableOption "enable zigbee2mqtt service";
package = mkOption {
description = lib.mdDoc "Zigbee2mqtt package to use";
···
];
options.services.zigbee2mqtt = {
+
enable = mkEnableOption (lib.mdDoc "enable zigbee2mqtt service");
package = mkOption {
description = lib.mdDoc "Zigbee2mqtt package to use";
+2 -2
nixos/modules/services/logging/awstats.nix
···
};
webService = {
-
enable = mkEnableOption "awstats web service";
hostname = mkOption {
type = types.str;
···
];
options.services.awstats = {
-
enable = mkEnableOption "awstats";
dataDir = mkOption {
type = types.path;
···
};
webService = {
+
enable = mkEnableOption (lib.mdDoc "awstats web service");
hostname = mkOption {
type = types.str;
···
];
options.services.awstats = {
+
enable = mkEnableOption (lib.mdDoc "awstats");
dataDir = mkOption {
type = types.path;
+1 -1
nixos/modules/services/logging/filebeat.nix
···
services.filebeat = {
-
enable = mkEnableOption "filebeat";
package = mkOption {
type = types.package;
···
services.filebeat = {
+
enable = mkEnableOption (lib.mdDoc "filebeat");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/logging/graylog.nix
···
services.graylog = {
-
enable = mkEnableOption "Graylog";
package = mkOption {
type = types.package;
···
services.graylog = {
+
enable = mkEnableOption (lib.mdDoc "Graylog");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/logging/heartbeat.nix
···
services.heartbeat = {
-
enable = mkEnableOption "heartbeat";
package = mkOption {
type = types.package;
···
services.heartbeat = {
+
enable = mkEnableOption (lib.mdDoc "heartbeat");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/logging/journalbeat.nix
···
services.journalbeat = {
-
enable = mkEnableOption "journalbeat";
package = mkOption {
type = types.package;
···
services.journalbeat = {
+
enable = mkEnableOption (lib.mdDoc "journalbeat");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/logging/logrotate.nix
···
options = {
services.logrotate = {
-
enable = mkEnableOption "the logrotate systemd service" // {
default = foldr (n: a: a || n.enable) false (attrValues cfg.settings);
defaultText = literalExpression "cfg.settings != {}";
};
···
freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
options = {
-
enable = mkEnableOption "setting individual kill switch" // {
default = true;
};
···
options = {
services.logrotate = {
+
enable = mkEnableOption (lib.mdDoc "the logrotate systemd service") // {
default = foldr (n: a: a || n.enable) false (attrValues cfg.settings);
defaultText = literalExpression "cfg.settings != {}";
};
···
freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
options = {
+
enable = mkEnableOption (lib.mdDoc "setting individual kill switch") // {
default = true;
};
+1 -1
nixos/modules/services/logging/promtail.nix
···
positionsFile = cfg.configuration.positions.filename;
in {
options.services.promtail = with types; {
-
enable = mkEnableOption "the Promtail ingresser";
configuration = mkOption {
···
positionsFile = cfg.configuration.positions.filename;
in {
options.services.promtail = with types; {
+
enable = mkEnableOption (lib.mdDoc "the Promtail ingresser");
configuration = mkOption {
+6 -6
nixos/modules/services/logging/rsyslogd.nix
···
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
-
description = ''
-
The default <filename>syslog.conf</filename> file configures a
fairly standard setup of log files, which can be extended by
-
means of <varname>extraConfig</varname>.
'';
};
···
type = types.lines;
default = "";
example = "news.* -/var/log/news";
-
description = ''
-
Additional text appended to <filename>syslog.conf</filename>,
-
i.e. the contents of <varname>defaultConfig</varname>.
'';
};
···
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
+
description = lib.mdDoc ''
+
The default {file}`syslog.conf` file configures a
fairly standard setup of log files, which can be extended by
+
means of {var}`extraConfig`.
'';
};
···
type = types.lines;
default = "";
example = "news.* -/var/log/news";
+
description = lib.mdDoc ''
+
Additional text appended to {file}`syslog.conf`,
+
i.e. the contents of {var}`defaultConfig`.
'';
};
+6 -6
nixos/modules/services/logging/syslogd.nix
···
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
-
description = ''
-
The default <filename>syslog.conf</filename> file configures a
fairly standard setup of log files, which can be extended by
-
means of <varname>extraConfig</varname>.
'';
};
···
type = types.lines;
default = "";
example = "news.* -/var/log/news";
-
description = ''
-
Additional text appended to <filename>syslog.conf</filename>,
-
i.e. the contents of <varname>defaultConfig</varname>.
'';
};
···
defaultConfig = mkOption {
type = types.lines;
default = defaultConf;
+
description = lib.mdDoc ''
+
The default {file}`syslog.conf` file configures a
fairly standard setup of log files, which can be extended by
+
means of {var}`extraConfig`.
'';
};
···
type = types.lines;
default = "";
example = "news.* -/var/log/news";
+
description = lib.mdDoc ''
+
Additional text appended to {file}`syslog.conf`,
+
i.e. the contents of {var}`defaultConfig`.
'';
};
+1 -1
nixos/modules/services/logging/vector.nix
···
in
{
options.services.vector = {
-
enable = mkEnableOption "Vector";
journaldAccess = mkOption {
type = types.bool;
···
in
{
options.services.vector = {
+
enable = mkEnableOption (lib.mdDoc "Vector");
journaldAccess = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/mail/davmail.nix
···
{
options.services.davmail = {
-
enable = mkEnableOption "davmail, an MS Exchange gateway";
url = mkOption {
type = types.str;
···
{
options.services.davmail = {
+
enable = mkEnableOption (lib.mdDoc "davmail, an MS Exchange gateway");
url = mkOption {
type = types.str;
+11 -11
nixos/modules/services/mail/dovecot.nix
···
];
options.services.dovecot2 = {
-
enable = mkEnableOption "the dovecot 2.x POP3/IMAP server";
-
enablePop3 = mkEnableOption "starting the POP3 listener (when Dovecot is enabled).";
-
enableImap = mkEnableOption "starting the IMAP listener (when Dovecot is enabled)." // { default = true; };
-
enableLmtp = mkEnableOption "starting the LMTP listener (when Dovecot is enabled).";
protocols = mkOption {
type = types.listOf types.str;
···
description = lib.mdDoc "Default group to store mail for virtual users.";
};
-
createMailUser = mkEnableOption ''automatically creating the user
-
given in <option>services.dovecot.user</option> and the group
-
given in <option>services.dovecot.group</option>.'' // { default = true; };
modules = mkOption {
type = types.listOf types.package;
···
description = lib.mdDoc "Path to the server's private key.";
};
-
enablePAM = mkEnableOption "creating a own Dovecot PAM service and configure PAM user logins." // { default = true; };
-
enableDHE = mkEnableOption "enable ssl_dh and generation of primes for the key exchange." // { default = true; };
sieveScripts = mkOption {
type = types.attrsOf types.path;
···
description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.";
};
-
showPAMFailure = mkEnableOption "showing the PAM failure message on authentication error (useful for OTPW).";
mailboxes = mkOption {
type = with types; coercedTo
···
description = lib.mdDoc "Configure mailboxes and auto create or subscribe them.";
};
-
enableQuota = mkEnableOption "the dovecot quota service.";
quotaPort = mkOption {
type = types.str;
···
];
options.services.dovecot2 = {
+
enable = mkEnableOption (lib.mdDoc "the dovecot 2.x POP3/IMAP server");
+
enablePop3 = mkEnableOption (lib.mdDoc "starting the POP3 listener (when Dovecot is enabled).");
+
enableImap = mkEnableOption (lib.mdDoc "starting the IMAP listener (when Dovecot is enabled).") // { default = true; };
+
enableLmtp = mkEnableOption (lib.mdDoc "starting the LMTP listener (when Dovecot is enabled).");
protocols = mkOption {
type = types.listOf types.str;
···
description = lib.mdDoc "Default group to store mail for virtual users.";
};
+
createMailUser = mkEnableOption (lib.mdDoc ''automatically creating the user
+
given in {option}`services.dovecot.user` and the group
+
given in {option}`services.dovecot.group`.'') // { default = true; };
modules = mkOption {
type = types.listOf types.package;
···
description = lib.mdDoc "Path to the server's private key.";
};
+
enablePAM = mkEnableOption (lib.mdDoc "creating a own Dovecot PAM service and configure PAM user logins.") // { default = true; };
+
enableDHE = mkEnableOption (lib.mdDoc "enable ssl_dh and generation of primes for the key exchange.") // { default = true; };
sieveScripts = mkOption {
type = types.attrsOf types.path;
···
description = lib.mdDoc "Sieve scripts to be executed. Key is a sequence, e.g. 'before2', 'after' etc.";
};
+
showPAMFailure = mkEnableOption (lib.mdDoc "showing the PAM failure message on authentication error (useful for OTPW).");
mailboxes = mkOption {
type = with types; coercedTo
···
description = lib.mdDoc "Configure mailboxes and auto create or subscribe them.";
};
+
enableQuota = mkEnableOption (lib.mdDoc "the dovecot quota service.");
quotaPort = mkOption {
type = types.str;
+1 -1
nixos/modules/services/mail/maddy.nix
···
options = {
services.maddy = {
-
enable = mkEnableOption "Maddy, a free an open source mail server";
user = mkOption {
default = "maddy";
···
options = {
services.maddy = {
+
enable = mkEnableOption (lib.mdDoc "Maddy, a free an open source mail server");
user = mkOption {
default = "maddy";
+1 -1
nixos/modules/services/mail/mailcatcher.nix
···
options = {
services.mailcatcher = {
-
enable = mkEnableOption "MailCatcher";
http.ip = mkOption {
type = types.str;
···
options = {
services.mailcatcher = {
+
enable = mkEnableOption (lib.mdDoc "MailCatcher");
http.ip = mkOption {
type = types.str;
+1 -1
nixos/modules/services/mail/mailhog.nix
···
options = {
services.mailhog = {
-
enable = mkEnableOption "MailHog";
storage = mkOption {
type = types.enum [ "maildir" "memory" ];
···
options = {
services.mailhog = {
+
enable = mkEnableOption (lib.mdDoc "MailHog");
storage = mkOption {
type = types.enum [ "maildir" "memory" ];
+3 -3
nixos/modules/services/mail/mailman.nix
···
};
ldap = {
-
enable = mkEnableOption "LDAP auth";
serverUri = mkOption {
type = types.str;
example = "ldaps://ldap.host";
···
};
serve = {
-
enable = mkEnableOption "Automatic nginx and uwsgi setup for mailman-web";
};
extraPythonPackages = mkOption {
···
};
hyperkitty = {
-
enable = mkEnableOption "the Hyperkitty archiver for Mailman";
baseUrl = mkOption {
type = types.str;
···
};
ldap = {
+
enable = mkEnableOption (lib.mdDoc "LDAP auth");
serverUri = mkOption {
type = types.str;
example = "ldaps://ldap.host";
···
};
serve = {
+
enable = mkEnableOption (lib.mdDoc "Automatic nginx and uwsgi setup for mailman-web");
};
extraPythonPackages = mkOption {
···
};
hyperkitty = {
+
enable = mkEnableOption (lib.mdDoc "the Hyperkitty archiver for Mailman");
baseUrl = mkOption {
type = types.str;
+3 -3
nixos/modules/services/mail/offlineimap.nix
···
in {
options.services.offlineimap = {
-
enable = mkEnableOption "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)";
install = mkOption {
type = types.bool;
default = false;
-
description = ''
Whether to install a user service for Offlineimap. Once
the service is started, emails will be fetched automatically.
The service must be manually started for each user with
"systemctl --user start offlineimap" or globally through
-
<varname>services.offlineimap.enable</varname>.
'';
};
···
in {
options.services.offlineimap = {
+
enable = mkEnableOption (lib.mdDoc "OfflineIMAP, a software to dispose your mailbox(es) as a local Maildir(s)");
install = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Whether to install a user service for Offlineimap. Once
the service is started, emails will be fetched automatically.
The service must be manually started for each user with
"systemctl --user start offlineimap" or globally through
+
{var}`services.offlineimap.enable`.
'';
};
+7 -7
nixos/modules/services/mail/public-inbox.nix
···
{
options.services.public-inbox = {
-
enable = mkEnableOption "the public-inbox mail archiver";
package = mkOption {
type = types.package;
default = pkgs.public-inbox;
···
}));
};
imap = {
-
enable = mkEnableOption "the public-inbox IMAP server";
} // publicInboxDaemonOptions "imap" 993;
http = {
-
enable = mkEnableOption "the public-inbox HTTP server";
mounts = mkOption {
type = with types; listOf str;
default = [ "/" ];
···
};
};
mda = {
-
enable = mkEnableOption "the public-inbox Mail Delivery Agent";
args = mkOption {
type = with types; listOf str;
default = [];
description = lib.mdDoc "Command-line arguments to pass to {manpage}`public-inbox-mda(1)`.";
};
};
-
postfix.enable = mkEnableOption "the integration into Postfix";
nntp = {
-
enable = mkEnableOption "the public-inbox NNTP server";
} // publicInboxDaemonOptions "nntp" 563;
spamAssassinRules = mkOption {
type = with types; nullOr path;
···
};
};
};
-
openFirewall = mkEnableOption "opening the firewall when using a port option";
};
config = mkIf cfg.enable {
assertions = [
···
{
options.services.public-inbox = {
+
enable = mkEnableOption (lib.mdDoc "the public-inbox mail archiver");
package = mkOption {
type = types.package;
default = pkgs.public-inbox;
···
}));
};
imap = {
+
enable = mkEnableOption (lib.mdDoc "the public-inbox IMAP server");
} // publicInboxDaemonOptions "imap" 993;
http = {
+
enable = mkEnableOption (lib.mdDoc "the public-inbox HTTP server");
mounts = mkOption {
type = with types; listOf str;
default = [ "/" ];
···
};
};
mda = {
+
enable = mkEnableOption (lib.mdDoc "the public-inbox Mail Delivery Agent");
args = mkOption {
type = with types; listOf str;
default = [];
description = lib.mdDoc "Command-line arguments to pass to {manpage}`public-inbox-mda(1)`.";
};
};
+
postfix.enable = mkEnableOption (lib.mdDoc "the integration into Postfix");
nntp = {
+
enable = mkEnableOption (lib.mdDoc "the public-inbox NNTP server");
} // publicInboxDaemonOptions "nntp" 563;
spamAssassinRules = mkOption {
type = with types; nullOr path;
···
};
};
};
+
openFirewall = mkEnableOption (lib.mdDoc "opening the firewall when using a port option");
};
config = mkIf cfg.enable {
assertions = [
+1 -1
nixos/modules/services/mail/rspamd.nix
···
services.rspamd = {
-
enable = mkEnableOption "rspamd, the Rapid spam filtering system";
debug = mkOption {
type = types.bool;
···
services.rspamd = {
+
enable = mkEnableOption (lib.mdDoc "rspamd, the Rapid spam filtering system");
debug = mkOption {
type = types.bool;
+2 -2
nixos/modules/services/mail/schleuder.nix
···
in
{
options.services.schleuder = {
-
enable = lib.mkEnableOption "Schleuder secure remailer";
-
enablePostfix = lib.mkEnableOption "automatic postfix integration" // { default = true; };
lists = lib.mkOption {
description = lib.mdDoc ''
List of list addresses that should be handled by Schleuder.
···
in
{
options.services.schleuder = {
+
enable = lib.mkEnableOption (lib.mdDoc "Schleuder secure remailer");
+
enablePostfix = lib.mkEnableOption (lib.mdDoc "automatic postfix integration") // { default = true; };
lists = lib.mkOption {
description = lib.mdDoc ''
List of list addresses that should be handled by Schleuder.
+1 -1
nixos/modules/services/mail/spamassassin.nix
···
options = {
services.spamassassin = {
-
enable = mkEnableOption "the SpamAssassin daemon";
debug = mkOption {
type = types.bool;
···
options = {
services.spamassassin = {
+
enable = mkEnableOption (lib.mdDoc "the SpamAssassin daemon");
debug = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/mail/sympa.nix
···
###### interface
options.services.sympa = with types; {
-
enable = mkEnableOption "Sympa mailing list manager";
lang = mkOption {
type = str;
···
###### interface
options.services.sympa = with types; {
+
enable = mkEnableOption (lib.mdDoc "Sympa mailing list manager");
lang = mkOption {
type = str;
+1 -1
nixos/modules/services/matrix/appservice-discord.nix
···
in {
options = {
services.matrix-appservice-discord = {
-
enable = mkEnableOption "a bridge between Matrix and Discord";
settings = mkOption rec {
# TODO: switch to types.config.json as prescribed by RFC42 once it's implemented
···
in {
options = {
services.matrix-appservice-discord = {
+
enable = mkEnableOption (lib.mdDoc "a bridge between Matrix and Discord");
settings = mkOption rec {
# TODO: switch to types.config.json as prescribed by RFC42 once it's implemented
+1 -1
nixos/modules/services/matrix/appservice-irc.nix
···
registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
in {
options.services.matrix-appservice-irc = with types; {
-
enable = mkEnableOption "the Matrix/IRC bridge";
port = mkOption {
type = port;
···
registrationFile = "/var/lib/matrix-appservice-irc/registration.yml";
in {
options.services.matrix-appservice-irc = with types; {
+
enable = mkEnableOption (lib.mdDoc "the Matrix/IRC bridge");
port = mkOption {
type = port;
+1 -1
nixos/modules/services/matrix/conduit.nix
···
{
meta.maintainers = with maintainers; [ pstn piegames ];
options.services.matrix-conduit = {
-
enable = mkEnableOption "matrix-conduit";
extraEnvironment = mkOption {
type = types.attrsOf types.str;
···
{
meta.maintainers = with maintainers; [ pstn piegames ];
options.services.matrix-conduit = {
+
enable = mkEnableOption (lib.mdDoc "matrix-conduit");
extraEnvironment = mkOption {
type = types.attrsOf types.str;
+1 -1
nixos/modules/services/matrix/dendrite.nix
···
in
{
options.services.dendrite = {
-
enable = lib.mkEnableOption "matrix.org dendrite";
httpPort = lib.mkOption {
type = lib.types.nullOr lib.types.port;
default = 8008;
···
in
{
options.services.dendrite = {
+
enable = lib.mkEnableOption (lib.mdDoc "matrix.org dendrite");
httpPort = lib.mkOption {
type = lib.types.nullOr lib.types.port;
default = 8008;
+1 -1
nixos/modules/services/matrix/mautrix-facebook.nix
···
in {
options = {
services.mautrix-facebook = {
-
enable = mkEnableOption "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge";
settings = mkOption rec {
apply = recursiveUpdate default;
···
in {
options = {
services.mautrix-facebook = {
+
enable = mkEnableOption (lib.mdDoc "Mautrix-Facebook, a Matrix-Facebook hybrid puppeting/relaybot bridge");
settings = mkOption rec {
apply = recursiveUpdate default;
+1 -1
nixos/modules/services/matrix/mautrix-telegram.nix
···
in {
options = {
services.mautrix-telegram = {
-
enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge";
settings = mkOption rec {
apply = recursiveUpdate default;
···
in {
options = {
services.mautrix-telegram = {
+
enable = mkEnableOption (lib.mdDoc "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge");
settings = mkOption rec {
apply = recursiveUpdate default;
+3 -3
nixos/modules/services/matrix/mjolnir.nix
···
in
{
options.services.mjolnir = {
-
enable = mkEnableOption "Mjolnir, a moderation tool for Matrix";
homeserverUrl = mkOption {
type = types.str;
···
default = { };
type = types.submodule {
options = {
-
enable = mkEnableOption ''
If true, accessToken is ignored and the username/password below will be
used instead. The access token of the bot will be stored in the dataPath.
-
'';
username = mkOption {
type = types.str;
···
in
{
options.services.mjolnir = {
+
enable = mkEnableOption (lib.mdDoc "Mjolnir, a moderation tool for Matrix");
homeserverUrl = mkOption {
type = types.str;
···
default = { };
type = types.submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc ''
If true, accessToken is ignored and the username/password below will be
used instead. The access token of the bot will be stored in the dataPath.
+
'');
username = mkOption {
type = types.str;
+1 -1
nixos/modules/services/matrix/synapse.nix
···
options = {
services.matrix-synapse = {
-
enable = mkEnableOption "matrix.org synapse";
configFile = mkOption {
type = types.path;
···
options = {
services.matrix-synapse = {
+
enable = mkEnableOption (lib.mdDoc "matrix.org synapse");
configFile = mkOption {
type = types.path;
+1 -1
nixos/modules/services/misc/airsonic.nix
···
options = {
services.airsonic = {
-
enable = mkEnableOption "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)";
user = mkOption {
type = types.str;
···
options = {
services.airsonic = {
+
enable = mkEnableOption (lib.mdDoc "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/ananicy.nix
···
{
options = {
services.ananicy = {
-
enable = mkEnableOption "Ananicy, an auto nice daemon";
package = mkOption {
type = types.package;
···
{
options = {
services.ananicy = {
+
enable = mkEnableOption (lib.mdDoc "Ananicy, an auto nice daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/ankisyncd.nix
···
in
{
options.services.ankisyncd = {
-
enable = mkEnableOption "ankisyncd";
package = mkOption {
type = types.package;
···
in
{
options.services.ankisyncd = {
+
enable = mkEnableOption (lib.mdDoc "ankisyncd");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/autorandr.nix
···
options = {
services.autorandr = {
-
enable = mkEnableOption "handling of hotplug and sleep events by autorandr";
defaultTarget = mkOption {
default = "default";
···
options = {
services.autorandr = {
+
enable = mkEnableOption (lib.mdDoc "handling of hotplug and sleep events by autorandr");
defaultTarget = mkOption {
default = "default";
+1 -1
nixos/modules/services/misc/bazarr.nix
···
{
options = {
services.bazarr = {
-
enable = mkEnableOption "bazarr, a subtitle manager for Sonarr and Radarr";
openFirewall = mkOption {
type = types.bool;
···
{
options = {
services.bazarr = {
+
enable = mkEnableOption (lib.mdDoc "bazarr, a subtitle manager for Sonarr and Radarr");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/misc/beanstalkd.nix
···
options = {
services.beanstalkd = {
-
enable = mkEnableOption "the Beanstalk work queue";
listen = {
port = mkOption {
···
options = {
services.beanstalkd = {
+
enable = mkEnableOption (lib.mdDoc "the Beanstalk work queue");
listen = {
port = mkOption {
+1 -1
nixos/modules/services/misc/bepasty.nix
···
in
{
options.services.bepasty = {
-
enable = mkEnableOption "Bepasty servers";
servers = mkOption {
default = {};
···
in
{
options.services.bepasty = {
+
enable = mkEnableOption (lib.mdDoc "Bepasty servers");
servers = mkOption {
default = {};
+1 -1
nixos/modules/services/misc/calibre-server.nix
···
options = {
services.calibre-server = {
-
enable = mkEnableOption "calibre-server";
libraries = mkOption {
description = lib.mdDoc ''
···
options = {
services.calibre-server = {
+
enable = mkEnableOption (lib.mdDoc "calibre-server");
libraries = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/misc/cfdyndns.nix
···
options = {
services.cfdyndns = {
-
enable = mkEnableOption "Cloudflare Dynamic DNS Client";
email = mkOption {
type = types.str;
···
options = {
services.cfdyndns = {
+
enable = mkEnableOption (lib.mdDoc "Cloudflare Dynamic DNS Client");
email = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/cgminer.nix
···
services.cgminer = {
-
enable = mkEnableOption "cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin";
package = mkOption {
default = pkgs.cgminer;
···
services.cgminer = {
+
enable = mkEnableOption (lib.mdDoc "cgminer, an ASIC/FPGA/GPU miner for bitcoin and litecoin");
package = mkOption {
default = pkgs.cgminer;
+1 -1
nixos/modules/services/misc/clipcat.nix
···
in {
options.services.clipcat= {
-
enable = mkEnableOption "Clipcat clipboard daemon";
package = mkOption {
type = types.package;
···
in {
options.services.clipcat= {
+
enable = mkEnableOption (lib.mdDoc "Clipcat clipboard daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/clipmenu.nix
···
in {
options.services.clipmenu = {
-
enable = mkEnableOption "clipmenu, the clipboard management daemon";
package = mkOption {
type = types.package;
···
in {
options.services.clipmenu = {
+
enable = mkEnableOption (lib.mdDoc "clipmenu, the clipboard management daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/confd.nix
···
in {
options.services.confd = {
-
enable = mkEnableOption "confd service";
backend = mkOption {
description = lib.mdDoc "Confd config storage backend to use.";
···
in {
options.services.confd = {
+
enable = mkEnableOption (lib.mdDoc "confd service");
backend = mkOption {
description = lib.mdDoc "Confd config storage backend to use.";
+1 -1
nixos/modules/services/misc/devmon.nix
···
in {
options = {
services.devmon = {
-
enable = mkEnableOption "devmon, an automatic device mounting daemon";
};
};
···
in {
options = {
services.devmon = {
+
enable = mkEnableOption (lib.mdDoc "devmon, an automatic device mounting daemon");
};
};
+3 -3
nixos/modules/services/misc/disnix.nix
···
services.disnix = {
-
enable = mkEnableOption "Disnix";
enableMultiUser = mkOption {
type = types.bool;
···
description = lib.mdDoc "Whether to support multi-user mode by enabling the Disnix D-Bus service";
};
-
useWebServiceInterface = mkEnableOption "the DisnixWebService interface running on Apache Tomcat";
package = mkOption {
type = types.path;
···
defaultText = literalExpression "pkgs.disnix";
};
-
enableProfilePath = mkEnableOption "exposing the Disnix profiles in the system's PATH";
profiles = mkOption {
type = types.listOf types.str;
···
services.disnix = {
+
enable = mkEnableOption (lib.mdDoc "Disnix");
enableMultiUser = mkOption {
type = types.bool;
···
description = lib.mdDoc "Whether to support multi-user mode by enabling the Disnix D-Bus service";
};
+
useWebServiceInterface = mkEnableOption (lib.mdDoc "the DisnixWebService interface running on Apache Tomcat");
package = mkOption {
type = types.path;
···
defaultText = literalExpression "pkgs.disnix";
};
+
enableProfilePath = mkEnableOption (lib.mdDoc "exposing the Disnix profiles in the system's PATH");
profiles = mkOption {
type = types.listOf types.str;
+3 -3
nixos/modules/services/misc/docker-registry.nix
···
in {
options.services.dockerRegistry = {
-
enable = mkEnableOption "Docker Registry";
listenAddress = mkOption {
description = lib.mdDoc "Docker registry host or ip to bind to.";
···
description = lib.mdDoc "Enable delete for manifests and blobs.";
};
-
enableRedisCache = mkEnableOption "redis as blob cache";
redisUrl = mkOption {
type = types.str;
···
type = types.attrs;
};
-
enableGarbageCollect = mkEnableOption "garbage collect";
garbageCollectDates = mkOption {
default = "daily";
···
in {
options.services.dockerRegistry = {
+
enable = mkEnableOption (lib.mdDoc "Docker Registry");
listenAddress = mkOption {
description = lib.mdDoc "Docker registry host or ip to bind to.";
···
description = lib.mdDoc "Enable delete for manifests and blobs.";
};
+
enableRedisCache = mkEnableOption (lib.mdDoc "redis as blob cache");
redisUrl = mkOption {
type = types.str;
···
type = types.attrs;
};
+
enableGarbageCollect = mkEnableOption (lib.mdDoc "garbage collect");
garbageCollectDates = mkOption {
default = "daily";
+1 -1
nixos/modules/services/misc/domoticz.nix
···
options = {
services.domoticz = {
-
enable = mkEnableOption pkgDesc;
bind = mkOption {
type = types.str;
···
options = {
services.domoticz = {
+
enable = mkEnableOption (lib.mdDoc pkgDesc);
bind = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/duckling.nix
···
in {
options = {
services.duckling = {
-
enable = mkEnableOption "duckling";
port = mkOption {
type = types.port;
···
in {
options = {
services.duckling = {
+
enable = mkEnableOption (lib.mdDoc "duckling");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/misc/dwm-status.nix
···
services.dwm-status = {
-
enable = mkEnableOption "dwm-status user service";
package = mkOption {
type = types.package;
···
services.dwm-status = {
+
enable = mkEnableOption (lib.mdDoc "dwm-status user service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/etesync-dav.nix
···
in
{
options.services.etesync-dav = {
-
enable = mkEnableOption "etesync-dav";
host = mkOption {
type = types.str;
···
in
{
options.services.etesync-dav = {
+
enable = mkEnableOption (lib.mdDoc "etesync-dav");
host = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/felix.nix
···
services.felix = {
-
enable = mkEnableOption "the Apache Felix OSGi service";
bundles = mkOption {
type = types.listOf types.package;
···
services.felix = {
+
enable = mkEnableOption (lib.mdDoc "the Apache Felix OSGi service");
bundles = mkOption {
type = types.listOf types.package;
+1 -1
nixos/modules/services/misc/freeswitch.nix
···
in {
options = {
services.freeswitch = {
-
enable = mkEnableOption "FreeSWITCH";
enableReload = mkOption {
default = false;
type = types.bool;
···
in {
options = {
services.freeswitch = {
+
enable = mkEnableOption (lib.mdDoc "FreeSWITCH");
enableReload = mkOption {
default = false;
type = types.bool;
+1 -1
nixos/modules/services/misc/fstrim.nix
···
options = {
services.fstrim = {
-
enable = mkEnableOption "periodic SSD TRIM of mounted partitions in background";
interval = mkOption {
type = types.str;
···
options = {
services.fstrim = {
+
enable = mkEnableOption (lib.mdDoc "periodic SSD TRIM of mounted partitions in background");
interval = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/gammu-smsd.nix
···
options = {
services.gammu-smsd = {
-
enable = mkEnableOption "gammu-smsd daemon";
user = mkOption {
type = types.str;
···
options = {
services.gammu-smsd = {
+
enable = mkEnableOption (lib.mdDoc "gammu-smsd daemon");
user = mkOption {
type = types.str;
+2 -2
nixos/modules/services/misc/geoipupdate.nix
···
options = {
services.geoipupdate = {
-
enable = lib.mkEnableOption ''
periodic downloading of GeoIP databases using geoipupdate.
-
'';
interval = lib.mkOption {
type = lib.types.str;
···
options = {
services.geoipupdate = {
+
enable = lib.mkEnableOption (lib.mdDoc ''
periodic downloading of GeoIP databases using geoipupdate.
+
'');
interval = lib.mkOption {
type = lib.types.str;
+2 -2
nixos/modules/services/misc/gitit.nix
···
haskellPackages.wreq
]
'';
-
description = ''
Extra packages available to ghc when running gitit. The
value must be a function which receives the attrset defined
-
in <varname>haskellPackages</varname> as the sole argument.
'';
};
···
haskellPackages.wreq
]
'';
+
description = lib.mdDoc ''
Extra packages available to ghc when running gitit. The
value must be a function which receives the attrset defined
+
in {var}`haskellPackages` as the sole argument.
'';
};
+1 -1
nixos/modules/services/misc/greenclip.nix
···
in {
options.services.greenclip = {
-
enable = mkEnableOption "Greenclip daemon";
package = mkOption {
type = types.package;
···
in {
options.services.greenclip = {
+
enable = mkEnableOption (lib.mdDoc "Greenclip daemon");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/misc/heisenbridge.nix
···
in
{
options.services.heisenbridge = {
-
enable = mkEnableOption "the Matrix to IRC bridge";
package = mkOption {
type = types.package;
···
};
};
-
identd.enable = mkEnableOption "identd service support";
identd.port = mkOption {
type = types.port;
description = lib.mdDoc "identd listen port";
···
in
{
options.services.heisenbridge = {
+
enable = mkEnableOption (lib.mdDoc "the Matrix to IRC bridge");
package = mkOption {
type = types.package;
···
};
};
+
identd.enable = mkEnableOption (lib.mdDoc "identd service support");
identd.port = mkOption {
type = types.port;
description = lib.mdDoc "identd listen port";
+2 -2
nixos/modules/services/misc/ihaskell.nix
···
haskellPackages.lens
]
'';
-
description = ''
Extra packages available to ghc when running ihaskell. The
value must be a function which receives the attrset defined
-
in <varname>haskellPackages</varname> as the sole argument.
'';
};
};
···
haskellPackages.lens
]
'';
+
description = lib.mdDoc ''
Extra packages available to ghc when running ihaskell. The
value must be a function which receives the attrset defined
+
in {var}`haskellPackages` as the sole argument.
'';
};
};
+2 -2
nixos/modules/services/misc/input-remapper.nix
···
{
options = {
services.input-remapper = {
-
enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
package = options.mkPackageOption pkgs "input-remapper" { };
-
enableUdevRules = mkEnableOption "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140";
serviceWantedBy = mkOption {
default = [ "graphical.target" ];
example = [ "multi-user.target" ];
···
{
options = {
services.input-remapper = {
+
enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons.");
package = options.mkPackageOption pkgs "input-remapper" { };
+
enableUdevRules = mkEnableOption (lib.mdDoc "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140");
serviceWantedBy = mkOption {
default = [ "graphical.target" ];
example = [ "multi-user.target" ];
+1 -1
nixos/modules/services/misc/jackett.nix
···
{
options = {
services.jackett = {
-
enable = mkEnableOption "Jackett";
dataDir = mkOption {
type = types.str;
···
{
options = {
services.jackett = {
+
enable = mkEnableOption (lib.mdDoc "Jackett");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/jellyfin.nix
···
{
options = {
services.jellyfin = {
-
enable = mkEnableOption "Jellyfin Media Server";
user = mkOption {
type = types.str;
···
{
options = {
services.jellyfin = {
+
enable = mkEnableOption (lib.mdDoc "Jellyfin Media Server");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/klipper.nix
···
##### interface
options = {
services.klipper = {
-
enable = mkEnableOption "Klipper, the 3D printer firmware";
package = mkOption {
type = types.package;
···
##### interface
options = {
services.klipper = {
+
enable = mkEnableOption (lib.mdDoc "Klipper, the 3D printer firmware");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/leaps.nix
···
{
options = {
services.leaps = {
-
enable = mkEnableOption "leaps";
port = mkOption {
type = types.port;
default = 8080;
···
{
options = {
services.leaps = {
+
enable = mkEnableOption (lib.mdDoc "leaps");
port = mkOption {
type = types.port;
default = 8080;
+1 -1
nixos/modules/services/misc/libreddit.nix
···
{
options = {
services.libreddit = {
-
enable = mkEnableOption "Private front-end for Reddit";
address = mkOption {
default = "0.0.0.0";
···
{
options = {
services.libreddit = {
+
enable = mkEnableOption (lib.mdDoc "Private front-end for Reddit");
address = mkOption {
default = "0.0.0.0";
+1 -1
nixos/modules/services/misc/lidarr.nix
···
{
options = {
services.lidarr = {
-
enable = mkEnableOption "Lidarr";
dataDir = mkOption {
type = types.str;
···
{
options = {
services.lidarr = {
+
enable = mkEnableOption (lib.mdDoc "Lidarr");
dataDir = mkOption {
type = types.str;
+2 -2
nixos/modules/services/misc/lifecycled.nix
···
options = {
services.lifecycled = {
-
enable = mkEnableOption "lifecycled";
queueCleaner = {
-
enable = mkEnableOption "lifecycled-queue-cleaner";
frequency = mkOption {
type = types.str;
···
options = {
services.lifecycled = {
+
enable = mkEnableOption (lib.mdDoc "lifecycled");
queueCleaner = {
+
enable = mkEnableOption (lib.mdDoc "lifecycled-queue-cleaner");
frequency = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/logkeys.nix
···
cfg = config.services.logkeys;
in {
options.services.logkeys = {
-
enable = mkEnableOption "logkeys service";
device = mkOption {
description = lib.mdDoc "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
···
cfg = config.services.logkeys;
in {
options.services.logkeys = {
+
enable = mkEnableOption (lib.mdDoc "logkeys service");
device = mkOption {
description = lib.mdDoc "Use the given device as keyboard input event device instead of /dev/input/eventX default.";
+1 -1
nixos/modules/services/misc/mbpfan.nix
···
in {
options.services.mbpfan = {
-
enable = mkEnableOption "mbpfan, fan controller daemon for Apple Macs and MacBooks";
package = mkOption {
type = types.package;
···
in {
options.services.mbpfan = {
+
enable = mkEnableOption (lib.mdDoc "mbpfan, fan controller daemon for Apple Macs and MacBooks");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/metabase.nix
···
options = {
services.metabase = {
-
enable = mkEnableOption "Metabase service";
listen = {
ip = mkOption {
···
options = {
services.metabase = {
+
enable = mkEnableOption (lib.mdDoc "Metabase service");
listen = {
ip = mkOption {
+1 -1
nixos/modules/services/misc/moonraker.nix
···
in {
options = {
services.moonraker = {
-
enable = mkEnableOption "Moonraker, an API web server for Klipper";
klipperSocket = mkOption {
type = types.path;
···
in {
options = {
services.moonraker = {
+
enable = mkEnableOption (lib.mdDoc "Moonraker, an API web server for Klipper");
klipperSocket = mkOption {
type = types.path;
+2 -2
nixos/modules/services/misc/mx-puppet-discord.nix
···
in {
options = {
services.mx-puppet-discord = {
-
enable = mkEnableOption ''
mx-puppet-discord is a discord puppeting bridge for matrix.
It handles bridging private and group DMs, as well as Guilds (servers)
-
'';
settings = mkOption rec {
apply = recursiveUpdate default;
···
in {
options = {
services.mx-puppet-discord = {
+
enable = mkEnableOption (lib.mdDoc ''
mx-puppet-discord is a discord puppeting bridge for matrix.
It handles bridging private and group DMs, as well as Guilds (servers)
+
'');
settings = mkOption rec {
apply = recursiveUpdate default;
+1 -1
nixos/modules/services/misc/n8n.nix
···
{
options.services.n8n = {
-
enable = mkEnableOption "n8n server";
openFirewall = mkOption {
type = types.bool;
···
{
options.services.n8n = {
+
enable = mkEnableOption (lib.mdDoc "n8n server");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/misc/nitter.nix
···
{
options = {
services.nitter = {
-
enable = mkEnableOption "If enabled, start Nitter.";
package = mkOption {
default = pkgs.nitter;
···
{
options = {
services.nitter = {
+
enable = mkEnableOption (lib.mdDoc "If enabled, start Nitter.");
package = mkOption {
default = pkgs.nitter;
+8 -8
nixos/modules/services/misc/nix-daemon.nix
···
type = types.nullOr types.str;
default = null;
example = "x86_64-linux";
-
description = ''
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
both are set.
'';
};
···
type = types.listOf types.str;
default = [ ];
example = [ "x86_64-linux" "aarch64-linux" ];
-
description = ''
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
both are set.
'';
};
···
type = types.listOf types.str;
default = [ ];
example = [ "big-parallel" ];
-
description = ''
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>.
'';
};
supportedFeatures = mkOption {
···
type = types.nullOr types.str;
default = null;
example = "x86_64-linux";
+
description = lib.mdDoc ''
The system type the build machine can execute derivations on.
+
Either this attribute or {var}`systems` must be
+
present, where {var}`system` takes precedence if
both are set.
'';
};
···
type = types.listOf types.str;
default = [ ];
example = [ "x86_64-linux" "aarch64-linux" ];
+
description = lib.mdDoc ''
The system types the build machine can execute derivations on.
+
Either this attribute or {var}`system` must be
+
present, where {var}`system` takes precedence if
both are set.
'';
};
···
type = types.listOf types.str;
default = [ ];
example = [ "big-parallel" ];
+
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
+
{var}`supportedFeatures`.
'';
};
supportedFeatures = mkOption {
+1 -1
nixos/modules/services/misc/novacomd.nix
···
options = {
services.novacomd = {
-
enable = mkEnableOption "Novacom service for connecting to WebOS devices";
};
};
···
options = {
services.novacomd = {
+
enable = mkEnableOption (lib.mdDoc "Novacom service for connecting to WebOS devices");
};
};
+1 -1
nixos/modules/services/misc/nzbget.nix
···
options = {
services.nzbget = {
-
enable = mkEnableOption "NZBGet";
user = mkOption {
type = types.str;
···
options = {
services.nzbget = {
+
enable = mkEnableOption (lib.mdDoc "NZBGet");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/nzbhydra2.nix
···
in {
options = {
services.nzbhydra2 = {
-
enable = mkEnableOption "NZBHydra2";
dataDir = mkOption {
type = types.str;
···
in {
options = {
services.nzbhydra2 = {
+
enable = mkEnableOption (lib.mdDoc "NZBHydra2");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/octoprint.nix
···
services.octoprint = {
-
enable = mkEnableOption "OctoPrint, web interface for 3D printers";
host = mkOption {
type = types.str;
···
services.octoprint = {
+
enable = mkEnableOption (lib.mdDoc "OctoPrint, web interface for 3D printers");
host = mkOption {
type = types.str;
+3 -3
nixos/modules/services/misc/ombi.nix
···
in {
options = {
services.ombi = {
-
enable = mkEnableOption ''
Ombi.
-
Optionally see <link xlink:href="https://docs.ombi.app/info/reverse-proxy"/>
on how to set up a reverse proxy
-
'';
dataDir = mkOption {
type = types.str;
···
in {
options = {
services.ombi = {
+
enable = mkEnableOption (lib.mdDoc ''
Ombi.
+
Optionally see <https://docs.ombi.app/info/reverse-proxy>
on how to set up a reverse proxy
+
'');
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/owncast.nix
···
options.services.owncast = {
-
enable = mkEnableOption "owncast";
dataDir = mkOption {
type = types.str;
···
options.services.owncast = {
+
enable = mkEnableOption (lib.mdDoc "owncast");
dataDir = mkOption {
type = types.str;
+2 -2
nixos/modules/services/misc/packagekit.nix
···
];
options.services.packagekit = {
-
enable = mkEnableOption ''
PackageKit provides a cross-platform D-Bus abstraction layer for
installing software. Software utilizing PackageKit can install
software regardless of the package manager.
-
'';
settings = mkOption {
type = iniFmt.type;
···
];
options.services.packagekit = {
+
enable = mkEnableOption (lib.mdDoc ''
PackageKit provides a cross-platform D-Bus abstraction layer for
installing software. Software utilizing PackageKit can install
software regardless of the package manager.
+
'');
settings = mkOption {
type = iniFmt.type;
+1 -1
nixos/modules/services/misc/persistent-evdev.nix
···
in
{
options.services.persistent-evdev = {
-
enable = lib.mkEnableOption "virtual input devices that persist even if the backing device is hotplugged";
devices = lib.mkOption {
default = {};
···
in
{
options.services.persistent-evdev = {
+
enable = lib.mkEnableOption (lib.mdDoc "virtual input devices that persist even if the backing device is hotplugged");
devices = lib.mkOption {
default = {};
+1 -1
nixos/modules/services/misc/pinnwand.nix
···
in
{
options.services.pinnwand = {
-
enable = mkEnableOption "Pinnwand";
port = mkOption {
type = types.port;
···
in
{
options.services.pinnwand = {
+
enable = mkEnableOption (lib.mdDoc "Pinnwand");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/misc/plex.nix
···
options = {
services.plex = {
-
enable = mkEnableOption "Plex Media Server";
dataDir = mkOption {
type = types.str;
···
options = {
services.plex = {
+
enable = mkEnableOption (lib.mdDoc "Plex Media Server");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/plikd.nix
···
{
options = {
services.plikd = {
-
enable = mkEnableOption "the plikd server";
openFirewall = mkOption {
type = types.bool;
···
{
options = {
services.plikd = {
+
enable = mkEnableOption (lib.mdDoc "the plikd server");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/misc/podgrab.nix
···
in
{
options.services.podgrab = with lib; {
-
enable = mkEnableOption "Podgrab, a self-hosted podcast manager";
passwordFile = mkOption {
type = with types; nullOr str;
···
in
{
options.services.podgrab = with lib; {
+
enable = mkEnableOption (lib.mdDoc "Podgrab, a self-hosted podcast manager");
passwordFile = mkOption {
type = with types; nullOr str;
+1 -1
nixos/modules/services/misc/polaris.nix
···
{
options = {
services.polaris = {
-
enable = mkEnableOption "Polaris Music Server";
package = mkPackageOption pkgs "polaris" { };
···
{
options = {
services.polaris = {
+
enable = mkEnableOption (lib.mdDoc "Polaris Music Server");
package = mkPackageOption pkgs "polaris" { };
+27 -27
nixos/modules/services/misc/portunus.nix
···
in
{
options.services.portunus = {
-
enable = mkEnableOption "Portunus, a self-contained user/group management and authentication service for LDAP";
domain = mkOption {
type = types.str;
example = "sso.example.com";
-
description = "Subdomain which gets reverse proxied to Portunus webserver.";
};
port = mkOption {
type = types.port;
default = 8080;
-
description = ''
Port where the Portunus webserver should listen on.
This must be put behind a TLS-capable reverse proxy because Portunus only listens on localhost.
···
type = types.package;
default = pkgs.portunus;
defaultText = "pkgs.portunus";
-
description = "The Portunus package to use.";
};
seedPath = mkOption {
type = types.nullOr types.path;
default = null;
-
description = ''
Path to a portunus seed file in json format.
-
See <link xlink:href="https://github.com/majewsky/portunus#seeding-users-and-groups-from-static-configuration"/> for available options.
'';
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/portunus";
-
description = "Path where Portunus stores its state.";
};
user = mkOption {
type = types.str;
default = "portunus";
-
description = "User account under which Portunus runs its webserver.";
};
group = mkOption {
type = types.str;
default = "portunus";
-
description = "Group account under which Portunus runs its webserver.";
};
dex = {
-
enable = mkEnableOption ''
Dex ldap connector.
To activate dex, first a search user must be created in the Portunus web ui
-
and then the password must to be set as the <literal>DEX_SEARCH_USER_PASSWORD</literal> environment variable
-
in the <xref linkend="opt-services.dex.environmentFile"/> setting.
-
'';
oidcClients = mkOption {
type = types.listOf (types.submodule {
options = {
callbackURL = mkOption {
type = types.str;
-
description = "URL where the OIDC client should redirect";
};
id = mkOption {
type = types.str;
-
description = "ID of the OIDC client";
};
};
});
···
id = "service";
}
];
-
description = ''
List of OIDC clients.
-
The OIDC secret must be set as the <literal>DEX_CLIENT_''${id}</literal> environment variable
-
in the <xref linkend="opt-services.dex.environmentFile"/> setting.
'';
};
port = mkOption {
type = types.port;
default = 5556;
-
description = "Port where dex should listen on.";
};
};
···
type = types.package;
default = pkgs.openldap;
defaultText = "pkgs.openldap";
-
description = "The OpenLDAP package to use.";
};
searchUserName = mkOption {
type = types.str;
default = "";
example = "admin";
-
description = ''
The login name of the search user.
This user account must be configured in Portunus either manually or via seeding.
'';
···
suffix = mkOption {
type = types.str;
example = "dc=example,dc=org";
-
description = ''
The DN of the topmost entry in your LDAP directory.
Please refer to the Portunus documentation for more information on how this impacts the structure of the LDAP directory.
'';
···
tls = mkOption {
type = types.bool;
default = false;
-
description = ''
Wether to enable LDAPS protocol.
-
This also adds two entries to the <literal>/etc/hosts</literal> file to point <xref linkend="opt-services.portunus.domain"/> to localhost,
so that CLIs and programs can use ldaps protocol and verify the certificate without opening the firewall port for the protocol.
-
This requires a TLS certificate for <xref linkend="opt-services.portunus.domain"/> to be configured via <xref linkend="opt-security.acme.certs"/>.
'';
};
user = mkOption {
type = types.str;
default = "openldap";
-
description = "User account under which Portunus runs its LDAP server.";
};
group = mkOption {
type = types.str;
default = "openldap";
-
description = "Group account under which Portunus runs its LDAP server.";
};
};
};
···
in
{
options.services.portunus = {
+
enable = mkEnableOption (lib.mdDoc "Portunus, a self-contained user/group management and authentication service for LDAP");
domain = mkOption {
type = types.str;
example = "sso.example.com";
+
description = lib.mdDoc "Subdomain which gets reverse proxied to Portunus webserver.";
};
port = mkOption {
type = types.port;
default = 8080;
+
description = lib.mdDoc ''
Port where the Portunus webserver should listen on.
This must be put behind a TLS-capable reverse proxy because Portunus only listens on localhost.
···
type = types.package;
default = pkgs.portunus;
defaultText = "pkgs.portunus";
+
description = lib.mdDoc "The Portunus package to use.";
};
seedPath = mkOption {
type = types.nullOr types.path;
default = null;
+
description = lib.mdDoc ''
Path to a portunus seed file in json format.
+
See <https://github.com/majewsky/portunus#seeding-users-and-groups-from-static-configuration> for available options.
'';
};
stateDir = mkOption {
type = types.path;
default = "/var/lib/portunus";
+
description = lib.mdDoc "Path where Portunus stores its state.";
};
user = mkOption {
type = types.str;
default = "portunus";
+
description = lib.mdDoc "User account under which Portunus runs its webserver.";
};
group = mkOption {
type = types.str;
default = "portunus";
+
description = lib.mdDoc "Group account under which Portunus runs its webserver.";
};
dex = {
+
enable = mkEnableOption (lib.mdDoc ''
Dex ldap connector.
To activate dex, first a search user must be created in the Portunus web ui
+
and then the password must to be set as the `DEX_SEARCH_USER_PASSWORD` environment variable
+
in the [](#opt-services.dex.environmentFile) setting.
+
'');
oidcClients = mkOption {
type = types.listOf (types.submodule {
options = {
callbackURL = mkOption {
type = types.str;
+
description = lib.mdDoc "URL where the OIDC client should redirect";
};
id = mkOption {
type = types.str;
+
description = lib.mdDoc "ID of the OIDC client";
};
};
});
···
id = "service";
}
];
+
description = lib.mdDoc ''
List of OIDC clients.
+
The OIDC secret must be set as the `DEX_CLIENT_''${id}` environment variable
+
in the [](#opt-services.dex.environmentFile) setting.
'';
};
port = mkOption {
type = types.port;
default = 5556;
+
description = lib.mdDoc "Port where dex should listen on.";
};
};
···
type = types.package;
default = pkgs.openldap;
defaultText = "pkgs.openldap";
+
description = lib.mdDoc "The OpenLDAP package to use.";
};
searchUserName = mkOption {
type = types.str;
default = "";
example = "admin";
+
description = lib.mdDoc ''
The login name of the search user.
This user account must be configured in Portunus either manually or via seeding.
'';
···
suffix = mkOption {
type = types.str;
example = "dc=example,dc=org";
+
description = lib.mdDoc ''
The DN of the topmost entry in your LDAP directory.
Please refer to the Portunus documentation for more information on how this impacts the structure of the LDAP directory.
'';
···
tls = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Wether to enable LDAPS protocol.
+
This also adds two entries to the `/etc/hosts` file to point [](#opt-services.portunus.domain) to localhost,
so that CLIs and programs can use ldaps protocol and verify the certificate without opening the firewall port for the protocol.
+
This requires a TLS certificate for [](#opt-services.portunus.domain) to be configured via [](#opt-security.acme.certs).
'';
};
user = mkOption {
type = types.str;
default = "openldap";
+
description = lib.mdDoc "User account under which Portunus runs its LDAP server.";
};
group = mkOption {
type = types.str;
default = "openldap";
+
description = lib.mdDoc "Group account under which Portunus runs its LDAP server.";
};
};
};
+1 -1
nixos/modules/services/misc/prowlarr.nix
···
{
options = {
services.prowlarr = {
-
enable = mkEnableOption "Prowlarr";
openFirewall = mkOption {
type = types.bool;
···
{
options = {
services.prowlarr = {
+
enable = mkEnableOption (lib.mdDoc "Prowlarr");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/misc/radarr.nix
···
{
options = {
services.radarr = {
-
enable = mkEnableOption "Radarr";
package = mkOption {
description = lib.mdDoc "Radarr package to use";
···
{
options = {
services.radarr = {
+
enable = mkEnableOption (lib.mdDoc "Radarr");
package = mkOption {
description = lib.mdDoc "Radarr package to use";
+1 -1
nixos/modules/services/misc/redmine.nix
···
# interface
options = {
services.redmine = {
-
enable = mkEnableOption "Redmine";
package = mkOption {
type = types.package;
···
# interface
options = {
services.redmine = {
+
enable = mkEnableOption (lib.mdDoc "Redmine");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/ripple-data-api.nix
···
in {
options = {
services.rippleDataApi = {
-
enable = mkEnableOption "ripple data api";
port = mkOption {
description = lib.mdDoc "Ripple data api port";
···
in {
options = {
services.rippleDataApi = {
+
enable = mkEnableOption (lib.mdDoc "ripple data api");
port = mkOption {
description = lib.mdDoc "Ripple data api port";
+2 -2
nixos/modules/services/misc/rippled.nix
···
options = {
services.rippled = {
-
enable = mkEnableOption "rippled";
package = mkOption {
description = lib.mdDoc "Which rippled package to use.";
···
};
statsd = {
-
enable = mkEnableOption "statsd monitoring for rippled";
address = mkOption {
description = lib.mdDoc "The UDP address and port of the listening StatsD server.";
···
options = {
services.rippled = {
+
enable = mkEnableOption (lib.mdDoc "rippled");
package = mkOption {
description = lib.mdDoc "Which rippled package to use.";
···
};
statsd = {
+
enable = mkEnableOption (lib.mdDoc "statsd monitoring for rippled");
address = mkOption {
description = lib.mdDoc "The UDP address and port of the listening StatsD server.";
+1 -1
nixos/modules/services/misc/rmfakecloud.nix
···
in {
options = {
services.rmfakecloud = {
-
enable = mkEnableOption "rmfakecloud remarkable self-hosted cloud";
package = mkOption {
type = types.package;
···
in {
options = {
services.rmfakecloud = {
+
enable = mkEnableOption (lib.mdDoc "rmfakecloud remarkable self-hosted cloud");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/safeeyes.nix
···
services.safeeyes = {
-
enable = mkEnableOption "the safeeyes OSGi service";
};
···
services.safeeyes = {
+
enable = mkEnableOption (lib.mdDoc "the safeeyes OSGi service");
};
+1 -1
nixos/modules/services/misc/signald.nix
···
in
{
options.services.signald = {
-
enable = mkEnableOption "the signald service";
user = mkOption {
type = types.str;
···
in
{
options.services.signald = {
+
enable = mkEnableOption (lib.mdDoc "the signald service");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/sonarr.nix
···
{
options = {
services.sonarr = {
-
enable = mkEnableOption "Sonarr";
dataDir = mkOption {
type = types.str;
···
{
options = {
services.sonarr = {
+
enable = mkEnableOption (lib.mdDoc "Sonarr");
dataDir = mkOption {
type = types.str;
+16 -16
nixos/modules/services/misc/sourcehut/default.nix
···
type = types.str;
default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
};
-
migrate-on-upgrade = mkEnableOption "automatic migrations on package upgrade" // { default = true; };
oauth-client-id = mkOption {
description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
type = types.str;
···
in
{
options.services.sourcehut = {
-
enable = mkEnableOption ''
sourcehut - git hosting, continuous integration, mailing list, ticket tracking,
task dispatching, wiki and account management services
-
'';
services = mkOption {
type = with types; listOf (enum
···
};
minio = {
-
enable = mkEnableOption ''local minio integration'';
};
nginx = {
-
enable = mkEnableOption ''local nginx integration'';
virtualHost = mkOption {
type = types.attrs;
default = {};
···
};
postfix = {
-
enable = mkEnableOption ''local postfix integration'';
};
postgresql = {
-
enable = mkEnableOption ''local postgresql integration'';
};
redis = {
-
enable = mkEnableOption ''local redis integration in a dedicated redis-server'';
};
settings = mkOption {
···
oauth-client-secret = mkOptionNullOrStr "OAuth client secret.";
};
options."dispatch.sr.ht::gitlab" = {
-
enabled = mkEnableOption "GitLab integration";
canonical-upstream = mkOption {
type = types.str;
description = lib.mdDoc "Canonical upstream.";
···
};
options."builds.sr.ht" = commonServiceSettings "builds" // {
-
allow-free = mkEnableOption "nonpaying users to submit builds";
redis = mkOption {
description = lib.mdDoc "The Redis connection used for the Celery worker.";
type = types.str;
···
};
options."lists.sr.ht" = commonServiceSettings "lists" // {
-
allow-new-lists = mkEnableOption "Allow creation of new lists.";
notify-from = mkOption {
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
···
type = types.str;
default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
};
-
welcome-emails = mkEnableOption "sending stock sourcehut welcome emails after signup";
};
options."meta.sr.ht::api" = {
internal-ipnet = mkOption {
···
example = { "git.sr.ht" = 12345; };
};
options."meta.sr.ht::billing" = {
-
enabled = mkEnableOption "the billing system";
stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys";
stripe-secret-key = mkOptionNullOrStr ''
An absolute file path (which should be outside the Nix-store)
···
};
};
options."meta.sr.ht::settings" = {
-
registration = mkEnableOption "public registration";
onboarding-redirect = mkOption {
description = lib.mdDoc "Where to redirect new users upon registration.";
type = types.str;
···
default = 1024;
};
user-domain = mkOption {
-
description = ''
Configures the user domain, if enabled.
-
All users are given &lt;username&gt;.this.domain.
'';
type = with types; nullOr str;
default = null;
···
type = types.str;
default = "postgresql:///localhost?user=${srv}srht&host=/run/postgresql";
};
+
migrate-on-upgrade = mkEnableOption (lib.mdDoc "automatic migrations on package upgrade") // { default = true; };
oauth-client-id = mkOption {
description = lib.mdDoc "${srv}.sr.ht's OAuth client id for meta.sr.ht.";
type = types.str;
···
in
{
options.services.sourcehut = {
+
enable = mkEnableOption (lib.mdDoc ''
sourcehut - git hosting, continuous integration, mailing list, ticket tracking,
task dispatching, wiki and account management services
+
'');
services = mkOption {
type = with types; listOf (enum
···
};
minio = {
+
enable = mkEnableOption (lib.mdDoc ''local minio integration'');
};
nginx = {
+
enable = mkEnableOption (lib.mdDoc ''local nginx integration'');
virtualHost = mkOption {
type = types.attrs;
default = {};
···
};
postfix = {
+
enable = mkEnableOption (lib.mdDoc ''local postfix integration'');
};
postgresql = {
+
enable = mkEnableOption (lib.mdDoc ''local postgresql integration'');
};
redis = {
+
enable = mkEnableOption (lib.mdDoc ''local redis integration in a dedicated redis-server'');
};
settings = mkOption {
···
oauth-client-secret = mkOptionNullOrStr "OAuth client secret.";
};
options."dispatch.sr.ht::gitlab" = {
+
enabled = mkEnableOption (lib.mdDoc "GitLab integration");
canonical-upstream = mkOption {
type = types.str;
description = lib.mdDoc "Canonical upstream.";
···
};
options."builds.sr.ht" = commonServiceSettings "builds" // {
+
allow-free = mkEnableOption (lib.mdDoc "nonpaying users to submit builds");
redis = mkOption {
description = lib.mdDoc "The Redis connection used for the Celery worker.";
type = types.str;
···
};
options."lists.sr.ht" = commonServiceSettings "lists" // {
+
allow-new-lists = mkEnableOption (lib.mdDoc "Allow creation of new lists.");
notify-from = mkOption {
description = lib.mdDoc "Outgoing email for notifications generated by users.";
type = types.str;
···
type = types.str;
default = "redis+socket:///run/redis-sourcehut-metasrht/redis.sock?virtual_host=1";
};
+
welcome-emails = mkEnableOption (lib.mdDoc "sending stock sourcehut welcome emails after signup");
};
options."meta.sr.ht::api" = {
internal-ipnet = mkOption {
···
example = { "git.sr.ht" = 12345; };
};
options."meta.sr.ht::billing" = {
+
enabled = mkEnableOption (lib.mdDoc "the billing system");
stripe-public-key = mkOptionNullOrStr "Public key for Stripe. Get your keys at https://dashboard.stripe.com/account/apikeys";
stripe-secret-key = mkOptionNullOrStr ''
An absolute file path (which should be outside the Nix-store)
···
};
};
options."meta.sr.ht::settings" = {
+
registration = mkEnableOption (lib.mdDoc "public registration");
onboarding-redirect = mkOption {
description = lib.mdDoc "Where to redirect new users upon registration.";
type = types.str;
···
default = 1024;
};
user-domain = mkOption {
+
description = lib.mdDoc ''
Configures the user domain, if enabled.
+
All users are given \<username\>.this.domain.
'';
type = with types; nullOr str;
default = null;
+1 -1
nixos/modules/services/misc/sourcehut/service.nix
···
in
{
options.services.sourcehut.${srv} = {
-
enable = mkEnableOption "${srv} service";
user = mkOption {
type = types.str;
···
in
{
options.services.sourcehut.${srv} = {
+
enable = mkEnableOption (lib.mdDoc "${srv} service");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/spice-vdagentd.nix
···
{
options = {
services.spice-vdagentd = {
-
enable = mkEnableOption "Spice guest vdagent daemon";
};
};
···
{
options = {
services.spice-vdagentd = {
+
enable = mkEnableOption (lib.mdDoc "Spice guest vdagent daemon");
};
};
+2 -2
nixos/modules/services/misc/spice-webdavd.nix
···
{
options = {
services.spice-webdavd = {
-
enable = mkEnableOption "the spice guest webdav proxy daemon";
package = mkOption {
default = pkgs.phodav;
defaultText = literalExpression "pkgs.phodav";
type = types.package;
-
description = "spice-webdavd provider package to use.";
};
};
};
···
{
options = {
services.spice-webdavd = {
+
enable = mkEnableOption (lib.mdDoc "the spice guest webdav proxy daemon");
package = mkOption {
default = pkgs.phodav;
defaultText = literalExpression "pkgs.phodav";
type = types.package;
+
description = lib.mdDoc "spice-webdavd provider package to use.";
};
};
};
+1 -1
nixos/modules/services/misc/ssm-agent.nix
···
'';
in {
options.services.ssm-agent = {
-
enable = mkEnableOption "AWS SSM agent";
package = mkOption {
type = types.path;
···
'';
in {
options.services.ssm-agent = {
+
enable = mkEnableOption (lib.mdDoc "AWS SSM agent");
package = mkOption {
type = types.path;
+1 -1
nixos/modules/services/misc/sssd.nix
···
in {
options = {
services.sssd = {
-
enable = mkEnableOption "the System Security Services Daemon";
config = mkOption {
type = types.lines;
···
in {
options = {
services.sssd = {
+
enable = mkEnableOption (lib.mdDoc "the System Security Services Daemon");
config = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/misc/subsonic.nix
···
in {
options = {
services.subsonic = {
-
enable = mkEnableOption "Subsonic daemon";
home = mkOption {
type = types.path;
···
in {
options = {
services.subsonic = {
+
enable = mkEnableOption (lib.mdDoc "Subsonic daemon");
home = mkOption {
type = types.path;
+1 -1
nixos/modules/services/misc/sundtek.nix
···
in
{
options.services.sundtek = {
-
enable = mkEnableOption "Sundtek driver";
};
config = mkIf cfg.enable {
···
in
{
options.services.sundtek = {
+
enable = mkEnableOption (lib.mdDoc "Sundtek driver");
};
config = mkIf cfg.enable {
+2 -2
nixos/modules/services/misc/synergy.nix
···
# !!! All these option descriptions needs to be cleaned up.
client = {
-
enable = mkEnableOption "the Synergy client (receive keyboard and mouse events from a Synergy server)";
screenName = mkOption {
default = "";
···
};
server = {
-
enable = mkEnableOption "the Synergy server (send keyboard and mouse events)";
configFile = mkOption {
type = types.path;
···
# !!! All these option descriptions needs to be cleaned up.
client = {
+
enable = mkEnableOption (lib.mdDoc "the Synergy client (receive keyboard and mouse events from a Synergy server)");
screenName = mkOption {
default = "";
···
};
server = {
+
enable = mkEnableOption (lib.mdDoc "the Synergy server (send keyboard and mouse events)");
configFile = mkOption {
type = types.path;
+1 -1
nixos/modules/services/misc/sysprof.nix
···
{
options = {
services.sysprof = {
-
enable = lib.mkEnableOption "sysprof profiling daemon";
};
};
···
{
options = {
services.sysprof = {
+
enable = lib.mkEnableOption (lib.mdDoc "sysprof profiling daemon");
};
};
+1 -1
nixos/modules/services/misc/tautulli.nix
···
options = {
services.tautulli = {
-
enable = mkEnableOption "Tautulli Plex Monitor";
dataDir = mkOption {
type = types.str;
···
options = {
services.tautulli = {
+
enable = mkEnableOption (lib.mdDoc "Tautulli Plex Monitor");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/misc/tiddlywiki.nix
···
options.services.tiddlywiki = {
-
enable = mkEnableOption "TiddlyWiki nodejs server";
listenOptions = mkOption {
type = types.attrs;
···
options.services.tiddlywiki = {
+
enable = mkEnableOption (lib.mdDoc "TiddlyWiki nodejs server");
listenOptions = mkOption {
type = types.attrs;
+1 -1
nixos/modules/services/misc/tp-auto-kbbl.nix
···
options = {
services.tp-auto-kbbl = {
-
enable = mkEnableOption "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux";
package = mkOption {
type = types.package;
···
options = {
services.tp-auto-kbbl = {
+
enable = mkEnableOption (lib.mdDoc "Auto toggle keyboard back-lighting on Thinkpads (and maybe other laptops) for Linux");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/misc/uhub.nix
···
type = types.attrsOf (types.submodule {
options = {
-
enable = mkEnableOption "hub instance" // { default = true; };
enableTLS = mkOption {
type = types.bool;
···
type = types.attrsOf (types.submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc "hub instance") // { default = true; };
enableTLS = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/misc/weechat.nix
···
{
options.services.weechat = {
-
enable = mkEnableOption "weechat";
root = mkOption {
description = lib.mdDoc "Weechat state directory.";
type = types.str;
···
{
options.services.weechat = {
+
enable = mkEnableOption (lib.mdDoc "weechat");
root = mkOption {
description = lib.mdDoc "Weechat state directory.";
type = types.str;
+3 -3
nixos/modules/services/misc/xmr-stak.nix
···
{
options = {
services.xmr-stak = {
-
enable = mkEnableOption "xmr-stak miner";
-
openclSupport = mkEnableOption "support for OpenCL (AMD/ATI graphics cards)";
-
cudaSupport = mkEnableOption "support for CUDA (NVidia graphics cards)";
extraArgs = mkOption {
type = types.listOf types.str;
···
{
options = {
services.xmr-stak = {
+
enable = mkEnableOption (lib.mdDoc "xmr-stak miner");
+
openclSupport = mkEnableOption (lib.mdDoc "support for OpenCL (AMD/ATI graphics cards)");
+
cudaSupport = mkEnableOption (lib.mdDoc "support for CUDA (NVidia graphics cards)");
extraArgs = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/misc/xmrig.nix
···
{
options = {
services.xmrig = {
-
enable = mkEnableOption "XMRig Mining Software";
package = mkOption {
type = types.package;
···
{
options = {
services.xmrig = {
+
enable = mkEnableOption (lib.mdDoc "XMRig Mining Software");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/monitoring/alerta.nix
···
in
{
options.services.alerta = {
-
enable = mkEnableOption "alerta";
port = mkOption {
type = types.int;
···
in
{
options.services.alerta = {
+
enable = mkEnableOption (lib.mdDoc "alerta");
port = mkOption {
type = types.int;
+1 -1
nixos/modules/services/monitoring/collectd.nix
···
in {
options.services.collectd = with types; {
-
enable = mkEnableOption "collectd agent";
validateConfig = mkOption {
default = true;
···
in {
options.services.collectd = with types; {
+
enable = mkEnableOption (lib.mdDoc "collectd agent");
validateConfig = mkOption {
default = true;
+1 -1
nixos/modules/services/monitoring/das_watchdog.nix
···
###### interface
options = {
-
services.das_watchdog.enable = mkEnableOption "realtime watchdog";
};
###### implementation
···
###### interface
options = {
+
services.das_watchdog.enable = mkEnableOption (lib.mdDoc "realtime watchdog");
};
###### implementation
+1 -1
nixos/modules/services/monitoring/do-agent.nix
···
in
{
options.services.do-agent = {
-
enable = mkEnableOption "do-agent, the DigitalOcean droplet metrics agent";
};
config = mkIf cfg.enable {
···
in
{
options.services.do-agent = {
+
enable = mkEnableOption (lib.mdDoc "do-agent, the DigitalOcean droplet metrics agent");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/monitoring/fusion-inventory.nix
···
services.fusionInventory = {
-
enable = mkEnableOption "Fusion Inventory Agent";
servers = mkOption {
type = types.listOf types.str;
···
services.fusionInventory = {
+
enable = mkEnableOption (lib.mdDoc "Fusion Inventory Agent");
servers = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/monitoring/grafana-agent.nix
···
};
options.services.grafana-agent = {
-
enable = mkEnableOption "grafana-agent";
package = mkOption {
type = types.package;
···
};
options.services.grafana-agent = {
+
enable = mkEnableOption (lib.mdDoc "grafana-agent");
package = mkOption {
type = types.package;
+3 -3
nixos/modules/services/monitoring/grafana-image-renderer.nix
···
configFile = format.generate "grafana-image-renderer-config.json" cfg.settings;
in {
options.services.grafana-image-renderer = {
-
enable = mkEnableOption "grafana-image-renderer";
chromium = mkOption {
type = types.package;
···
'';
};
-
verbose = mkEnableOption "verbosity for the service";
-
provisionGrafana = mkEnableOption "Grafana configuration for grafana-image-renderer";
settings = mkOption {
type = types.submodule {
···
configFile = format.generate "grafana-image-renderer-config.json" cfg.settings;
in {
options.services.grafana-image-renderer = {
+
enable = mkEnableOption (lib.mdDoc "grafana-image-renderer");
chromium = mkOption {
type = types.package;
···
'';
};
+
verbose = mkEnableOption (lib.mdDoc "verbosity for the service");
+
provisionGrafana = mkEnableOption (lib.mdDoc "Grafana configuration for grafana-image-renderer");
settings = mkOption {
type = types.submodule {
+1 -1
nixos/modules/services/monitoring/grafana-reporter.nix
···
in {
options.services.grafana_reporter = {
-
enable = mkEnableOption "grafana_reporter";
grafana = {
protocol = mkOption {
···
in {
options.services.grafana_reporter = {
+
enable = mkEnableOption (lib.mdDoc "grafana_reporter");
grafana = {
protocol = mkOption {
+3 -3
nixos/modules/services/monitoring/grafana.nix
···
};
in {
options.services.grafana = {
-
enable = mkEnableOption "grafana";
protocol = mkOption {
description = lib.mdDoc "Which protocol to listen.";
···
};
provision = {
-
enable = mkEnableOption "provision";
datasources = mkOption {
description = lib.mdDoc "Grafana datasources configuration.";
default = [];
···
};
smtp = {
-
enable = mkEnableOption "smtp";
host = mkOption {
description = lib.mdDoc "Host to connect to.";
default = "localhost:25";
···
};
in {
options.services.grafana = {
+
enable = mkEnableOption (lib.mdDoc "grafana");
protocol = mkOption {
description = lib.mdDoc "Which protocol to listen.";
···
};
provision = {
+
enable = mkEnableOption (lib.mdDoc "provision");
datasources = mkOption {
description = lib.mdDoc "Grafana datasources configuration.";
default = [];
···
};
smtp = {
+
enable = mkEnableOption (lib.mdDoc "smtp");
host = mkOption {
description = lib.mdDoc "Host to connect to.";
default = "localhost:25";
+2 -2
nixos/modules/services/monitoring/hdaps.nix
···
{
options = {
services.hdapsd.enable = mkEnableOption
-
''
Hard Drive Active Protection System Daemon,
devices are detected and managed automatically by udev and systemd
-
'';
};
config = mkIf cfg.enable {
···
{
options = {
services.hdapsd.enable = mkEnableOption
+
(lib.mdDoc ''
Hard Drive Active Protection System Daemon,
devices are detected and managed automatically by udev and systemd
+
'');
};
config = mkIf cfg.enable {
+2 -2
nixos/modules/services/monitoring/incron.nix
···
enable = mkOption {
type = types.bool;
default = false;
-
description = ''
Whether to enable the incron daemon.
-
Note that commands run under incrontab only support common Nix profiles for the <envar>PATH</envar> provided variable.
'';
};
···
enable = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Whether to enable the incron daemon.
+
Note that commands run under incrontab only support common Nix profiles for the {env}`PATH` provided variable.
'';
};
+3 -3
nixos/modules/services/monitoring/kapacitor.nix
···
in
{
options.services.kapacitor = {
-
enable = mkEnableOption "kapacitor";
dataDir = mkOption {
type = types.path;
···
};
defaultDatabase = {
-
enable = mkEnableOption "kapacitor.defaultDatabase";
url = mkOption {
description = lib.mdDoc "The URL to an InfluxDB server that serves as the default database";
···
};
alerta = {
-
enable = mkEnableOption "kapacitor alerta integration";
url = mkOption {
description = lib.mdDoc "The URL to the Alerta REST API";
···
in
{
options.services.kapacitor = {
+
enable = mkEnableOption (lib.mdDoc "kapacitor");
dataDir = mkOption {
type = types.path;
···
};
defaultDatabase = {
+
enable = mkEnableOption (lib.mdDoc "kapacitor.defaultDatabase");
url = mkOption {
description = lib.mdDoc "The URL to an InfluxDB server that serves as the default database";
···
};
alerta = {
+
enable = mkEnableOption (lib.mdDoc "kapacitor alerta integration");
url = mkOption {
description = lib.mdDoc "The URL to the Alerta REST API";
+1 -1
nixos/modules/services/monitoring/loki.nix
···
in {
options.services.loki = {
-
enable = mkEnableOption "loki";
user = mkOption {
type = types.str;
···
in {
options.services.loki = {
+
enable = mkEnableOption (lib.mdDoc "loki");
user = mkOption {
type = types.str;
+5 -5
nixos/modules/services/monitoring/mackerel-agent.nix
···
settingsFmt = pkgs.formats.toml {};
in {
options.services.mackerel-agent = {
-
enable = mkEnableOption "mackerel.io agent";
# the upstream package runs as root, but doesn't seem to be strictly
# necessary for basic functionality
-
runAsRoot = mkEnableOption "Whether to run as root.";
-
autoRetirement = mkEnableOption ''
Whether to automatically retire the host upon OS shutdown.
-
'';
apiKeyFile = mkOption {
type = types.path;
···
};
options.diagnostic =
-
mkEnableOption "Collect memory usage for the agent itself";
};
};
};
···
settingsFmt = pkgs.formats.toml {};
in {
options.services.mackerel-agent = {
+
enable = mkEnableOption (lib.mdDoc "mackerel.io agent");
# the upstream package runs as root, but doesn't seem to be strictly
# necessary for basic functionality
+
runAsRoot = mkEnableOption (lib.mdDoc "Whether to run as root.");
+
autoRetirement = mkEnableOption (lib.mdDoc ''
Whether to automatically retire the host upon OS shutdown.
+
'');
apiKeyFile = mkOption {
type = types.path;
···
};
options.diagnostic =
+
mkEnableOption (lib.mdDoc "Collect memory usage for the agent itself");
};
};
};
+1 -1
nixos/modules/services/monitoring/metricbeat.nix
···
services.metricbeat = {
-
enable = mkEnableOption "metricbeat";
package = mkOption {
type = types.package;
···
services.metricbeat = {
+
enable = mkEnableOption (lib.mdDoc "metricbeat");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/monitoring/mimir.nix
···
settingsFormat = pkgs.formats.yaml {};
in {
options.services.mimir = {
-
enable = mkEnableOption "mimir";
configuration = mkOption {
type = (pkgs.formats.json {}).type;
···
settingsFormat = pkgs.formats.yaml {};
in {
options.services.mimir = {
+
enable = mkEnableOption (lib.mdDoc "mimir");
configuration = mkOption {
type = (pkgs.formats.json {}).type;
+1 -1
nixos/modules/services/monitoring/monit.nix
···
{
options.services.monit = {
-
enable = mkEnableOption "Monit";
config = mkOption {
type = types.lines;
···
{
options.services.monit = {
+
enable = mkEnableOption (lib.mdDoc "Monit");
config = mkOption {
type = types.lines;
+3 -3
nixos/modules/services/monitoring/nagios.nix
···
options = {
services.nagios = {
-
enable = mkEnableOption ''<link xlink:href="http://www.nagios.org/">Nagios</link> to monitor your system or network.'';
objectDefs = mkOption {
description = lib.mdDoc ''
···
type = types.listOf types.package;
default = with pkgs; [ monitoring-plugins msmtp mailutils ];
defaultText = literalExpression "[pkgs.monitoring-plugins pkgs.msmtp pkgs.mailutils]";
-
description = ''
-
Packages to be added to the Nagios <envar>PATH</envar>.
Typically used to add plugins, but can be anything.
'';
};
···
options = {
services.nagios = {
+
enable = mkEnableOption (lib.mdDoc ''[Nagios](http://www.nagios.org/) to monitor your system or network.'');
objectDefs = mkOption {
description = lib.mdDoc ''
···
type = types.listOf types.package;
default = with pkgs; [ monitoring-plugins msmtp mailutils ];
defaultText = literalExpression "[pkgs.monitoring-plugins pkgs.msmtp pkgs.mailutils]";
+
description = lib.mdDoc ''
+
Packages to be added to the Nagios {env}`PATH`.
Typically used to add plugins, but can be anything.
'';
};
+1 -1
nixos/modules/services/monitoring/netdata.nix
···
in {
options = {
services.netdata = {
-
enable = mkEnableOption "netdata";
package = mkOption {
type = types.package;
···
in {
options = {
services.netdata = {
+
enable = mkEnableOption (lib.mdDoc "netdata");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/monitoring/parsedmarc.nix
···
{
options.services.parsedmarc = {
-
enable = lib.mkEnableOption ''
parsedmarc, a DMARC report monitoring service
-
'';
provision = {
localMail = {
···
{
options.services.parsedmarc = {
+
enable = lib.mkEnableOption (lib.mdDoc ''
parsedmarc, a DMARC report monitoring service
+
'');
provision = {
localMail = {
+1 -1
nixos/modules/services/monitoring/prometheus/alertmanager.nix
···
options = {
services.prometheus.alertmanager = {
-
enable = mkEnableOption "Prometheus Alertmanager";
package = mkOption {
type = types.package;
···
options = {
services.prometheus.alertmanager = {
+
enable = mkEnableOption (lib.mdDoc "Prometheus Alertmanager");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/monitoring/prometheus/exporters.nix
···
);
mkExporterOpts = ({ name, port }: {
-
enable = mkEnableOption "the prometheus ${name} exporter";
port = mkOption {
type = types.port;
default = port;
···
);
mkExporterOpts = ({ name, port }: {
+
enable = mkEnableOption (lib.mdDoc "the prometheus ${name} exporter");
port = mkOption {
type = types.port;
default = port;
+1 -1
nixos/modules/services/monitoring/prometheus/exporters/collectd.nix
···
port = 9103;
extraOpts = {
collectdBinary = {
-
enable = mkEnableOption "collectd binary protocol receiver";
authFile = mkOption {
default = null;
···
port = 9103;
extraOpts = {
collectdBinary = {
+
enable = mkEnableOption (lib.mdDoc "collectd binary protocol receiver");
authFile = mkOption {
default = null;
+1 -1
nixos/modules/services/monitoring/prometheus/exporters/fastly.nix
···
{
port = 9118;
extraOpts = {
-
debug = mkEnableOption "Debug logging mode for fastly-exporter";
configFile = mkOption {
type = types.nullOr types.path;
···
{
port = 9118;
extraOpts = {
+
debug = mkEnableOption (lib.mdDoc "Debug logging mode for fastly-exporter");
configFile = mkOption {
type = types.nullOr types.path;
+3 -3
nixos/modules/services/monitoring/prometheus/exporters/unifi-poller.nix
···
extraOpts = {
inherit (options.services.unifi-poller.unifi) controllers;
log = {
-
debug = mkEnableOption "debug logging including line numbers, high resolution timestamps, per-device logs.";
-
quiet = mkEnableOption "startup and error logs only.";
-
prometheusErrors = mkEnableOption "emitting errors to prometheus.";
};
};
···
extraOpts = {
inherit (options.services.unifi-poller.unifi) controllers;
log = {
+
debug = mkEnableOption (lib.mdDoc "debug logging including line numbers, high resolution timestamps, per-device logs.");
+
quiet = mkEnableOption (lib.mdDoc "startup and error logs only.");
+
prometheusErrors = mkEnableOption (lib.mdDoc "emitting errors to prometheus.");
};
};
+1 -1
nixos/modules/services/monitoring/prometheus/exporters/wireguard.nix
···
({ options.warnings = options.warnings; options.assertions = options.assertions; })
];
extraOpts = {
-
verbose = mkEnableOption "Verbose logging mode for prometheus-wireguard-exporter";
wireguardConfig = mkOption {
type = with types; nullOr (either path str);
···
({ options.warnings = options.warnings; options.assertions = options.assertions; })
];
extraOpts = {
+
verbose = mkEnableOption (lib.mdDoc "Verbose logging mode for prometheus-wireguard-exporter");
wireguardConfig = mkOption {
type = with types; nullOr (either path str);
+1 -1
nixos/modules/services/monitoring/prometheus/pushgateway.nix
···
in {
options = {
services.prometheus.pushgateway = {
-
enable = mkEnableOption "Prometheus Pushgateway";
package = mkOption {
type = types.package;
···
in {
options = {
services.prometheus.pushgateway = {
+
enable = mkEnableOption (lib.mdDoc "Prometheus Pushgateway");
package = mkOption {
type = types.package;
+4 -4
nixos/modules/services/monitoring/prometheus/sachet.nix
···
{
options = {
services.prometheus.sachet = {
-
enable = mkEnableOption "Sachet, an SMS alerting tool for the Prometheus Alertmanager";
configuration = mkOption {
type = types.nullOr types.attrs;
···
}];
}
'';
-
description = ''
Sachet's configuration as a nix attribute set.
'';
};
···
address = mkOption {
type = types.str;
default = "localhost";
-
description = ''
The address Sachet will listen to.
'';
};
···
port = mkOption {
type = types.port;
default = 9876;
-
description = ''
The port Sachet will listen to.
'';
};
···
{
options = {
services.prometheus.sachet = {
+
enable = mkEnableOption (lib.mdDoc "Sachet, an SMS alerting tool for the Prometheus Alertmanager");
configuration = mkOption {
type = types.nullOr types.attrs;
···
}];
}
'';
+
description = lib.mdDoc ''
Sachet's configuration as a nix attribute set.
'';
};
···
address = mkOption {
type = types.str;
default = "localhost";
+
description = lib.mdDoc ''
The address Sachet will listen to.
'';
};
···
port = mkOption {
type = types.port;
default = 9876;
+
description = lib.mdDoc ''
The port Sachet will listen to.
'';
};
+1 -1
nixos/modules/services/monitoring/prometheus/xmpp-alerts.nix
···
];
options.services.prometheus.xmpp-alerts = {
-
enable = mkEnableOption "XMPP Web hook service for Alertmanager";
settings = mkOption {
type = settingsFormat.type;
···
];
options.services.prometheus.xmpp-alerts = {
+
enable = mkEnableOption (lib.mdDoc "XMPP Web hook service for Alertmanager");
settings = mkOption {
type = settingsFormat.type;
+1 -1
nixos/modules/services/monitoring/smartd.nix
···
services.smartd = {
-
enable = mkEnableOption "smartd daemon from <literal>smartmontools</literal> package";
autodetect = mkOption {
default = true;
···
services.smartd = {
+
enable = mkEnableOption (lib.mdDoc "smartd daemon from `smartmontools` package");
autodetect = mkOption {
default = true;
+1 -1
nixos/modules/services/monitoring/statsd.nix
···
options.services.statsd = {
-
enable = mkEnableOption "statsd";
listenAddress = mkOption {
description = lib.mdDoc "Address that statsd listens on over UDP";
···
options.services.statsd = {
+
enable = mkEnableOption (lib.mdDoc "statsd");
listenAddress = mkOption {
description = lib.mdDoc "Address that statsd listens on over UDP";
+1 -1
nixos/modules/services/monitoring/sysstat.nix
···
in {
options = {
services.sysstat = {
-
enable = mkEnableOption "sar system activity collection";
collect-frequency = mkOption {
type = types.str;
···
in {
options = {
services.sysstat = {
+
enable = mkEnableOption (lib.mdDoc "sar system activity collection");
collect-frequency = mkOption {
type = types.str;
+1 -1
nixos/modules/services/monitoring/teamviewer.nix
···
options = {
-
services.teamviewer.enable = mkEnableOption "TeamViewer daemon";
};
···
options = {
+
services.teamviewer.enable = mkEnableOption (lib.mdDoc "TeamViewer daemon");
};
+1 -1
nixos/modules/services/monitoring/telegraf.nix
···
###### interface
options = {
services.telegraf = {
-
enable = mkEnableOption "telegraf server";
package = mkOption {
default = pkgs.telegraf;
···
###### interface
options = {
services.telegraf = {
+
enable = mkEnableOption (lib.mdDoc "telegraf server");
package = mkOption {
default = pkgs.telegraf;
+10 -10
nixos/modules/services/monitoring/thanos.nix
···
sidecar = paramsToOptions params.sidecar // {
enable = mkEnableOption
-
"the Thanos sidecar for Prometheus server";
arguments = mkArgumentsOption "sidecar";
};
store = paramsToOptions params.store // {
enable = mkEnableOption
-
"the Thanos store node giving access to blocks in a bucket provider.";
arguments = mkArgumentsOption "store";
};
query = paramsToOptions params.query // {
enable = mkEnableOption
-
("the Thanos query node exposing PromQL enabled Query API " +
-
"with data retrieved from multiple store nodes");
arguments = mkArgumentsOption "query";
};
rule = paramsToOptions params.rule // {
enable = mkEnableOption
-
("the Thanos ruler service which evaluates Prometheus rules against" +
-
" given Query nodes, exposing Store API and storing old blocks in bucket");
arguments = mkArgumentsOption "rule";
};
compact = paramsToOptions params.compact // {
enable = mkEnableOption
-
"the Thanos compactor which continuously compacts blocks in an object store bucket";
arguments = mkArgumentsOption "compact";
};
downsample = paramsToOptions params.downsample // {
enable = mkEnableOption
-
"the Thanos downsampler which continuously downsamples blocks in an object store bucket";
arguments = mkArgumentsOption "downsample";
};
receive = paramsToOptions params.receive // {
enable = mkEnableOption
-
("the Thanos receiver which accept Prometheus remote write API requests " +
-
"and write to local tsdb (EXPERIMENTAL, this may change drastically without notice)");
arguments = mkArgumentsOption "receive";
};
};
···
sidecar = paramsToOptions params.sidecar // {
enable = mkEnableOption
+
(lib.mdDoc "the Thanos sidecar for Prometheus server");
arguments = mkArgumentsOption "sidecar";
};
store = paramsToOptions params.store // {
enable = mkEnableOption
+
(lib.mdDoc "the Thanos store node giving access to blocks in a bucket provider.");
arguments = mkArgumentsOption "store";
};
query = paramsToOptions params.query // {
enable = mkEnableOption
+
(lib.mdDoc ("the Thanos query node exposing PromQL enabled Query API " +
+
"with data retrieved from multiple store nodes"));
arguments = mkArgumentsOption "query";
};
rule = paramsToOptions params.rule // {
enable = mkEnableOption
+
(lib.mdDoc ("the Thanos ruler service which evaluates Prometheus rules against" +
+
" given Query nodes, exposing Store API and storing old blocks in bucket"));
arguments = mkArgumentsOption "rule";
};
compact = paramsToOptions params.compact // {
enable = mkEnableOption
+
(lib.mdDoc "the Thanos compactor which continuously compacts blocks in an object store bucket");
arguments = mkArgumentsOption "compact";
};
downsample = paramsToOptions params.downsample // {
enable = mkEnableOption
+
(lib.mdDoc "the Thanos downsampler which continuously downsamples blocks in an object store bucket");
arguments = mkArgumentsOption "downsample";
};
receive = paramsToOptions params.receive // {
enable = mkEnableOption
+
(lib.mdDoc ("the Thanos receiver which accept Prometheus remote write API requests " +
+
"and write to local tsdb (EXPERIMENTAL, this may change drastically without notice)"));
arguments = mkArgumentsOption "receive";
};
};
+1 -1
nixos/modules/services/monitoring/tuptime.nix
···
options.services.tuptime = {
-
enable = mkEnableOption "the total uptime service";
timer = {
enable = mkOption {
···
options.services.tuptime = {
+
enable = mkEnableOption (lib.mdDoc "the total uptime service");
timer = {
enable = mkOption {
+1 -1
nixos/modules/services/monitoring/unifi-poller.nix
···
in {
options.services.unifi-poller = {
-
enable = mkEnableOption "unifi-poller";
poller = {
debug = mkOption {
···
in {
options.services.unifi-poller = {
+
enable = mkEnableOption (lib.mdDoc "unifi-poller");
poller = {
debug = mkOption {
+2 -2
nixos/modules/services/monitoring/uptime.nix
···
type = types.bool;
};
-
enableWebService = mkEnableOption "the uptime monitoring program web service";
-
enableSeparateMonitoringService = mkEnableOption "the uptime monitoring service" // {
default = cfg.enableWebService;
defaultText = literalExpression "config.${opt.enableWebService}";
};
···
type = types.bool;
};
+
enableWebService = mkEnableOption (lib.mdDoc "the uptime monitoring program web service");
+
enableSeparateMonitoringService = mkEnableOption (lib.mdDoc "the uptime monitoring service") // {
default = cfg.enableWebService;
defaultText = literalExpression "config.${opt.enableWebService}";
};
+1 -1
nixos/modules/services/monitoring/vnstat.nix
···
cfg = config.services.vnstat;
in {
options.services.vnstat = {
-
enable = mkEnableOption "update of network usage statistics via vnstatd";
};
config = mkIf cfg.enable {
···
cfg = config.services.vnstat;
in {
options.services.vnstat = {
+
enable = mkEnableOption (lib.mdDoc "update of network usage statistics via vnstatd");
};
config = mkIf cfg.enable {
+3 -3
nixos/modules/services/monitoring/zabbix-agent.nix
···
options = {
services.zabbixAgent = {
-
enable = mkEnableOption "the Zabbix Agent";
package = mkOption {
type = types.package;
···
default = with pkgs; [ nettools ];
defaultText = literalExpression "with pkgs; [ nettools ]";
example = literalExpression "with pkgs; [ nettools mysql ]";
-
description = ''
-
Packages to be added to the Zabbix <envar>PATH</envar>.
Typically used to add executables for scripts, but can be anything.
'';
};
···
options = {
services.zabbixAgent = {
+
enable = mkEnableOption (lib.mdDoc "the Zabbix Agent");
package = mkOption {
type = types.package;
···
default = with pkgs; [ nettools ];
defaultText = literalExpression "with pkgs; [ nettools ]";
example = literalExpression "with pkgs; [ nettools mysql ]";
+
description = lib.mdDoc ''
+
Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
+3 -3
nixos/modules/services/monitoring/zabbix-proxy.nix
···
options = {
services.zabbixProxy = {
-
enable = mkEnableOption "the Zabbix Proxy";
server = mkOption {
type = types.str;
···
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
-
description = ''
-
Packages to be added to the Zabbix <envar>PATH</envar>.
Typically used to add executables for scripts, but can be anything.
'';
};
···
options = {
services.zabbixProxy = {
+
enable = mkEnableOption (lib.mdDoc "the Zabbix Proxy");
server = mkOption {
type = types.str;
···
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
+
description = lib.mdDoc ''
+
Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
+3 -3
nixos/modules/services/monitoring/zabbix-server.nix
···
options = {
services.zabbixServer = {
-
enable = mkEnableOption "the Zabbix Server";
package = mkOption {
type = types.package;
···
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
-
description = ''
-
Packages to be added to the Zabbix <envar>PATH</envar>.
Typically used to add executables for scripts, but can be anything.
'';
};
···
options = {
services.zabbixServer = {
+
enable = mkEnableOption (lib.mdDoc "the Zabbix Server");
package = mkOption {
type = types.package;
···
type = types.listOf types.package;
default = with pkgs; [ nettools nmap traceroute ];
defaultText = literalExpression "[ nettools nmap traceroute ]";
+
description = lib.mdDoc ''
+
Packages to be added to the Zabbix {env}`PATH`.
Typically used to add executables for scripts, but can be anything.
'';
};
+7 -7
nixos/modules/services/network-filesystems/ceph.nix
···
options.services.ceph = {
# Ceph has a monolithic configuration file but different sections for
# each daemon, a separate client section and a global section
-
enable = mkEnableOption "Ceph global configuration";
global = {
fsid = mkOption {
···
};
mgr = {
-
enable = mkEnableOption "Ceph MGR daemon";
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
mon = {
-
enable = mkEnableOption "Ceph MON daemon";
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
osd = {
-
enable = mkEnableOption "Ceph OSD daemon";
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
mds = {
-
enable = mkEnableOption "Ceph MDS daemon";
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
rgw = {
-
enable = mkEnableOption "Ceph RadosGW daemon";
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
client = {
-
enable = mkEnableOption "Ceph client configuration";
extraConfig = mkOption {
type = with types; attrsOf (attrsOf str);
default = {};
···
options.services.ceph = {
# Ceph has a monolithic configuration file but different sections for
# each daemon, a separate client section and a global section
+
enable = mkEnableOption (lib.mdDoc "Ceph global configuration");
global = {
fsid = mkOption {
···
};
mgr = {
+
enable = mkEnableOption (lib.mdDoc "Ceph MGR daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
mon = {
+
enable = mkEnableOption (lib.mdDoc "Ceph MON daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
osd = {
+
enable = mkEnableOption (lib.mdDoc "Ceph OSD daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
mds = {
+
enable = mkEnableOption (lib.mdDoc "Ceph MDS daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
rgw = {
+
enable = mkEnableOption (lib.mdDoc "Ceph RadosGW daemon");
daemons = mkOption {
type = with types; listOf str;
default = [];
···
};
client = {
+
enable = mkEnableOption (lib.mdDoc "Ceph client configuration");
extraConfig = mkOption {
type = with types; attrsOf (attrsOf str);
default = {};
+1 -1
nixos/modules/services/network-filesystems/glusterfs.nix
···
services.glusterfs = {
-
enable = mkEnableOption "GlusterFS Daemon";
logLevel = mkOption {
type = types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"];
···
services.glusterfs = {
+
enable = mkEnableOption (lib.mdDoc "GlusterFS Daemon");
logLevel = mkOption {
type = types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"];
+1 -1
nixos/modules/services/network-filesystems/ipfs.nix
···
services.ipfs = {
-
enable = mkEnableOption "Interplanetary File System (WARNING: may cause severe network degredation)";
package = mkOption {
type = types.package;
···
services.ipfs = {
+
enable = mkEnableOption (lib.mdDoc "Interplanetary File System (WARNING: may cause severe network degredation)");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/network-filesystems/litestream/default.nix
···
in
{
options.services.litestream = {
-
enable = mkEnableOption "litestream";
package = mkOption {
description = lib.mdDoc "Package to use.";
···
in
{
options.services.litestream = {
+
enable = mkEnableOption (lib.mdDoc "litestream");
package = mkOption {
description = lib.mdDoc "Package to use.";
+3 -3
nixos/modules/services/network-filesystems/moosefs.nix
···
description = lib.mdDoc "Run daemons as user moosefs instead of root.";
};
-
client.enable = mkEnableOption "Moosefs client.";
master = {
enable = mkOption {
···
};
metalogger = {
-
enable = mkEnableOption "Moosefs metalogger daemon.";
settings = mkOption {
type = types.submodule {
···
};
chunkserver = {
-
enable = mkEnableOption "Moosefs chunkserver daemon.";
openFirewall = mkOption {
type = types.bool;
···
description = lib.mdDoc "Run daemons as user moosefs instead of root.";
};
+
client.enable = mkEnableOption (lib.mdDoc "Moosefs client.");
master = {
enable = mkOption {
···
};
metalogger = {
+
enable = mkEnableOption (lib.mdDoc "Moosefs metalogger daemon.");
settings = mkOption {
type = types.submodule {
···
};
chunkserver = {
+
enable = mkEnableOption (lib.mdDoc "Moosefs chunkserver daemon.");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/network-filesystems/netatalk.nix
···
options = {
services.netatalk = {
-
enable = mkEnableOption "the Netatalk AFP fileserver";
port = mkOption {
type = types.port;
···
options = {
services.netatalk = {
+
enable = mkEnableOption (lib.mdDoc "the Netatalk AFP fileserver");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/network-filesystems/orangefs/client.nix
···
options = {
services.orangefs.client = {
-
enable = mkEnableOption "OrangeFS client daemon";
extraOptions = mkOption {
type = with types; listOf str;
···
options = {
services.orangefs.client = {
+
enable = mkEnableOption (lib.mdDoc "OrangeFS client daemon");
extraOptions = mkOption {
type = with types; listOf str;
+1 -1
nixos/modules/services/network-filesystems/orangefs/server.nix
···
options = {
services.orangefs.server = {
-
enable = mkEnableOption "OrangeFS server";
logType = mkOption {
type = with types; enum [ "file" "syslog" ];
···
options = {
services.orangefs.server = {
+
enable = mkEnableOption (lib.mdDoc "OrangeFS server");
logType = mkOption {
type = with types; enum [ "file" "syslog" ];
+1 -1
nixos/modules/services/network-filesystems/rsyncd.nix
···
options = {
services.rsyncd = {
-
enable = mkEnableOption "the rsync daemon";
port = mkOption {
default = 873;
···
options = {
services.rsyncd = {
+
enable = mkEnableOption (lib.mdDoc "the rsync daemon");
port = mkOption {
default = 873;
+3 -3
nixos/modules/services/network-filesystems/tahoe.nix
···
The number of shares required to store a file.
'';
};
-
storage.enable = mkEnableOption "storage service";
storage.reservedSpace = mkOption {
default = "1G";
type = types.str;
···
The amount of filesystem space to not use for storage.
'';
};
-
helper.enable = mkEnableOption "helper service";
-
sftpd.enable = mkEnableOption "SFTP service";
sftpd.port = mkOption {
default = null;
type = types.nullOr types.int;
···
The number of shares required to store a file.
'';
};
+
storage.enable = mkEnableOption (lib.mdDoc "storage service");
storage.reservedSpace = mkOption {
default = "1G";
type = types.str;
···
The amount of filesystem space to not use for storage.
'';
};
+
helper.enable = mkEnableOption (lib.mdDoc "helper service");
+
sftpd.enable = mkEnableOption (lib.mdDoc "SFTP service");
sftpd.port = mkOption {
default = null;
type = types.nullOr types.int;
+1 -1
nixos/modules/services/network-filesystems/webdav-server-rs.nix
···
{
options = {
services.webdav-server-rs = {
-
enable = mkEnableOption "WebDAV server";
user = mkOption {
type = types.str;
···
{
options = {
services.webdav-server-rs = {
+
enable = mkEnableOption (lib.mdDoc "WebDAV server");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/network-filesystems/webdav.nix
···
{
options = {
services.webdav = {
-
enable = mkEnableOption "WebDAV server";
user = mkOption {
type = types.str;
···
{
options = {
services.webdav = {
+
enable = mkEnableOption (lib.mdDoc "WebDAV server");
user = mkOption {
type = types.str;
+3 -3
nixos/modules/services/network-filesystems/xtreemfs.nix
···
services.xtreemfs = {
-
enable = mkEnableOption "XtreemFS";
homeDir = mkOption {
type = types.path;
···
'';
};
replication = {
-
enable = mkEnableOption "XtreemFS DIR replication plugin";
extraConfig = mkOption {
type = types.lines;
example = ''
···
'';
};
replication = {
-
enable = mkEnableOption "XtreemFS MRC replication plugin";
extraConfig = mkOption {
type = types.lines;
example = ''
···
services.xtreemfs = {
+
enable = mkEnableOption (lib.mdDoc "XtreemFS");
homeDir = mkOption {
type = types.path;
···
'';
};
replication = {
+
enable = mkEnableOption (lib.mdDoc "XtreemFS DIR replication plugin");
extraConfig = mkOption {
type = types.lines;
example = ''
···
'';
};
replication = {
+
enable = mkEnableOption (lib.mdDoc "XtreemFS MRC replication plugin");
extraConfig = mkOption {
type = types.lines;
example = ''
+1 -1
nixos/modules/services/networking/3proxy.nix
···
optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
in {
options.services._3proxy = {
-
enable = mkEnableOption "3proxy";
confFile = mkOption {
type = types.path;
example = "/var/lib/3proxy/3proxy.conf";
···
optionalList = list: if list == [ ] then "*" else concatMapStringsSep "," toString list;
in {
options.services._3proxy = {
+
enable = mkEnableOption (lib.mdDoc "3proxy");
confFile = mkOption {
type = types.path;
example = "/var/lib/3proxy/3proxy.conf";
+1 -1
nixos/modules/services/networking/adguardhome.nix
···
in {
options.services.adguardhome = with types; {
-
enable = mkEnableOption "AdGuard Home network-wide ad blocker";
host = mkOption {
default = "0.0.0.0";
···
in {
options.services.adguardhome = with types; {
+
enable = mkEnableOption (lib.mdDoc "AdGuard Home network-wide ad blocker");
host = mkOption {
default = "0.0.0.0";
+1 -1
nixos/modules/services/networking/antennas.nix
···
{
options = {
services.antennas = {
-
enable = mkEnableOption "Antennas";
tvheadendUrl = mkOption {
type = types.str;
···
{
options = {
services.antennas = {
+
enable = mkEnableOption (lib.mdDoc "Antennas");
tvheadendUrl = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/babeld.nix
···
services.babeld = {
-
enable = mkEnableOption "the babeld network routing daemon";
interfaceDefaults = mkOption {
default = null;
···
services.babeld = {
+
enable = mkEnableOption (lib.mdDoc "the babeld network routing daemon");
interfaceDefaults = mkOption {
default = null;
+1 -1
nixos/modules/services/networking/bee-clef.nix
···
options = {
services.bee-clef = {
-
enable = mkEnableOption "clef external signer instance for Ethereum Swarm Bee";
dataDir = mkOption {
type = types.nullOr types.str;
···
options = {
services.bee-clef = {
+
enable = mkEnableOption (lib.mdDoc "clef external signer instance for Ethereum Swarm Bee");
dataDir = mkOption {
type = types.nullOr types.str;
+1 -1
nixos/modules/services/networking/bee.nix
···
options = {
services.bee = {
-
enable = mkEnableOption "Ethereum Swarm Bee";
package = mkOption {
type = types.package;
···
options = {
services.bee = {
+
enable = mkEnableOption (lib.mdDoc "Ethereum Swarm Bee");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/networking/biboumi.nix
···
{
options = {
services.biboumi = {
-
enable = mkEnableOption "the Biboumi XMPP gateway to IRC";
settings = mkOption {
description = lib.mdDoc ''
···
example = "/run/keys/biboumi.cfg";
};
-
openFirewall = mkEnableOption "opening of the identd port in the firewall";
};
};
···
{
options = {
services.biboumi = {
+
enable = mkEnableOption (lib.mdDoc "the Biboumi XMPP gateway to IRC");
settings = mkOption {
description = lib.mdDoc ''
···
example = "/run/keys/biboumi.cfg";
};
+
openFirewall = mkEnableOption (lib.mdDoc "opening of the identd port in the firewall");
};
};
+1 -1
nixos/modules/services/networking/bind.nix
···
services.bind = {
-
enable = mkEnableOption "BIND domain name server";
package = mkOption {
···
services.bind = {
+
enable = mkEnableOption (lib.mdDoc "BIND domain name server");
package = mkOption {
+2 -2
nixos/modules/services/networking/bird-lg.nix
···
};
frontend = {
-
enable = mkEnableOption "Bird Looking Glass Frontend Webserver";
listenAddress = mkOption {
type = types.str;
···
};
proxy = {
-
enable = mkEnableOption "Bird Looking Glass Proxy";
listenAddress = mkOption {
type = types.str;
···
};
frontend = {
+
enable = mkEnableOption (lib.mdDoc "Bird Looking Glass Frontend Webserver");
listenAddress = mkOption {
type = types.str;
···
};
proxy = {
+
enable = mkEnableOption (lib.mdDoc "Bird Looking Glass Proxy");
listenAddress = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/bird.nix
···
###### interface
options = {
services.bird2 = {
-
enable = mkEnableOption "BIRD Internet Routing Daemon";
config = mkOption {
type = types.lines;
description = lib.mdDoc ''
···
###### interface
options = {
services.bird2 = {
+
enable = mkEnableOption (lib.mdDoc "BIRD Internet Routing Daemon");
config = mkOption {
type = types.lines;
description = lib.mdDoc ''
+4 -4
nixos/modules/services/networking/bitcoind.nix
···
passwordHMAC = mkOption {
type = types.uniq (types.strMatching "[0-9a-f]+\\$[0-9a-f]{64}");
example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae";
-
description = ''
Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the
-
format &lt;SALT-HEX&gt;$&lt;HMAC-HEX&gt;.
Tool (Python script) for HMAC generation is available here:
-
<link xlink:href="https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py"/>
'';
};
};
···
bitcoindOpts = { config, lib, name, ...}: {
options = {
-
enable = mkEnableOption "Bitcoin daemon";
package = mkOption {
type = types.package;
···
passwordHMAC = mkOption {
type = types.uniq (types.strMatching "[0-9a-f]+\\$[0-9a-f]{64}");
example = "f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae";
+
description = lib.mdDoc ''
Password HMAC-SHA-256 for JSON-RPC connections. Must be a string of the
+
format \<SALT-HEX\>$\<HMAC-HEX\>.
Tool (Python script) for HMAC generation is available here:
+
<https://github.com/bitcoin/bitcoin/blob/master/share/rpcauth/rpcauth.py>
'';
};
};
···
bitcoindOpts = { config, lib, name, ...}: {
options = {
+
enable = mkEnableOption (lib.mdDoc "Bitcoin daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/blockbook-frontend.nix
···
options = {
-
enable = mkEnableOption "blockbook-frontend application.";
package = mkOption {
type = types.package;
···
options = {
+
enable = mkEnableOption (lib.mdDoc "blockbook-frontend application.");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/blocky.nix
···
in
{
options.services.blocky = {
-
enable = mkEnableOption "Fast and lightweight DNS proxy as ad-blocker for local network with many features";
settings = mkOption {
type = format.type;
···
in
{
options.services.blocky = {
+
enable = mkEnableOption (lib.mdDoc "Fast and lightweight DNS proxy as ad-blocker for local network with many features");
settings = mkOption {
type = format.type;
+1 -1
nixos/modules/services/networking/charybdis.nix
···
services.charybdis = {
-
enable = mkEnableOption "Charybdis IRC daemon";
config = mkOption {
type = types.str;
···
services.charybdis = {
+
enable = mkEnableOption (lib.mdDoc "Charybdis IRC daemon");
config = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/cloudflare-dyndns.nix
···
{
options = {
services.cloudflare-dyndns = {
-
enable = mkEnableOption "Cloudflare Dynamic DNS Client";
apiTokenFile = mkOption {
type = types.nullOr types.str;
···
{
options = {
services.cloudflare-dyndns = {
+
enable = mkEnableOption (lib.mdDoc "Cloudflare Dynamic DNS Client");
apiTokenFile = mkOption {
type = types.nullOr types.str;
+1 -1
nixos/modules/services/networking/cntlm.nix
···
options.services.cntlm = {
-
enable = mkEnableOption "cntlm, which starts a local proxy";
username = mkOption {
type = types.str;
···
options.services.cntlm = {
+
enable = mkEnableOption (lib.mdDoc "cntlm, which starts a local proxy");
username = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/consul.nix
···
};
alerts = {
-
enable = mkEnableOption "consul-alerts";
package = mkOption {
description = lib.mdDoc "Package to use for consul-alerts.";
···
};
alerts = {
+
enable = mkEnableOption (lib.mdDoc "consul-alerts");
package = mkOption {
description = lib.mdDoc "Package to use for consul-alerts.";
+1 -1
nixos/modules/services/networking/coredns.nix
···
configFile = pkgs.writeText "Corefile" cfg.config;
in {
options.services.coredns = {
-
enable = mkEnableOption "Coredns dns server";
config = mkOption {
default = "";
···
configFile = pkgs.writeText "Corefile" cfg.config;
in {
options.services.coredns = {
+
enable = mkEnableOption (lib.mdDoc "Coredns dns server");
config = mkOption {
default = "";
+1 -1
nixos/modules/services/networking/corerad.nix
···
meta.maintainers = with maintainers; [ mdlayher ];
options.services.corerad = {
-
enable = mkEnableOption "CoreRAD IPv6 NDP RA daemon";
settings = mkOption {
type = settingsFormat.type;
···
meta.maintainers = with maintainers; [ mdlayher ];
options.services.corerad = {
+
enable = mkEnableOption (lib.mdDoc "CoreRAD IPv6 NDP RA daemon");
settings = mkOption {
type = settingsFormat.type;
+1 -1
nixos/modules/services/networking/coturn.nix
···
in {
options = {
services.coturn = {
-
enable = mkEnableOption "coturn TURN server";
listening-port = mkOption {
type = types.int;
default = 3478;
···
in {
options = {
services.coturn = {
+
enable = mkEnableOption (lib.mdDoc "coturn TURN server");
listening-port = mkOption {
type = types.int;
default = 3478;
+1 -1
nixos/modules/services/networking/create_ap.nix
···
in {
options = {
services.create_ap = {
-
enable = mkEnableOption "setup wifi hotspots using create_ap";
settings = mkOption {
type = with types; attrsOf (oneOf [ int bool str ]);
default = {};
···
in {
options = {
services.create_ap = {
+
enable = mkEnableOption (lib.mdDoc "setup wifi hotspots using create_ap");
settings = mkOption {
type = with types; attrsOf (oneOf [ int bool str ]);
default = {};
+3 -3
nixos/modules/services/networking/croc.nix
···
in
{
options.services.croc = {
-
enable = lib.mkEnableOption "croc relay";
ports = lib.mkOption {
type = with types; listOf port;
default = [9009 9010 9011 9012 9013];
···
default = "pass123";
description = lib.mdDoc "Password or passwordfile for the relay.";
};
-
openFirewall = lib.mkEnableOption "opening of the peer port(s) in the firewall";
-
debug = lib.mkEnableOption "debug logs";
};
config = lib.mkIf cfg.enable {
···
in
{
options.services.croc = {
+
enable = lib.mkEnableOption (lib.mdDoc "croc relay");
ports = lib.mkOption {
type = with types; listOf port;
default = [9009 9010 9011 9012 9013];
···
default = "pass123";
description = lib.mdDoc "Password or passwordfile for the relay.";
};
+
openFirewall = lib.mkEnableOption (lib.mdDoc "opening of the peer port(s) in the firewall");
+
debug = lib.mkEnableOption (lib.mdDoc "debug logs");
};
config = lib.mkIf cfg.enable {
+1 -1
nixos/modules/services/networking/dante.nix
···
options = {
services.dante = {
-
enable = mkEnableOption "Dante SOCKS proxy";
config = mkOption {
type = types.lines;
···
options = {
services.dante = {
+
enable = mkEnableOption (lib.mdDoc "Dante SOCKS proxy");
config = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/networking/dnscrypt-proxy2.nix
···
{
options.services.dnscrypt-proxy2 = {
-
enable = mkEnableOption "dnscrypt-proxy2";
settings = mkOption {
description = lib.mdDoc ''
···
{
options.services.dnscrypt-proxy2 = {
+
enable = mkEnableOption (lib.mdDoc "dnscrypt-proxy2");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/networking/dnscrypt-wrapper.nix
···
###### interface
options.services.dnscrypt-wrapper = {
-
enable = mkEnableOption "DNSCrypt wrapper";
address = mkOption {
type = types.str;
···
###### interface
options.services.dnscrypt-wrapper = {
+
enable = mkEnableOption (lib.mdDoc "DNSCrypt wrapper");
address = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/dnsdist.nix
···
in {
options = {
services.dnsdist = {
-
enable = mkEnableOption "dnsdist domain name server";
listenAddress = mkOption {
type = types.str;
···
in {
options = {
services.dnsdist = {
+
enable = mkEnableOption (lib.mdDoc "dnsdist domain name server");
listenAddress = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/doh-proxy-rust.nix
···
options.services.doh-proxy-rust = {
-
enable = mkEnableOption "doh-proxy-rust";
flags = mkOption {
type = types.listOf types.str;
···
options.services.doh-proxy-rust = {
+
enable = mkEnableOption (lib.mdDoc "doh-proxy-rust");
flags = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/envoy.nix
···
{
options.services.envoy = {
-
enable = mkEnableOption "Envoy reverse proxy";
settings = mkOption {
type = format.type;
···
{
options.services.envoy = {
+
enable = mkEnableOption (lib.mdDoc "Envoy reverse proxy");
settings = mkOption {
type = format.type;
+1 -1
nixos/modules/services/networking/ergo.nix
···
options = {
services.ergo = {
-
enable = mkEnableOption "Ergo service";
dataDir = mkOption {
type = types.path;
···
options = {
services.ergo = {
+
enable = mkEnableOption (lib.mdDoc "Ergo service");
dataDir = mkOption {
type = types.path;
+1 -1
nixos/modules/services/networking/ergochat.nix
···
options = {
services.ergochat = {
-
enable = lib.mkEnableOption "Ergo IRC daemon";
openFilesLimit = lib.mkOption {
type = lib.types.int;
···
options = {
services.ergochat = {
+
enable = lib.mkEnableOption (lib.mdDoc "Ergo IRC daemon");
openFilesLimit = lib.mkOption {
type = lib.types.int;
+1 -1
nixos/modules/services/networking/eternal-terminal.nix
···
services.eternal-terminal = {
-
enable = mkEnableOption "Eternal Terminal server";
port = mkOption {
default = 2022;
···
services.eternal-terminal = {
+
enable = mkEnableOption (lib.mdDoc "Eternal Terminal server");
port = mkOption {
default = 2022;
+3 -3
nixos/modules/services/networking/firefox-syncserver.nix
···
};
singleNode = {
-
enable = lib.mkEnableOption "auto-configuration for a simple single-node setup";
-
enableTLS = lib.mkEnableOption "automatic TLS setup";
-
enableNginx = lib.mkEnableOption "nginx virtualhost definitions";
hostname = lib.mkOption {
type = lib.types.str;
···
};
singleNode = {
+
enable = lib.mkEnableOption (lib.mdDoc "auto-configuration for a simple single-node setup");
+
enableTLS = lib.mkEnableOption (lib.mdDoc "automatic TLS setup");
+
enableNginx = lib.mkEnableOption (lib.mdDoc "nginx virtualhost definitions");
hostname = lib.mkOption {
type = lib.types.str;
+1 -1
nixos/modules/services/networking/flannel.nix
···
};
in {
options.services.flannel = {
-
enable = mkEnableOption "flannel";
package = mkOption {
description = lib.mdDoc "Package to use for flannel";
···
};
in {
options.services.flannel = {
+
enable = mkEnableOption (lib.mdDoc "flannel");
package = mkOption {
description = lib.mdDoc "Package to use for flannel";
+1 -1
nixos/modules/services/networking/freeradius.nix
···
};
freeradiusConfig = {
-
enable = mkEnableOption "the freeradius server";
configDir = mkOption {
type = types.path;
···
};
freeradiusConfig = {
+
enable = mkEnableOption (lib.mdDoc "the freeradius server");
configDir = mkOption {
type = types.path;
+1 -1
nixos/modules/services/networking/frr.nix
···
serviceOptions = service:
{
-
enable = mkEnableOption "the FRR ${toUpper service} routing protocol";
configFile = mkOption {
type = types.nullOr types.path;
···
serviceOptions = service:
{
+
enable = mkEnableOption (lib.mdDoc "the FRR ${toUpper service} routing protocol");
configFile = mkOption {
type = types.nullOr types.path;
+1 -1
nixos/modules/services/networking/gateone.nix
···
{
options = {
services.gateone = {
-
enable = mkEnableOption "GateOne server";
pidDir = mkOption {
default = "/run/gateone";
type = types.path;
···
{
options = {
services.gateone = {
+
enable = mkEnableOption (lib.mdDoc "GateOne server");
pidDir = mkOption {
default = "/run/gateone";
type = types.path;
+1 -1
nixos/modules/services/networking/gdomap.nix
···
#
options = {
services.gdomap = {
-
enable = mkEnableOption "GNUstep Distributed Objects name server";
};
};
···
#
options = {
services.gdomap = {
+
enable = mkEnableOption (lib.mdDoc "GNUstep Distributed Objects name server");
};
};
+1 -1
nixos/modules/services/networking/ghostunnel.nix
···
{
options = {
-
services.ghostunnel.enable = mkEnableOption "ghostunnel";
services.ghostunnel.package = mkOption {
description = lib.mdDoc "The ghostunnel package to use.";
···
{
options = {
+
services.ghostunnel.enable = mkEnableOption (lib.mdDoc "ghostunnel");
services.ghostunnel.package = mkOption {
description = lib.mdDoc "The ghostunnel package to use.";
+3 -3
nixos/modules/services/networking/globalprotect-vpn.nix
···
{
options.services.globalprotect = {
-
enable = mkEnableOption "globalprotect";
settings = mkOption {
-
description = ''
GlobalProtect-openconnect configuration. For more information, visit
-
<link xlink:href="https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration"/>.
'';
default = { };
example = {
···
{
options.services.globalprotect = {
+
enable = mkEnableOption (lib.mdDoc "globalprotect");
settings = mkOption {
+
description = lib.mdDoc ''
GlobalProtect-openconnect configuration. For more information, visit
+
<https://github.com/yuezk/GlobalProtect-openconnect/wiki/Configuration>.
'';
default = { };
example = {
+1 -1
nixos/modules/services/networking/go-neb.nix
···
configFile = settingsFormat.generate "config.yaml" cfg.config;
in {
options.services.go-neb = {
-
enable = mkEnableOption "Extensible matrix bot written in Go";
bindAddress = mkOption {
type = types.str;
···
configFile = settingsFormat.generate "config.yaml" cfg.config;
in {
options.services.go-neb = {
+
enable = mkEnableOption (lib.mdDoc "Extensible matrix bot written in Go");
bindAddress = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/go-shadowsocks2.nix
···
cfg = config.services.go-shadowsocks2.server;
in {
options.services.go-shadowsocks2.server = {
-
enable = mkEnableOption "go-shadowsocks2 server";
listenAddress = mkOption {
type = types.str;
···
cfg = config.services.go-shadowsocks2.server;
in {
options.services.go-shadowsocks2.server = {
+
enable = mkEnableOption (lib.mdDoc "go-shadowsocks2 server");
listenAddress = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/gobgpd.nix
···
confFile = format.generate "gobgpd.conf" cfg.settings;
in {
options.services.gobgpd = {
-
enable = mkEnableOption "GoBGP Routing Daemon";
settings = mkOption {
type = format.type;
···
confFile = format.generate "gobgpd.conf" cfg.settings;
in {
options.services.gobgpd = {
+
enable = mkEnableOption (lib.mdDoc "GoBGP Routing Daemon");
settings = mkOption {
type = format.type;
+1 -1
nixos/modules/services/networking/gvpe.nix
···
{
options = {
services.gvpe = {
-
enable = lib.mkEnableOption "gvpe";
nodename = mkOption {
default = null;
···
{
options = {
services.gvpe = {
+
enable = lib.mkEnableOption (lib.mdDoc "gvpe");
nodename = mkOption {
default = null;
+1 -1
nixos/modules/services/networking/headscale.nix
···
{
options = {
services.headscale = {
-
enable = mkEnableOption "headscale, Open Source coordination server for Tailscale";
package = mkOption {
type = types.package;
···
{
options = {
services.headscale = {
+
enable = mkEnableOption (lib.mdDoc "headscale, Open Source coordination server for Tailscale");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/https-dns-proxy.nix
···
###### interface
options.services.https-dns-proxy = {
-
enable = mkEnableOption "https-dns-proxy daemon";
address = mkOption {
description = lib.mdDoc "The address on which to listen";
···
###### interface
options.services.https-dns-proxy = {
+
enable = mkEnableOption (lib.mdDoc "https-dns-proxy daemon");
address = mkOption {
description = lib.mdDoc "The address on which to listen";
+7 -7
nixos/modules/services/networking/hylafax/options.nix
···
options.services.hylafax = {
-
enable = mkEnableOption "HylaFAX server";
autostart = mkOption {
type = bool;
···
'';
};
-
faxcron.enable.spoolInit = mkEnableOption ''
Purge old files from the spooling area with
-
<filename>faxcron</filename>
each time the spooling area is initialized.
-
'';
faxcron.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
···
'';
};
-
faxqclean.enable.spoolInit = mkEnableOption ''
Purge old files from the spooling area with
-
<filename>faxqclean</filename>
each time the spooling area is initialized.
-
'';
faxqclean.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
···
options.services.hylafax = {
+
enable = mkEnableOption (lib.mdDoc "HylaFAX server");
autostart = mkOption {
type = bool;
···
'';
};
+
faxcron.enable.spoolInit = mkEnableOption (lib.mdDoc ''
Purge old files from the spooling area with
+
{file}`faxcron`
each time the spooling area is initialized.
+
'');
faxcron.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
···
'';
};
+
faxqclean.enable.spoolInit = mkEnableOption (lib.mdDoc ''
Purge old files from the spooling area with
+
{file}`faxqclean`
each time the spooling area is initialized.
+
'');
faxqclean.enable.frequency = mkOption {
type = nullOr nonEmptyStr;
default = null;
+1 -1
nixos/modules/services/networking/i2p.nix
···
homeDir = "/var/lib/i2p";
in {
###### interface
-
options.services.i2p.enable = mkEnableOption "I2P router";
###### implementation
config = mkIf cfg.enable {
···
homeDir = "/var/lib/i2p";
in {
###### interface
+
options.services.i2p.enable = mkEnableOption (lib.mdDoc "I2P router");
###### implementation
config = mkIf cfg.enable {
+12 -12
nixos/modules/services/networking/i2pd.nix
···
optionalNullInt = o: i: optional (i != null) (intOpt o i);
optionalEmptyList = o: l: optional ([] != l) (lstOpt o l);
-
mkEnableTrueOption = name: mkEnableOption name // { default = true; };
mkEndpointOpt = name: addr: port: {
-
enable = mkEnableOption name;
name = mkOption {
type = types.str;
default = name;
···
'';
};
-
logCLFTime = mkEnableOption "Full CLF-formatted date and time to log";
address = mkOption {
type = with types; nullOr str;
···
};
enableIPv4 = mkEnableTrueOption "IPv4 connectivity";
-
enableIPv6 = mkEnableOption "IPv6 connectivity";
nat = mkEnableTrueOption "NAT bypass";
-
upnp.enable = mkEnableOption "UPnP service discovery";
upnp.name = mkOption {
type = types.str;
default = "I2Pd";
···
'';
};
-
reseed.verify = mkEnableOption "SU3 signature verification";
reseed.file = mkOption {
type = with types; nullOr str;
···
'';
};
-
trust.enable = mkEnableOption "Explicit trust options";
trust.family = mkOption {
type = with types; nullOr str;
···
'';
};
-
trust.hidden = mkEnableOption "Router concealment";
websocket = mkEndpointOpt "websockets" "127.0.0.1" 7666;
···
exploratory.outbound = i2cpOpts "exploratory";
ntcp2.enable = mkEnableTrueOption "NTCP2";
-
ntcp2.published = mkEnableOption "NTCP2 publication";
ntcp2.port = mkOption {
type = types.int;
default = 0;
···
'';
};
-
yggdrasil.enable = mkEnableOption "Yggdrasil";
yggdrasil.address = mkOption {
type = with types; nullOr str;
···
proto.http = (mkEndpointOpt "http" "127.0.0.1" 7070) // {
-
auth = mkEnableOption "Webconsole authentication";
user = mkOption {
type = types.str;
···
};
proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "socksproxy-keys.dat")
// {
-
outproxyEnable = mkEnableOption "SOCKS outproxy";
outproxy = mkOption {
type = types.str;
default = "127.0.0.1";
···
optionalNullInt = o: i: optional (i != null) (intOpt o i);
optionalEmptyList = o: l: optional ([] != l) (lstOpt o l);
+
mkEnableTrueOption = name: mkEnableOption (lib.mdDoc name) // { default = true; };
mkEndpointOpt = name: addr: port: {
+
enable = mkEnableOption (lib.mdDoc name);
name = mkOption {
type = types.str;
default = name;
···
'';
};
+
logCLFTime = mkEnableOption (lib.mdDoc "Full CLF-formatted date and time to log");
address = mkOption {
type = with types; nullOr str;
···
};
enableIPv4 = mkEnableTrueOption "IPv4 connectivity";
+
enableIPv6 = mkEnableOption (lib.mdDoc "IPv6 connectivity");
nat = mkEnableTrueOption "NAT bypass";
+
upnp.enable = mkEnableOption (lib.mdDoc "UPnP service discovery");
upnp.name = mkOption {
type = types.str;
default = "I2Pd";
···
'';
};
+
reseed.verify = mkEnableOption (lib.mdDoc "SU3 signature verification");
reseed.file = mkOption {
type = with types; nullOr str;
···
'';
};
+
trust.enable = mkEnableOption (lib.mdDoc "Explicit trust options");
trust.family = mkOption {
type = with types; nullOr str;
···
'';
};
+
trust.hidden = mkEnableOption (lib.mdDoc "Router concealment");
websocket = mkEndpointOpt "websockets" "127.0.0.1" 7666;
···
exploratory.outbound = i2cpOpts "exploratory";
ntcp2.enable = mkEnableTrueOption "NTCP2";
+
ntcp2.published = mkEnableOption (lib.mdDoc "NTCP2 publication");
ntcp2.port = mkOption {
type = types.int;
default = 0;
···
'';
};
+
yggdrasil.enable = mkEnableOption (lib.mdDoc "Yggdrasil");
yggdrasil.address = mkOption {
type = with types; nullOr str;
···
proto.http = (mkEndpointOpt "http" "127.0.0.1" 7070) // {
+
auth = mkEnableOption (lib.mdDoc "Webconsole authentication");
user = mkOption {
type = types.str;
···
};
proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "socksproxy-keys.dat")
// {
+
outproxyEnable = mkEnableOption (lib.mdDoc "SOCKS outproxy");
outproxy = mkOption {
type = types.str;
default = "127.0.0.1";
+1 -1
nixos/modules/services/networking/icecream/daemon.nix
···
services.icecream.daemon = {
-
enable = mkEnableOption "Icecream Daemon";
openFirewall = mkOption {
type = types.bool;
···
services.icecream.daemon = {
+
enable = mkEnableOption (lib.mdDoc "Icecream Daemon");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/icecream/scheduler.nix
···
options = {
services.icecream.scheduler = {
-
enable = mkEnableOption "Icecream Scheduler";
netName = mkOption {
type = types.nullOr types.str;
···
options = {
services.icecream.scheduler = {
+
enable = mkEnableOption (lib.mdDoc "Icecream Scheduler");
netName = mkOption {
type = types.nullOr types.str;
+1 -1
nixos/modules/services/networking/inspircd.nix
···
options = {
services.inspircd = {
-
enable = lib.mkEnableOption "InspIRCd";
package = lib.mkOption {
type = lib.types.package;
···
options = {
services.inspircd = {
+
enable = lib.mkEnableOption (lib.mdDoc "InspIRCd");
package = lib.mkOption {
type = lib.types.package;
+1 -1
nixos/modules/services/networking/iperf3.nix
···
cfg = config.services.iperf3;
api = {
-
enable = mkEnableOption "iperf3 network throughput testing server";
port = mkOption {
type = types.ints.u16;
default = 5201;
···
cfg = config.services.iperf3;
api = {
+
enable = mkEnableOption (lib.mdDoc "iperf3 network throughput testing server");
port = mkOption {
type = types.ints.u16;
default = 5201;
+1 -1
nixos/modules/services/networking/ircd-hybrid/default.nix
···
services.ircdHybrid = {
-
enable = mkEnableOption "IRCD";
serverName = mkOption {
default = "hades.arpa";
···
services.ircdHybrid = {
+
enable = mkEnableOption (lib.mdDoc "IRCD");
serverName = mkOption {
default = "hades.arpa";
+3 -3
nixos/modules/services/networking/iscsi/initiator.nix
···
in
{
options.services.openiscsi = with types; {
-
enable = mkEnableOption "the openiscsi iscsi daemon";
-
enableAutoLoginOut = mkEnableOption ''
automatic login and logout of all automatic targets.
You probably do not want this.
-
'';
discoverPortal = mkOption {
type = nullOr str;
default = null;
···
in
{
options.services.openiscsi = with types; {
+
enable = mkEnableOption (lib.mdDoc "the openiscsi iscsi daemon");
+
enableAutoLoginOut = mkEnableOption (lib.mdDoc ''
automatic login and logout of all automatic targets.
You probably do not want this.
+
'');
discoverPortal = mkOption {
type = nullOr str;
default = null;
+1 -1
nixos/modules/services/networking/iscsi/target.nix
···
###### interface
options = {
services.target = with types; {
-
enable = mkEnableOption "the kernel's LIO iscsi target";
config = mkOption {
type = attrs;
···
###### interface
options = {
services.target = with types; {
+
enable = mkEnableOption (lib.mdDoc "the kernel's LIO iscsi target");
config = mkOption {
type = attrs;
+1 -1
nixos/modules/services/networking/iwd.nix
···
in
{
options.networking.wireless.iwd = {
-
enable = mkEnableOption "iwd";
settings = mkOption {
type = ini.type;
···
in
{
options.networking.wireless.iwd = {
+
enable = mkEnableOption (lib.mdDoc "iwd");
settings = mkOption {
type = ini.type;
+1 -1
nixos/modules/services/networking/jibri/default.nix
···
in
{
options.services.jibri = with types; {
-
enable = mkEnableOption "Jitsi BRoadcasting Infrastructure. Currently Jibri must be run on a host that is also running <option>services.jitsi-meet.enable</option>, so for most use cases it will be simpler to run <option>services.jitsi-meet.jibri.enable</option>";
config = mkOption {
type = attrs;
default = { };
···
in
{
options.services.jibri = with types; {
+
enable = mkEnableOption (lib.mdDoc "Jitsi BRoadcasting Infrastructure. Currently Jibri must be run on a host that is also running {option}`services.jitsi-meet.enable`, so for most use cases it will be simpler to run {option}`services.jitsi-meet.jibri.enable`");
config = mkOption {
type = attrs;
default = { };
+1 -1
nixos/modules/services/networking/jicofo.nix
···
in
{
options.services.jicofo = with types; {
-
enable = mkEnableOption "Jitsi Conference Focus - component of Jitsi Meet";
xmppHost = mkOption {
type = str;
···
in
{
options.services.jicofo = with types; {
+
enable = mkEnableOption (lib.mdDoc "Jitsi Conference Focus - component of Jitsi Meet");
xmppHost = mkOption {
type = str;
+1 -1
nixos/modules/services/networking/jitsi-videobridge.nix
···
in
{
options.services.jitsi-videobridge = with types; {
-
enable = mkEnableOption "Jitsi Videobridge, a WebRTC compatible video router";
config = mkOption {
type = attrs;
···
in
{
options.services.jitsi-videobridge = with types; {
+
enable = mkEnableOption (lib.mdDoc "Jitsi Videobridge, a WebRTC compatible video router");
config = mkOption {
type = attrs;
+4 -4
nixos/modules/services/networking/kea.nix
···
default = {};
type = submodule {
options = {
-
enable = mkEnableOption "Kea Control Agent";
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
-
enable = mkEnableOption "Kea DHCP4 server";
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
-
enable = mkEnableOption "Kea DHCP6 server";
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
-
enable = mkEnableOption "Kea DDNS server";
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc "Kea Control Agent");
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc "Kea DHCP4 server");
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc "Kea DHCP6 server");
extraArgs = mkOption {
type = listOf str;
···
default = {};
type = submodule {
options = {
+
enable = mkEnableOption (lib.mdDoc "Kea DDNS server");
extraArgs = mkOption {
type = listOf str;
+1 -1
nixos/modules/services/networking/knot.nix
···
in {
options = {
services.knot = {
-
enable = mkEnableOption "Knot authoritative-only DNS server";
extraArgs = mkOption {
type = types.listOf types.str;
···
in {
options = {
services.knot = {
+
enable = mkEnableOption (lib.mdDoc "Knot authoritative-only DNS server");
extraArgs = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/libreswan.nix
···
services.libreswan = {
-
enable = mkEnableOption "Libreswan IPsec service";
configSetup = mkOption {
type = types.lines;
···
services.libreswan = {
+
enable = mkEnableOption (lib.mdDoc "Libreswan IPsec service");
configSetup = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/networking/lldpd.nix
···
{
options.services.lldpd = {
-
enable = mkEnableOption "Link Layer Discovery Protocol Daemon";
extraArgs = mkOption {
type = types.listOf types.str;
···
{
options.services.lldpd = {
+
enable = mkEnableOption (lib.mdDoc "Link Layer Discovery Protocol Daemon");
extraArgs = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/lokinet.nix
···
configFile = settingsFormat.generate "lokinet.ini" (lib.filterAttrsRecursive (n: v: v != null) cfg.settings);
in with lib; {
options.services.lokinet = {
-
enable = mkEnableOption "Lokinet daemon";
package = mkOption {
type = types.package;
···
configFile = settingsFormat.generate "lokinet.ini" (lib.filterAttrsRecursive (n: v: v != null) cfg.settings);
in with lib; {
options.services.lokinet = {
+
enable = mkEnableOption (lib.mdDoc "Lokinet daemon");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/networking/lxd-image-server.nix
···
{
options = {
services.lxd-image-server = {
-
enable = mkEnableOption "lxd-image-server";
group = mkOption {
type = types.str;
···
};
nginx = {
-
enable = mkEnableOption "nginx";
domain = mkOption {
type = types.str;
description = lib.mdDoc "Domain to use for nginx virtual host.";
···
{
options = {
services.lxd-image-server = {
+
enable = mkEnableOption (lib.mdDoc "lxd-image-server");
group = mkOption {
type = types.str;
···
};
nginx = {
+
enable = mkEnableOption (lib.mdDoc "nginx");
domain = mkOption {
type = types.str;
description = lib.mdDoc "Domain to use for nginx virtual host.";
+1 -1
nixos/modules/services/networking/magic-wormhole-mailbox-server.nix
···
in
{
options.services.magic-wormhole-mailbox-server = {
-
enable = mkEnableOption "Enable Magic Wormhole Mailbox Server";
};
config = mkIf cfg.enable {
···
in
{
options.services.magic-wormhole-mailbox-server = {
+
enable = mkEnableOption (lib.mdDoc "Enable Magic Wormhole Mailbox Server");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/networking/matterbridge.nix
···
{
options = {
services.matterbridge = {
-
enable = mkEnableOption "Matterbridge chat platform bridge";
configPath = mkOption {
type = with types; nullOr str;
···
{
options = {
services.matterbridge = {
+
enable = mkEnableOption (lib.mdDoc "Matterbridge chat platform bridge");
configPath = mkOption {
type = with types; nullOr str;
+2 -2
nixos/modules/services/networking/miniupnpd.nix
···
{
options = {
services.miniupnpd = {
-
enable = mkEnableOption "MiniUPnP daemon";
externalInterface = mkOption {
type = types.str;
···
'';
};
-
natpmp = mkEnableOption "NAT-PMP support";
upnp = mkOption {
default = true;
···
{
options = {
services.miniupnpd = {
+
enable = mkEnableOption (lib.mdDoc "MiniUPnP daemon");
externalInterface = mkOption {
type = types.str;
···
'';
};
+
natpmp = mkEnableOption (lib.mdDoc "NAT-PMP support");
upnp = mkOption {
default = true;
+1 -1
nixos/modules/services/networking/miredo.nix
···
services.miredo = {
-
enable = mkEnableOption "the Miredo IPv6 tunneling service";
package = mkOption {
type = types.package;
···
services.miredo = {
+
enable = mkEnableOption (lib.mdDoc "the Miredo IPv6 tunneling service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/mjpg-streamer.nix
···
services.mjpg-streamer = {
-
enable = mkEnableOption "mjpg-streamer webcam streamer";
inputPlugin = mkOption {
type = types.str;
···
services.mjpg-streamer = {
+
enable = mkEnableOption (lib.mdDoc "mjpg-streamer webcam streamer");
inputPlugin = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/monero.nix
···
services.monero = {
-
enable = mkEnableOption "Monero node daemon";
dataDir = mkOption {
type = types.str;
···
services.monero = {
+
enable = mkEnableOption (lib.mdDoc "Monero node daemon");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/morty.nix
···
services.morty = {
enable = mkEnableOption
-
"Morty proxy server. See https://github.com/asciimoo/morty";
ipv6 = mkOption {
type = types.bool;
···
services.morty = {
enable = mkEnableOption
+
(lib.mdDoc "Morty proxy server. See https://github.com/asciimoo/morty");
ipv6 = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/mosquitto.nix
···
};
globalOptions = with types; {
-
enable = mkEnableOption "the MQTT Mosquitto broker";
package = mkOption {
type = package;
···
};
globalOptions = with types; {
+
enable = mkEnableOption (lib.mdDoc "the MQTT Mosquitto broker");
package = mkOption {
type = package;
+1 -1
nixos/modules/services/networking/mtprotoproxy.nix
···
services.mtprotoproxy = {
-
enable = mkEnableOption "mtprotoproxy";
port = mkOption {
type = types.int;
···
services.mtprotoproxy = {
+
enable = mkEnableOption (lib.mdDoc "mtprotoproxy");
port = mkOption {
type = types.int;
+1 -1
nixos/modules/services/networking/mtr-exporter.nix
···
options = {
services = {
mtr-exporter = {
-
enable = mkEnableOption "a Prometheus exporter for MTR";
target = mkOption {
type = types.str;
···
options = {
services = {
mtr-exporter = {
+
enable = mkEnableOption (lib.mdDoc "a Prometheus exporter for MTR");
target = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/multipath.nix
···
options.services.multipath = with types; {
-
enable = mkEnableOption "the device mapper multipath (DM-MP) daemon";
package = mkOption {
type = package;
···
options.services.multipath = with types; {
+
enable = mkEnableOption (lib.mdDoc "the device mapper multipath (DM-MP) daemon");
package = mkOption {
type = package;
+1 -1
nixos/modules/services/networking/mxisd.nix
···
in {
options = {
services.mxisd = {
-
enable = mkEnableOption "matrix federated identity server";
package = mkOption {
type = types.package;
···
in {
options = {
services.mxisd = {
+
enable = mkEnableOption (lib.mdDoc "matrix federated identity server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/namecoind.nix
···
services.namecoind = {
-
enable = mkEnableOption "namecoind, Namecoin client";
wallet = mkOption {
type = types.path;
···
services.namecoind = {
+
enable = mkEnableOption (lib.mdDoc "namecoind, Namecoin client");
wallet = mkOption {
type = types.path;
+1 -1
nixos/modules/services/networking/nar-serve.nix
···
};
options = {
services.nar-serve = {
-
enable = mkEnableOption "Serve NAR file contents via HTTP";
port = mkOption {
type = types.port;
···
};
options = {
services.nar-serve = {
+
enable = mkEnableOption (lib.mdDoc "Serve NAR file contents via HTTP");
port = mkOption {
type = types.port;
+2 -2
nixos/modules/services/networking/nats.nix
···
options = {
services.nats = {
-
enable = mkEnableOption "NATS messaging system";
user = mkOption {
type = types.str;
···
'';
};
-
jetstream = mkEnableOption "JetStream";
port = mkOption {
default = 4222;
···
options = {
services.nats = {
+
enable = mkEnableOption (lib.mdDoc "NATS messaging system");
user = mkOption {
type = types.str;
···
'';
};
+
jetstream = mkEnableOption (lib.mdDoc "JetStream");
port = mkOption {
default = 4222;
+1 -1
nixos/modules/services/networking/nbd.nix
···
options = {
services.nbd = {
server = {
-
enable = mkEnableOption "the Network Block Device (nbd) server";
listenPort = mkOption {
type = types.port;
···
options = {
services.nbd = {
server = {
+
enable = mkEnableOption (lib.mdDoc "the Network Block Device (nbd) server");
listenPort = mkOption {
type = types.port;
+7 -7
nixos/modules/services/networking/ncdns.nix
···
services.ncdns = {
-
enable = mkEnableOption ''
ncdns, a Go daemon to bridge Namecoin to DNS.
-
To resolve .bit domains set <literal>services.namecoind.enable = true;</literal>
and an RPC username/password
-
'';
address = mkOption {
type = types.str;
···
'';
};
-
dnssec.enable = mkEnableOption ''
DNSSEC support in ncdns. This will generate KSK and ZSK keypairs
(unless provided via the options
-
<option>services.ncdns.dnssec.publicKey</option>,
-
<option>services.ncdns.dnssec.privateKey</option> etc.) and add a trust
anchor to recursive resolvers
-
'';
dnssec.keys.public = mkOption {
type = types.path;
···
services.ncdns = {
+
enable = mkEnableOption (lib.mdDoc ''
ncdns, a Go daemon to bridge Namecoin to DNS.
+
To resolve .bit domains set `services.namecoind.enable = true;`
and an RPC username/password
+
'');
address = mkOption {
type = types.str;
···
'';
};
+
dnssec.enable = mkEnableOption (lib.mdDoc ''
DNSSEC support in ncdns. This will generate KSK and ZSK keypairs
(unless provided via the options
+
{option}`services.ncdns.dnssec.publicKey`,
+
{option}`services.ncdns.dnssec.privateKey` etc.) and add a trust
anchor to recursive resolvers
+
'');
dnssec.keys.public = mkOption {
type = types.path;
+5 -5
nixos/modules/services/networking/ndppd.nix
···
in {
options.services.ndppd = {
-
enable = mkEnableOption "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces";
interface = mkOption {
type = types.nullOr types.str;
-
description = ''
Interface which is on link-level with router.
-
(Legacy option, use services.ndppd.proxies.&lt;interface&gt;.rules.&lt;network&gt; instead)
'';
default = null;
example = "eth0";
};
network = mkOption {
type = types.nullOr types.str;
-
description = ''
Network that we proxy.
-
(Legacy option, use services.ndppd.proxies.&lt;interface&gt;.rules.&lt;network&gt; instead)
'';
default = null;
example = "1111::/64";
···
in {
options.services.ndppd = {
+
enable = mkEnableOption (lib.mdDoc "daemon that proxies NDP (Neighbor Discovery Protocol) messages between interfaces");
interface = mkOption {
type = types.nullOr types.str;
+
description = lib.mdDoc ''
Interface which is on link-level with router.
+
(Legacy option, use services.ndppd.proxies.\<interface\>.rules.\<network\> instead)
'';
default = null;
example = "eth0";
};
network = mkOption {
type = types.nullOr types.str;
+
description = lib.mdDoc ''
Network that we proxy.
+
(Legacy option, use services.ndppd.proxies.\<interface\>.rules.\<network\> instead)
'';
default = null;
example = "1111::/64";
+2 -2
nixos/modules/services/networking/netbird.nix
···
meta.maintainers = with maintainers; [ misuzu ];
options.services.netbird = {
-
enable = mkEnableOption "Netbird daemon";
package = mkOption {
type = types.package;
default = pkgs.netbird;
defaultText = literalExpression "pkgs.netbird";
-
description = "The package to use for netbird";
};
};
···
meta.maintainers = with maintainers; [ misuzu ];
options.services.netbird = {
+
enable = mkEnableOption (lib.mdDoc "Netbird daemon");
package = mkOption {
type = types.package;
default = pkgs.netbird;
defaultText = literalExpression "pkgs.netbird";
+
description = lib.mdDoc "The package to use for netbird";
};
};
+3 -3
nixos/modules/services/networking/nghttpx/nghttpx-options.nix
···
{ lib, ... }:
{ options.services.nghttpx = {
-
enable = lib.mkEnableOption "nghttpx";
frontends = lib.mkOption {
type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
···
rlimit-nofile = lib.mkOption {
type = lib.types.int;
default = 0;
-
description = ''
-
Set maximum number of open files (RLIMIT_NOFILE) to &lt;N&gt;. If 0
is given, nghttpx does not set the limit.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
···
{ lib, ... }:
{ options.services.nghttpx = {
+
enable = lib.mkEnableOption (lib.mdDoc "nghttpx");
frontends = lib.mkOption {
type = lib.types.listOf (lib.types.submodule (import ./frontend-submodule.nix));
···
rlimit-nofile = lib.mkOption {
type = lib.types.int;
default = 0;
+
description = lib.mdDoc ''
+
Set maximum number of open files (RLIMIT_NOFILE) to \<N\>. If 0
is given, nghttpx does not set the limit.
Please see https://nghttp2.org/documentation/nghttpx.1.html#cmdoption-nghttpx--rlimit-nofile
+1 -1
nixos/modules/services/networking/ngircd.nix
···
in {
options = {
services.ngircd = {
-
enable = mkEnableOption "the ngircd IRC server";
config = mkOption {
description = lib.mdDoc "The ngircd configuration (see ngircd.conf(5)).";
···
in {
options = {
services.ngircd = {
+
enable = mkEnableOption (lib.mdDoc "the ngircd IRC server");
config = mkOption {
description = lib.mdDoc "The ngircd configuration (see ngircd.conf(5)).";
+1 -1
nixos/modules/services/networking/nix-serve.nix
···
{
options = {
services.nix-serve = {
-
enable = mkEnableOption "nix-serve, the standalone Nix binary cache server";
port = mkOption {
type = types.port;
···
{
options = {
services.nix-serve = {
+
enable = mkEnableOption (lib.mdDoc "nix-serve, the standalone Nix binary cache server");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/networking/nntp-proxy.nix
···
options = {
services.nntp-proxy = {
-
enable = mkEnableOption "NNTP-Proxy";
upstreamServer = mkOption {
type = types.str;
···
options = {
services.nntp-proxy = {
+
enable = mkEnableOption (lib.mdDoc "NNTP-Proxy");
upstreamServer = mkOption {
type = types.str;
+3 -3
nixos/modules/services/networking/nomad.nix
···
##### interface
options = {
services.nomad = {
-
enable = mkEnableOption "Nomad, a distributed, highly available, datacenter-aware scheduler";
package = mkOption {
type = types.package;
···
extraPackages = mkOption {
type = types.listOf types.package;
default = [ ];
-
description = ''
-
Extra packages to add to <envar>PATH</envar> for the Nomad agent process.
'';
example = literalExpression ''
with pkgs; [ cni-plugins ]
···
##### interface
options = {
services.nomad = {
+
enable = mkEnableOption (lib.mdDoc "Nomad, a distributed, highly available, datacenter-aware scheduler");
package = mkOption {
type = types.package;
···
extraPackages = mkOption {
type = types.listOf types.package;
default = [ ];
+
description = lib.mdDoc ''
+
Extra packages to add to {env}`PATH` for the Nomad agent process.
'';
example = literalExpression ''
with pkgs; [ cni-plugins ]
+8 -8
nixos/modules/services/networking/nsd.nix
···
'';
};
-
dnssec = mkEnableOption "DNSSEC";
dnssecPolicy = {
algorithm = mkOption {
···
type = types.listOf types.str;
default = [];
example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
-
description = ''
Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
-
address range 192.0.2.0/24, 1.2.3.4&amp;255.255.0.0, 3.0.2.20-3.0.2.40
'';
};
···
# options are ordered alphanumerically
options.services.nsd = {
-
enable = mkEnableOption "NSD authoritative DNS server";
-
bind8Stats = mkEnableOption "BIND8 like statistics";
dnssecInterval = mkOption {
type = types.str;
···
'';
};
-
roundRobin = mkEnableOption "round robin rotation of records";
serverCount = mkOption {
type = types.int;
···
ratelimit = {
-
enable = mkEnableOption "ratelimit capabilities";
ipv4PrefixLength = mkOption {
type = types.nullOr types.int;
···
remoteControl = {
-
enable = mkEnableOption "remote control via nsd-control";
controlCertFile = mkOption {
type = types.path;
···
'';
};
+
dnssec = mkEnableOption (lib.mdDoc "DNSSEC");
dnssecPolicy = {
algorithm = mkOption {
···
type = types.listOf types.str;
default = [];
example = [ "192.0.2.0/24 NOKEY" "192.0.2.0/24 my_tsig_key_name" ];
+
description = lib.mdDoc ''
Allow these IPs and TSIG to transfer zones, addr TSIG|NOKEY|BLOCKED
+
address range 192.0.2.0/24, 1.2.3.4&255.255.0.0, 3.0.2.20-3.0.2.40
'';
};
···
# options are ordered alphanumerically
options.services.nsd = {
+
enable = mkEnableOption (lib.mdDoc "NSD authoritative DNS server");
+
bind8Stats = mkEnableOption (lib.mdDoc "BIND8 like statistics");
dnssecInterval = mkOption {
type = types.str;
···
'';
};
+
roundRobin = mkEnableOption (lib.mdDoc "round robin rotation of records");
serverCount = mkOption {
type = types.int;
···
ratelimit = {
+
enable = mkEnableOption (lib.mdDoc "ratelimit capabilities");
ipv4PrefixLength = mkOption {
type = types.nullOr types.int;
···
remoteControl = {
+
enable = mkEnableOption (lib.mdDoc "remote control via nsd-control");
controlCertFile = mkOption {
type = types.path;
+1 -1
nixos/modules/services/networking/ntp/openntpd.nix
···
###### interface
options.services.openntpd = {
-
enable = mkEnableOption "OpenNTP time synchronization server";
servers = mkOption {
default = config.services.ntp.servers;
···
###### interface
options.services.openntpd = {
+
enable = mkEnableOption (lib.mdDoc "OpenNTP time synchronization server");
servers = mkOption {
default = config.services.ntp.servers;
+1 -1
nixos/modules/services/networking/nullidentdmod.nix
···
in {
options.services.nullidentdmod = with types; {
-
enable = mkEnableOption "the nullidentdmod identd daemon";
userid = mkOption {
type = nullOr str;
···
in {
options.services.nullidentdmod = with types; {
+
enable = mkEnableOption (lib.mdDoc "the nullidentdmod identd daemon");
userid = mkOption {
type = nullOr str;
+1 -1
nixos/modules/services/networking/ocserv.nix
···
{
options.services.ocserv = {
-
enable = mkEnableOption "ocserv";
config = mkOption {
type = types.lines;
···
{
options.services.ocserv = {
+
enable = mkEnableOption (lib.mdDoc "ocserv");
config = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/networking/ofono.nix
···
###### interface
options = {
services.ofono = {
-
enable = mkEnableOption "Ofono";
plugins = mkOption {
type = types.listOf types.package;
···
###### interface
options = {
services.ofono = {
+
enable = mkEnableOption (lib.mdDoc "Ofono");
plugins = mkOption {
type = types.listOf types.package;
+1 -1
nixos/modules/services/networking/ostinato.nix
···
services.ostinato = {
-
enable = mkEnableOption "Ostinato agent-controller (Drone)";
port = mkOption {
type = types.int;
···
services.ostinato = {
+
enable = mkEnableOption (lib.mdDoc "Ostinato agent-controller (Drone)");
port = mkOption {
type = types.int;
+1 -1
nixos/modules/services/networking/owamp.nix
···
###### interface
options = {
-
services.owamp.enable = mkEnableOption "Enable OWAMP server";
};
···
###### interface
options = {
+
services.owamp.enable = mkEnableOption (lib.mdDoc "Enable OWAMP server");
};
+1 -1
nixos/modules/services/networking/pdns-recursor.nix
···
in {
options.services.pdns-recursor = {
-
enable = mkEnableOption "PowerDNS Recursor, a recursive DNS server";
dns.address = mkOption {
type = oneOrMore types.str;
···
in {
options.services.pdns-recursor = {
+
enable = mkEnableOption (lib.mdDoc "PowerDNS Recursor, a recursive DNS server");
dns.address = mkOption {
type = oneOrMore types.str;
+1 -1
nixos/modules/services/networking/pdnsd.nix
···
{ options =
{ services.pdnsd =
-
{ enable = mkEnableOption "pdnsd";
cacheDir = mkOption {
type = types.str;
···
{ options =
{ services.pdnsd =
+
{ enable = mkEnableOption (lib.mdDoc "pdnsd");
cacheDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/pixiecore.nix
···
options = {
services.pixiecore = {
-
enable = mkEnableOption "Pixiecore";
openFirewall = mkOption {
type = types.bool;
···
options = {
services.pixiecore = {
+
enable = mkEnableOption (lib.mdDoc "Pixiecore");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/pleroma.nix
···
in {
options = {
services.pleroma = with lib; {
-
enable = mkEnableOption "pleroma";
package = mkOption {
type = types.package;
···
in {
options = {
services.pleroma = with lib; {
+
enable = mkEnableOption (lib.mdDoc "pleroma");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/powerdns.nix
···
in {
options = {
services.powerdns = {
-
enable = mkEnableOption "PowerDNS domain name server";
extraConfig = mkOption {
type = types.lines;
···
in {
options = {
services.powerdns = {
+
enable = mkEnableOption (lib.mdDoc "PowerDNS domain name server");
extraConfig = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/networking/pppd.nix
···
options = {
services.pppd = {
-
enable = mkEnableOption "pppd";
package = mkOption {
default = pkgs.ppp;
···
options = {
services.pppd = {
+
enable = mkEnableOption (lib.mdDoc "pppd");
package = mkOption {
default = pkgs.ppp;
+1 -1
nixos/modules/services/networking/pptpd.nix
···
{
options = {
services.pptpd = {
-
enable = mkEnableOption "pptpd, the Point-to-Point Tunneling Protocol daemon";
serverIp = mkOption {
type = types.str;
···
{
options = {
services.pptpd = {
+
enable = mkEnableOption (lib.mdDoc "pptpd, the Point-to-Point Tunneling Protocol daemon");
serverIp = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/prayer.nix
···
services.prayer = {
-
enable = mkEnableOption "the prayer webmail http server";
port = mkOption {
default = 2080;
···
services.prayer = {
+
enable = mkEnableOption (lib.mdDoc "the prayer webmail http server");
port = mkOption {
default = 2080;
+1 -1
nixos/modules/services/networking/privoxy.nix
···
options.services.privoxy = {
-
enable = mkEnableOption "Privoxy, non-caching filtering proxy";
enableTor = mkOption {
type = types.bool;
···
options.services.privoxy = {
+
enable = mkEnableOption (lib.mdDoc "Privoxy, non-caching filtering proxy");
enableTor = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/quassel.nix
···
services.quassel = {
-
enable = mkEnableOption "the Quassel IRC client daemon";
certificateFile = mkOption {
type = types.nullOr types.str;
···
services.quassel = {
+
enable = mkEnableOption (lib.mdDoc "the Quassel IRC client daemon");
certificateFile = mkOption {
type = types.nullOr types.str;
+1 -1
nixos/modules/services/networking/quorum.nix
···
options = {
services.quorum = {
-
enable = mkEnableOption "Quorum blockchain daemon";
user = mkOption {
type = types.str;
···
options = {
services.quorum = {
+
enable = mkEnableOption (lib.mdDoc "Quorum blockchain daemon");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/r53-ddns.nix
···
options = {
services.r53-ddns = {
-
enable = mkEnableOption "r53-ddyns";
interval = mkOption {
type = types.str;
···
options = {
services.r53-ddns = {
+
enable = mkEnableOption (lib.mdDoc "r53-ddyns");
interval = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/radicale.nix
···
in {
options.services.radicale = {
-
enable = mkEnableOption "Radicale CalDAV and CardDAV server";
package = mkOption {
description = lib.mdDoc "Radicale package to use.";
···
in {
options.services.radicale = {
+
enable = mkEnableOption (lib.mdDoc "Radicale CalDAV and CardDAV server");
package = mkOption {
description = lib.mdDoc "Radicale package to use.";
+1 -1
nixos/modules/services/networking/robustirc-bridge.nix
···
{
options = {
services.robustirc-bridge = {
-
enable = mkEnableOption "RobustIRC bridge";
extraFlags = mkOption {
type = types.listOf types.str;
···
{
options = {
services.robustirc-bridge = {
+
enable = mkEnableOption (lib.mdDoc "RobustIRC bridge");
extraFlags = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/routedns.nix
···
in
{
options.services.routedns = {
-
enable = mkEnableOption "RouteDNS - DNS stub resolver, proxy and router";
settings = mkOption {
type = settingsFormat.type;
···
in
{
options.services.routedns = {
+
enable = mkEnableOption (lib.mdDoc "RouteDNS - DNS stub resolver, proxy and router");
settings = mkOption {
type = settingsFormat.type;
+3 -3
nixos/modules/services/networking/rxe.nix
···
options = {
networking.rxe = {
-
enable = mkEnableOption "RDMA over converged ethernet";
interfaces = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "eth0" ];
-
description = ''
Enable RDMA on the listed interfaces. The corresponding virtual
-
RDMA interfaces will be named rxe_&lt;interface&gt;.
UDP port 4791 must be open on the respective ethernet interfaces.
'';
};
···
options = {
networking.rxe = {
+
enable = mkEnableOption (lib.mdDoc "RDMA over converged ethernet");
interfaces = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "eth0" ];
+
description = lib.mdDoc ''
Enable RDMA on the listed interfaces. The corresponding virtual
+
RDMA interfaces will be named rxe_\<interface\>.
UDP port 4791 must be open on the respective ethernet interfaces.
'';
};
+1 -1
nixos/modules/services/networking/sabnzbd.nix
···
options = {
services.sabnzbd = {
-
enable = mkEnableOption "the sabnzbd server";
package = mkOption {
type = types.package;
···
options = {
services.sabnzbd = {
+
enable = mkEnableOption (lib.mdDoc "the sabnzbd server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/seafile.nix
···
###### Interface
options.services.seafile = {
-
enable = mkEnableOption "Seafile server";
ccnetSettings = mkOption {
type = types.submodule {
···
###### Interface
options.services.seafile = {
+
enable = mkEnableOption (lib.mdDoc "Seafile server");
ccnetSettings = mkOption {
type = types.submodule {
+1 -1
nixos/modules/services/networking/shellhub-agent.nix
···
services.shellhub-agent = {
-
enable = mkEnableOption "ShellHub Agent daemon";
package = mkPackageOption pkgs "shellhub-agent" { };
···
services.shellhub-agent = {
+
enable = mkEnableOption (lib.mdDoc "ShellHub Agent daemon");
package = mkPackageOption pkgs "shellhub-agent" { };
+1 -1
nixos/modules/services/networking/shout.nix
···
in {
options.services.shout = {
-
enable = mkEnableOption "Shout web IRC client";
private = mkOption {
type = types.bool;
···
in {
options.services.shout = {
+
enable = mkEnableOption (lib.mdDoc "Shout web IRC client");
private = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/skydns.nix
···
in {
options.services.skydns = {
-
enable = mkEnableOption "skydns service";
etcd = {
machines = mkOption {
···
in {
options.services.skydns = {
+
enable = mkEnableOption (lib.mdDoc "skydns service");
etcd = {
machines = mkOption {
+1 -1
nixos/modules/services/networking/smartdns.nix
···
} cfg.settings);
in {
options.services.smartdns = {
-
enable = mkEnableOption "SmartDNS DNS server";
bindPort = mkOption {
type = types.port;
···
} cfg.settings);
in {
options.services.smartdns = {
+
enable = mkEnableOption (lib.mdDoc "SmartDNS DNS server");
bindPort = mkOption {
type = types.port;
+1 -1
nixos/modules/services/networking/sniproxy.nix
···
options = {
services.sniproxy = {
-
enable = mkEnableOption "sniproxy server";
user = mkOption {
type = types.str;
···
options = {
services.sniproxy = {
+
enable = mkEnableOption (lib.mdDoc "sniproxy server");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/snowflake-proxy.nix
···
{
options = {
services.snowflake-proxy = {
-
enable = mkEnableOption "System to defeat internet censorship";
broker = mkOption {
description = lib.mdDoc "Broker URL (default \"https://snowflake-broker.torproject.net/\")";
···
{
options = {
services.snowflake-proxy = {
+
enable = mkEnableOption (lib.mdDoc "System to defeat internet censorship");
broker = mkOption {
description = lib.mdDoc "Broker URL (default \"https://snowflake-broker.torproject.net/\")";
+4 -4
nixos/modules/services/networking/softether.nix
···
services.softether = {
-
enable = mkEnableOption "SoftEther VPN services";
package = mkOption {
type = types.package;
···
'';
};
-
vpnserver.enable = mkEnableOption "SoftEther VPN Server";
-
vpnbridge.enable = mkEnableOption "SoftEther VPN Bridge";
vpnclient = {
-
enable = mkEnableOption "SoftEther VPN Client";
up = mkOption {
type = types.lines;
default = "";
···
services.softether = {
+
enable = mkEnableOption (lib.mdDoc "SoftEther VPN services");
package = mkOption {
type = types.package;
···
'';
};
+
vpnserver.enable = mkEnableOption (lib.mdDoc "SoftEther VPN Server");
+
vpnbridge.enable = mkEnableOption (lib.mdDoc "SoftEther VPN Bridge");
vpnclient = {
+
enable = mkEnableOption (lib.mdDoc "SoftEther VPN Client");
up = mkOption {
type = types.lines;
default = "";
+1 -1
nixos/modules/services/networking/soju.nix
···
###### interface
options.services.soju = {
-
enable = mkEnableOption "soju";
listen = mkOption {
type = types.listOf types.str;
···
###### interface
options.services.soju = {
+
enable = mkEnableOption (lib.mdDoc "soju");
listen = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/solanum.nix
···
services.solanum = {
-
enable = mkEnableOption "Solanum IRC daemon";
config = mkOption {
type = types.str;
···
services.solanum = {
+
enable = mkEnableOption (lib.mdDoc "Solanum IRC daemon");
config = mkOption {
type = types.str;
+2 -2
nixos/modules/services/networking/spacecookie.nix
···
services.spacecookie = {
-
enable = mkEnableOption "spacecookie";
package = mkOption {
type = types.package;
···
};
options.log = {
-
enable = mkEnableOption "logging for spacecookie"
// { default = true; example = false; };
hide-ips = mkOption {
···
services.spacecookie = {
+
enable = mkEnableOption (lib.mdDoc "spacecookie");
package = mkOption {
type = types.package;
···
};
options.log = {
+
enable = mkEnableOption (lib.mdDoc "logging for spacecookie")
// { default = true; example = false; };
hide-ips = mkOption {
+1 -1
nixos/modules/services/networking/sslh.nix
···
options = {
services.sslh = {
-
enable = mkEnableOption "sslh";
verbose = mkOption {
type = types.bool;
···
options = {
services.sslh = {
+
enable = mkEnableOption (lib.mdDoc "sslh");
verbose = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/strongswan-swanctl/module.nix
···
swanctlParams = import ./swanctl-params.nix lib;
in {
options.services.strongswan-swanctl = {
-
enable = mkEnableOption "strongswan-swanctl service";
package = mkOption {
type = types.package;
···
swanctlParams = import ./swanctl-params.nix lib;
in {
options.services.strongswan-swanctl = {
+
enable = mkEnableOption (lib.mdDoc "strongswan-swanctl service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/strongswan.nix
···
in
{
options.services.strongswan = {
-
enable = mkEnableOption "strongSwan";
secrets = mkOption {
type = types.listOf types.str;
···
in
{
options.services.strongswan = {
+
enable = mkEnableOption (lib.mdDoc "strongSwan");
secrets = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/stubby.nix
···
options = {
services.stubby = {
-
enable = mkEnableOption "Stubby DNS resolver";
settings = mkOption {
type = types.attrsOf settingsFormat.type;
···
options = {
services.stubby = {
+
enable = mkEnableOption (lib.mdDoc "Stubby DNS resolver");
settings = mkOption {
type = types.attrsOf settingsFormat.type;
+2 -2
nixos/modules/services/networking/supybot.nix
···
type = types.functionTo (types.listOf types.package);
default = p: [];
defaultText = literalExpression "p: []";
-
description = ''
Extra Python packages available to supybot plugins. The
value must be a function which receives the attrset defined
-
in <varname>python3Packages</varname> as the sole argument.
'';
example = literalExpression "p: [ p.lxml p.requests ]";
};
···
type = types.functionTo (types.listOf types.package);
default = p: [];
defaultText = literalExpression "p: []";
+
description = lib.mdDoc ''
Extra Python packages available to supybot plugins. The
value must be a function which receives the attrset defined
+
in {var}`python3Packages` as the sole argument.
'';
example = literalExpression "p: [ p.lxml p.requests ]";
};
+1 -1
nixos/modules/services/networking/syncthing-relay.nix
···
###### interface
options.services.syncthing.relay = {
-
enable = mkEnableOption "Syncthing relay service";
listenAddress = mkOption {
type = types.str;
···
###### interface
options.services.syncthing.relay = {
+
enable = mkEnableOption (lib.mdDoc "Syncthing relay service");
listenAddress = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/syncthing.nix
···
services.syncthing = {
enable = mkEnableOption
-
"Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync";
cert = mkOption {
type = types.nullOr types.str;
···
services.syncthing = {
enable = mkEnableOption
+
(lib.mdDoc "Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync");
cert = mkOption {
type = types.nullOr types.str;
+1 -1
nixos/modules/services/networking/tailscale.nix
···
meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
options.services.tailscale = {
-
enable = mkEnableOption "Tailscale client daemon";
port = mkOption {
type = types.port;
···
meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
options.services.tailscale = {
+
enable = mkEnableOption (lib.mdDoc "Tailscale client daemon");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/networking/tedicross.nix
···
in {
options = {
services.tedicross = {
-
enable = mkEnableOption "the TediCross Telegram-Discord bridge service";
config = mkOption {
type = types.attrs;
···
in {
options = {
services.tedicross = {
+
enable = mkEnableOption (lib.mdDoc "the TediCross Telegram-Discord bridge service");
config = mkOption {
type = types.attrs;
+6 -6
nixos/modules/services/networking/teleport.nix
···
{
options = {
services.teleport = with lib.types; {
-
enable = mkEnableOption "the Teleport service";
settings = mkOption {
type = settingsYaml.type;
···
'';
};
-
insecure.enable = mkEnableOption ''
starting teleport in insecure mode.
This is dangerous!
···
Proceed with caution!
Teleport starts with disabled certificate validation on Proxy Service, validation still occurs on Auth Service
-
'';
diag = {
-
enable = mkEnableOption ''
endpoints for monitoring purposes.
-
See <link xlink:href="https://goteleport.com/docs/setup/admin/troubleshooting/#troubleshooting/"/>
-
'';
addr = mkOption {
type = str;
···
{
options = {
services.teleport = with lib.types; {
+
enable = mkEnableOption (lib.mdDoc "the Teleport service");
settings = mkOption {
type = settingsYaml.type;
···
'';
};
+
insecure.enable = mkEnableOption (lib.mdDoc ''
starting teleport in insecure mode.
This is dangerous!
···
Proceed with caution!
Teleport starts with disabled certificate validation on Proxy Service, validation still occurs on Auth Service
+
'');
diag = {
+
enable = mkEnableOption (lib.mdDoc ''
endpoints for monitoring purposes.
+
See <https://goteleport.com/docs/setup/admin/troubleshooting/#troubleshooting/>
+
'');
addr = mkOption {
type = str;
+1 -1
nixos/modules/services/networking/tetrd.nix
···
{ config, lib, pkgs, ... }:
{
-
options.services.tetrd.enable = lib.mkEnableOption "tetrd";
config = lib.mkIf config.services.tetrd.enable {
environment = {
···
{ config, lib, pkgs, ... }:
{
+
options.services.tetrd.enable = lib.mkEnableOption (lib.mdDoc "tetrd");
config = lib.mkIf config.services.tetrd.enable {
environment = {
+1 -1
nixos/modules/services/networking/thelounge.nix
···
imports = [ (mkRemovedOptionModule [ "services" "thelounge" "private" ] "The option was renamed to `services.thelounge.public` to follow upstream changes.") ];
options.services.thelounge = {
-
enable = mkEnableOption "The Lounge web IRC client";
public = mkOption {
type = types.bool;
···
imports = [ (mkRemovedOptionModule [ "services" "thelounge" "private" ] "The option was renamed to `services.thelounge.public` to follow upstream changes.") ];
options.services.thelounge = {
+
enable = mkEnableOption (lib.mdDoc "The Lounge web IRC client");
public = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/tox-node.nix
···
in {
options.services.tox-node = {
-
enable = mkEnableOption "Tox Node service";
logType = mkOption {
type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ];
···
in {
options.services.tox-node = {
+
enable = mkEnableOption (lib.mdDoc "Tox Node service");
logType = mkOption {
type = types.enum [ "Stderr" "Stdout" "Syslog" "None" ];
+1 -1
nixos/modules/services/networking/toxvpn.nix
···
{
options = {
services.toxvpn = {
-
enable = mkEnableOption "toxvpn running on startup";
localip = mkOption {
type = types.str;
···
{
options = {
services.toxvpn = {
+
enable = mkEnableOption (lib.mdDoc "toxvpn running on startup");
localip = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/tvheadend.nix
···
{
options = {
services.tvheadend = {
-
enable = mkEnableOption "Tvheadend";
httpPort = mkOption {
type = types.int;
default = 9981;
···
{
options = {
services.tvheadend = {
+
enable = mkEnableOption (lib.mdDoc "Tvheadend");
httpPort = mkOption {
type = types.int;
default = 9981;
+1 -1
nixos/modules/services/networking/ucarp.nix
···
);
in {
options.networking.ucarp = {
-
enable = mkEnableOption "ucarp, userspace implementation of CARP";
interface = mkOption {
type = types.str;
···
);
in {
options.networking.ucarp = {
+
enable = mkEnableOption (lib.mdDoc "ucarp, userspace implementation of CARP");
interface = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/unbound.nix
···
options = {
services.unbound = {
-
enable = mkEnableOption "Unbound domain name server";
package = mkOption {
type = types.package;
···
options = {
services.unbound = {
+
enable = mkEnableOption (lib.mdDoc "Unbound domain name server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/uptermd.nix
···
{
options = {
services.uptermd = {
-
enable = mkEnableOption "uptermd";
openFirewall = mkOption {
type = types.bool;
···
{
options = {
services.uptermd = {
+
enable = mkEnableOption (lib.mdDoc "uptermd");
openFirewall = mkOption {
type = types.bool;
+1 -1
nixos/modules/services/networking/vsftpd.nix
···
services.vsftpd = {
-
enable = mkEnableOption "vsftpd";
userlist = mkOption {
default = [];
···
services.vsftpd = {
+
enable = mkEnableOption (lib.mdDoc "vsftpd");
userlist = mkOption {
default = [];
+1 -1
nixos/modules/services/networking/wasabibackend.nix
···
options = {
services.wasabibackend = {
-
enable = mkEnableOption "Wasabi backend service";
dataDir = mkOption {
type = types.path;
···
options = {
services.wasabibackend = {
+
enable = mkEnableOption (lib.mdDoc "Wasabi backend service");
dataDir = mkOption {
type = types.path;
+1 -1
nixos/modules/services/networking/wg-netmanager.nix
···
options = {
services.wg-netmanager = {
-
enable = mkEnableOption "Wireguard network manager";
};
};
···
options = {
services.wg-netmanager = {
+
enable = mkEnableOption (lib.mdDoc "Wireguard network manager");
};
};
+1 -1
nixos/modules/services/networking/wpa_supplicant.nix
···
in {
options = {
networking.wireless = {
-
enable = mkEnableOption "wpa_supplicant";
interfaces = mkOption {
type = types.listOf types.str;
···
in {
options = {
networking.wireless = {
+
enable = mkEnableOption (lib.mdDoc "wpa_supplicant");
interfaces = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/networking/xandikos.nix
···
options = {
services.xandikos = {
-
enable = mkEnableOption "Xandikos CalDAV and CardDAV server";
package = mkOption {
type = types.package;
···
options = {
services.xandikos = {
+
enable = mkEnableOption (lib.mdDoc "Xandikos CalDAV and CardDAV server");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/xinetd.nix
···
options = {
-
services.xinetd.enable = mkEnableOption "the xinetd super-server daemon";
services.xinetd.extraDefaults = mkOption {
default = "";
···
options = {
+
services.xinetd.enable = mkEnableOption (lib.mdDoc "the xinetd super-server daemon");
services.xinetd.extraDefaults = mkOption {
default = "";
+1 -1
nixos/modules/services/networking/xl2tpd.nix
···
{
options = {
services.xl2tpd = {
-
enable = mkEnableOption "xl2tpd, the Layer 2 Tunnelling Protocol Daemon";
serverIp = mkOption {
type = types.str;
···
{
options = {
services.xl2tpd = {
+
enable = mkEnableOption (lib.mdDoc "xl2tpd, the Layer 2 Tunnelling Protocol Daemon");
serverIp = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/xrdp.nix
···
services.xrdp = {
-
enable = mkEnableOption "xrdp, the Remote Desktop Protocol server";
package = mkOption {
type = types.package;
···
services.xrdp = {
+
enable = mkEnableOption (lib.mdDoc "xrdp, the Remote Desktop Protocol server");
package = mkOption {
type = types.package;
+3 -3
nixos/modules/services/networking/yggdrasil.nix
···
options = with types; {
services.yggdrasil = {
-
enable = mkEnableOption "the yggdrasil system service";
settings = mkOption {
type = format.type;
···
description = lib.mdDoc "Yggdrasil package to use.";
};
-
persistentKeys = mkEnableOption ''
If enabled then keys will be generated once and Yggdrasil
will retain the same IPv6 address when the service is
restarted. Keys are stored at ${keysPath}.
-
'';
};
};
···
options = with types; {
services.yggdrasil = {
+
enable = mkEnableOption (lib.mdDoc "the yggdrasil system service");
settings = mkOption {
type = format.type;
···
description = lib.mdDoc "Yggdrasil package to use.";
};
+
persistentKeys = mkEnableOption (lib.mdDoc ''
If enabled then keys will be generated once and Yggdrasil
will retain the same IPv6 address when the service is
restarted. Keys are stored at ${keysPath}.
+
'');
};
};
+1 -1
nixos/modules/services/networking/zerobin.nix
···
{
options = {
services.zerobin = {
-
enable = mkEnableOption "0bin";
dataDir = mkOption {
type = types.str;
···
{
options = {
services.zerobin = {
+
enable = mkEnableOption (lib.mdDoc "0bin");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/networking/zeronet.nix
···
};
in with lib; {
options.services.zeronet = {
-
enable = mkEnableOption "zeronet";
package = mkOption {
type = types.package;
···
};
in with lib; {
options.services.zeronet = {
+
enable = mkEnableOption (lib.mdDoc "zeronet");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/networking/zerotierone.nix
···
cfg = config.services.zerotierone;
in
{
-
options.services.zerotierone.enable = mkEnableOption "ZeroTierOne";
options.services.zerotierone.joinNetworks = mkOption {
default = [];
···
cfg = config.services.zerotierone;
in
{
+
options.services.zerotierone.enable = mkEnableOption (lib.mdDoc "ZeroTierOne");
options.services.zerotierone.joinNetworks = mkOption {
default = [];
+1 -1
nixos/modules/services/networking/znc/default.nix
···
options = {
services.znc = {
-
enable = mkEnableOption "ZNC";
user = mkOption {
default = "znc";
···
options = {
services.znc = {
+
enable = mkEnableOption (lib.mdDoc "ZNC");
user = mkOption {
default = "znc";
+1 -1
nixos/modules/services/search/elasticsearch-curator.nix
···
options.services.elasticsearch-curator = {
-
enable = mkEnableOption "elasticsearch curator";
interval = mkOption {
description = lib.mdDoc "The frequency to run curator, a systemd.time such as 'hourly'";
default = "hourly";
···
options.services.elasticsearch-curator = {
+
enable = mkEnableOption (lib.mdDoc "elasticsearch curator");
interval = mkOption {
description = lib.mdDoc "The frequency to run curator, a systemd.time such as 'hourly'";
default = "hourly";
+4 -4
nixos/modules/services/search/kibana.nix
···
in {
options.services.kibana = {
-
enable = mkEnableOption "kibana service";
listenAddress = mkOption {
description = lib.mdDoc "Kibana listening host";
···
};
certificateAuthorities = mkOption {
-
description = ''
CA files to auth against elasticsearch.
-
Please use the <option>ca</option> option when using kibana &lt; 5.4
because those old versions don't support setting multiple CA's.
-
This defaults to the singleton list [ca] when the <option>ca</option> option is defined.
'';
default = if cfg.elasticsearch.ca == null then [] else [ca];
defaultText = literalExpression ''
···
in {
options.services.kibana = {
+
enable = mkEnableOption (lib.mdDoc "kibana service");
listenAddress = mkOption {
description = lib.mdDoc "Kibana listening host";
···
};
certificateAuthorities = mkOption {
+
description = lib.mdDoc ''
CA files to auth against elasticsearch.
+
Please use the {option}`ca` option when using kibana \< 5.4
because those old versions don't support setting multiple CA's.
+
This defaults to the singleton list [ca] when the {option}`ca` option is defined.
'';
default = if cfg.elasticsearch.ca == null then [] else [ca];
defaultText = literalExpression ''
+1 -1
nixos/modules/services/search/meilisearch.nix
···
###### interface
options.services.meilisearch = {
-
enable = mkEnableOption "MeiliSearch - a RESTful search API";
package = mkOption {
description = lib.mdDoc "The package to use for meilisearch. Use this if you require specific features to be enabled. The default package has no features.";
···
###### interface
options.services.meilisearch = {
+
enable = mkEnableOption (lib.mdDoc "MeiliSearch - a RESTful search API");
package = mkOption {
description = lib.mdDoc "The package to use for meilisearch. Use this if you require specific features to be enabled. The default package has no features.";
+1 -1
nixos/modules/services/search/solr.nix
···
{
options = {
services.solr = {
-
enable = mkEnableOption "Solr";
package = mkOption {
type = types.package;
···
{
options = {
services.solr = {
+
enable = mkEnableOption (lib.mdDoc "Solr");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/aesmd.nix
···
in
{
options.services.aesmd = {
-
enable = mkEnableOption "Intel's Architectural Enclave Service Manager (AESM) for Intel SGX";
debug = mkOption {
type = types.bool;
default = false;
···
in
{
options.services.aesmd = {
+
enable = mkEnableOption (lib.mdDoc "Intel's Architectural Enclave Service Manager (AESM) for Intel SGX");
debug = mkOption {
type = types.bool;
default = false;
+1 -1
nixos/modules/services/security/certmgr.nix
···
in
{
options.services.certmgr = {
-
enable = mkEnableOption "certmgr";
package = mkOption {
type = types.package;
···
in
{
options.services.certmgr = {
+
enable = mkEnableOption (lib.mdDoc "certmgr");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/cfssl.nix
···
cfg = config.services.cfssl;
in {
options.services.cfssl = {
-
enable = mkEnableOption "the CFSSL CA api-server";
dataDir = mkOption {
default = "/var/lib/cfssl";
···
cfg = config.services.cfssl;
in {
options.services.cfssl = {
+
enable = mkEnableOption (lib.mdDoc "the CFSSL CA api-server");
dataDir = mkOption {
default = "/var/lib/cfssl";
+2 -2
nixos/modules/services/security/clamav.nix
···
options = {
services.clamav = {
daemon = {
-
enable = mkEnableOption "ClamAV clamd daemon";
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
···
};
};
updater = {
-
enable = mkEnableOption "ClamAV freshclam updater";
frequency = mkOption {
type = types.int;
···
options = {
services.clamav = {
daemon = {
+
enable = mkEnableOption (lib.mdDoc "ClamAV clamd daemon");
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
···
};
};
updater = {
+
enable = mkEnableOption (lib.mdDoc "ClamAV freshclam updater");
frequency = mkOption {
type = types.int;
+2 -2
nixos/modules/services/security/fprintd.nix
···
services.fprintd = {
-
enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling";
package = mkOption {
type = types.package;
···
tod = {
-
enable = mkEnableOption "Touch OEM Drivers library support";
driver = mkOption {
type = types.package;
···
services.fprintd = {
+
enable = mkEnableOption (lib.mdDoc "fprintd daemon and PAM module for fingerprint readers handling");
package = mkOption {
type = types.package;
···
tod = {
+
enable = mkEnableOption (lib.mdDoc "Touch OEM Drivers library support");
driver = mkOption {
type = types.package;
+3 -3
nixos/modules/services/security/haka.nix
···
services.haka = {
-
enable = mkEnableOption "Haka";
package = mkOption {
default = pkgs.haka;
···
description = lib.mdDoc "Whether to enable pcap";
};
-
nfqueue = mkEnableOption "nfqueue";
-
dump.enable = mkEnableOption "dump";
dump.input = mkOption {
default = "/tmp/input.pcap";
example = "/path/to/file.pcap";
···
services.haka = {
+
enable = mkEnableOption (lib.mdDoc "Haka");
package = mkOption {
default = pkgs.haka;
···
description = lib.mdDoc "Whether to enable pcap";
};
+
nfqueue = mkEnableOption (lib.mdDoc "nfqueue");
+
dump.enable = mkEnableOption (lib.mdDoc "dump");
dump.input = mkOption {
default = "/tmp/input.pcap";
example = "/path/to/file.pcap";
+2 -2
nixos/modules/services/security/haveged.nix
···
services.haveged = {
-
enable = mkEnableOption ''
haveged entropy daemon, which refills /dev/random when low.
NOTE: does nothing on kernels newer than 5.6.
-
'';
# source for the note https://github.com/jirka-h/haveged/issues/57
refill_threshold = mkOption {
···
services.haveged = {
+
enable = mkEnableOption (lib.mdDoc ''
haveged entropy daemon, which refills /dev/random when low.
NOTE: does nothing on kernels newer than 5.6.
+
'');
# source for the note https://github.com/jirka-h/haveged/issues/57
refill_threshold = mkOption {
+1 -1
nixos/modules/services/security/hockeypuck.nix
···
meta.maintainers = with lib.maintainers; [ etu ];
options.services.hockeypuck = {
-
enable = lib.mkEnableOption "Hockeypuck OpenPGP Key Server";
port = lib.mkOption {
default = 11371;
···
meta.maintainers = with lib.maintainers; [ etu ];
options.services.hockeypuck = {
+
enable = lib.mkEnableOption (lib.mdDoc "Hockeypuck OpenPGP Key Server");
port = lib.mkOption {
default = 11371;
+1 -1
nixos/modules/services/security/infnoise.nix
···
in {
options = {
services.infnoise = {
-
enable = mkEnableOption "the Infinite Noise TRNG driver";
fillDevRandom = mkOption {
description = lib.mdDoc ''
···
in {
options = {
services.infnoise = {
+
enable = mkEnableOption (lib.mdDoc "the Infinite Noise TRNG driver");
fillDevRandom = mkOption {
description = lib.mdDoc ''
+3 -3
nixos/modules/services/security/kanidm.nix
···
in
{
options.services.kanidm = {
-
enableClient = lib.mkEnableOption "the Kanidm client";
-
enableServer = lib.mkEnableOption "the Kanidm server";
-
enablePam = lib.mkEnableOption "the Kanidm PAM and NSS integration.";
serverSettings = lib.mkOption {
type = lib.types.submodule {
···
in
{
options.services.kanidm = {
+
enableClient = lib.mkEnableOption (lib.mdDoc "the Kanidm client");
+
enableServer = lib.mkEnableOption (lib.mdDoc "the Kanidm server");
+
enablePam = lib.mkEnableOption (lib.mdDoc "the Kanidm PAM and NSS integration.");
serverSettings = lib.mkOption {
type = lib.types.submodule {
+1 -1
nixos/modules/services/security/munge.nix
···
options = {
services.munge = {
-
enable = mkEnableOption "munge service";
password = mkOption {
default = "/etc/munge/munge.key";
···
options = {
services.munge = {
+
enable = mkEnableOption (lib.mdDoc "munge service");
password = mkOption {
default = "/etc/munge/munge.key";
+1 -1
nixos/modules/services/security/nginx-sso.nix
···
configYml = pkgs.writeText "nginx-sso.yml" (builtins.toJSON cfg.configuration);
in {
options.services.nginx.sso = {
-
enable = mkEnableOption "nginx-sso service";
package = mkOption {
type = types.package;
···
configYml = pkgs.writeText "nginx-sso.yml" (builtins.toJSON cfg.configuration);
in {
options.services.nginx.sso = {
+
enable = mkEnableOption (lib.mdDoc "nginx-sso service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/oauth2_proxy.nix
···
in
{
options.services.oauth2_proxy = {
-
enable = mkEnableOption "oauth2_proxy";
package = mkOption {
type = types.package;
···
in
{
options.services.oauth2_proxy = {
+
enable = mkEnableOption (lib.mdDoc "oauth2_proxy");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/opensnitch.nix
···
in {
options = {
services.opensnitch = {
-
enable = mkEnableOption "Opensnitch application firewall";
settings = mkOption {
type = types.submodule {
freeformType = format.type;
···
in {
options = {
services.opensnitch = {
+
enable = mkEnableOption (lib.mdDoc "Opensnitch application firewall");
settings = mkOption {
type = types.submodule {
freeformType = format.type;
+1 -1
nixos/modules/services/security/pass-secret-service.nix
···
in
{
options.services.passSecretService = {
-
enable = mkEnableOption "pass secret service";
package = mkOption {
type = types.package;
···
in
{
options.services.passSecretService = {
+
enable = mkEnableOption (lib.mdDoc "pass secret service");
package = mkOption {
type = types.package;
+2 -2
nixos/modules/services/security/privacyidea.nix
···
{
options = {
services.privacyidea = {
-
enable = mkEnableOption "PrivacyIDEA";
environmentFile = mkOption {
type = types.nullOr types.path;
···
};
ldap-proxy = {
-
enable = mkEnableOption "PrivacyIDEA LDAP Proxy";
configFile = mkOption {
type = types.nullOr types.path;
···
{
options = {
services.privacyidea = {
+
enable = mkEnableOption (lib.mdDoc "PrivacyIDEA");
environmentFile = mkOption {
type = types.nullOr types.path;
···
};
ldap-proxy = {
+
enable = mkEnableOption (lib.mdDoc "PrivacyIDEA LDAP Proxy");
configFile = mkOption {
type = types.nullOr types.path;
+2 -2
nixos/modules/services/security/sks.nix
···
services.sks = {
-
enable = mkEnableOption ''
SKS (synchronizing key server for OpenPGP) and start the database
server. You need to create "''${dataDir}/dump/*.gpg" for the initial
-
import'';
package = mkOption {
default = pkgs.sks;
···
services.sks = {
+
enable = mkEnableOption (lib.mdDoc ''
SKS (synchronizing key server for OpenPGP) and start the database
server. You need to create "''${dataDir}/dump/*.gpg" for the initial
+
import'');
package = mkOption {
default = pkgs.sks;
+1 -1
nixos/modules/services/security/sslmate-agent.nix
···
options = {
services.sslmate-agent = {
-
enable = mkEnableOption "sslmate-agent, a daemon for managing SSL/TLS certificates on a server";
};
};
···
options = {
services.sslmate-agent = {
+
enable = mkEnableOption (lib.mdDoc "sslmate-agent, a daemon for managing SSL/TLS certificates on a server");
};
};
+2 -2
nixos/modules/services/security/step-ca.nix
···
options = {
services.step-ca = {
-
enable = lib.mkEnableOption "the smallstep certificate authority server";
-
openFirewall = lib.mkEnableOption "opening the certificate authority server port";
package = lib.mkOption {
type = lib.types.package;
default = pkgs.step-ca;
···
options = {
services.step-ca = {
+
enable = lib.mkEnableOption (lib.mdDoc "the smallstep certificate authority server");
+
openFirewall = lib.mkEnableOption (lib.mdDoc "opening the certificate authority server port");
package = lib.mkOption {
type = lib.types.package;
default = pkgs.step-ca;
+11 -11
nixos/modules/services/security/tor.nix
···
options = {
services.tor = {
-
enable = mkEnableOption ''Tor daemon.
By default, the daemon is run without
-
relay, exit, bridge or client connectivity'';
-
openFirewall = mkEnableOption "opening of the relay port(s) in the firewall";
package = mkOption {
type = types.package;
···
description = lib.mdDoc "Tor package to use.";
};
-
enableGeoIP = mkEnableOption ''use of GeoIP databases.
Disabling this will disable by-country statistics for bridges and relays
-
and some client and third-party software functionality'' // { default = true; };
-
controlSocket.enable = mkEnableOption ''control socket,
-
created in <literal>${runDir}/control</literal>'';
client = {
-
enable = mkEnableOption ''the routing of application connections.
-
You might want to disable this if you plan running a dedicated Tor relay'';
-
transparentProxy.enable = mkEnableOption "transparent proxy";
-
dns.enable = mkEnableOption "DNS resolver";
socksListenAddress = mkOption {
type = optionSOCKSPort false;
···
options = {
services.tor = {
+
enable = mkEnableOption (lib.mdDoc ''Tor daemon.
By default, the daemon is run without
+
relay, exit, bridge or client connectivity'');
+
openFirewall = mkEnableOption (lib.mdDoc "opening of the relay port(s) in the firewall");
package = mkOption {
type = types.package;
···
description = lib.mdDoc "Tor package to use.";
};
+
enableGeoIP = mkEnableOption (lib.mdDoc ''use of GeoIP databases.
Disabling this will disable by-country statistics for bridges and relays
+
and some client and third-party software functionality'') // { default = true; };
+
controlSocket.enable = mkEnableOption (lib.mdDoc ''control socket,
+
created in `${runDir}/control`'');
client = {
+
enable = mkEnableOption (lib.mdDoc ''the routing of application connections.
+
You might want to disable this if you plan running a dedicated Tor relay'');
+
transparentProxy.enable = mkEnableOption (lib.mdDoc "transparent proxy");
+
dns.enable = mkEnableOption (lib.mdDoc "DNS resolver");
socksListenAddress = mkOption {
type = optionSOCKSPort false;
+1 -1
nixos/modules/services/security/usbguard.nix
···
options = {
services.usbguard = {
-
enable = mkEnableOption "USBGuard daemon";
package = mkOption {
type = types.package;
···
options = {
services.usbguard = {
+
enable = mkEnableOption (lib.mdDoc "USBGuard daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/vault.nix
···
{
options = {
services.vault = {
-
enable = mkEnableOption "Vault daemon";
package = mkOption {
type = types.package;
···
{
options = {
services.vault = {
+
enable = mkEnableOption (lib.mdDoc "Vault daemon");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/security/vaultwarden/default.nix
···
];
options.services.vaultwarden = with types; {
-
enable = mkEnableOption "vaultwarden";
dbBackend = mkOption {
type = enum [ "sqlite" "mysql" "postgresql" ];
···
];
options.services.vaultwarden = with types; {
+
enable = mkEnableOption (lib.mdDoc "vaultwarden");
dbBackend = mkOption {
type = enum [ "sqlite" "mysql" "postgresql" ];
+1 -1
nixos/modules/services/system/cachix-agent/default.nix
···
meta.maintainers = [ lib.maintainers.domenkozar ];
options.services.cachix-agent = {
-
enable = mkEnableOption "Cachix Deploy Agent: https://docs.cachix.org/deploy/";
name = mkOption {
type = types.str;
···
meta.maintainers = [ lib.maintainers.domenkozar ];
options.services.cachix-agent = {
+
enable = mkEnableOption (lib.mdDoc "Cachix Deploy Agent: https://docs.cachix.org/deploy/");
name = mkOption {
type = types.str;
+1 -1
nixos/modules/services/system/earlyoom.nix
···
in
{
options.services.earlyoom = {
-
enable = mkEnableOption "Early out of memory killing";
freeMemThreshold = mkOption {
type = types.ints.between 1 100;
···
in
{
options.services.earlyoom = {
+
enable = mkEnableOption (lib.mdDoc "Early out of memory killing");
freeMemThreshold = mkOption {
type = types.ints.between 1 100;
+1 -1
nixos/modules/services/system/kerberos/default.nix
···
###### interface
options = {
services.kerberos_server = {
-
enable = lib.mkEnableOption "the kerberos authentification server";
realms = mkOption {
type = types.attrsOf (types.submodule realm);
···
###### interface
options = {
services.kerberos_server = {
+
enable = lib.mkEnableOption (lib.mdDoc "the kerberos authentification server");
realms = mkOption {
type = types.attrsOf (types.submodule realm);
+2 -2
nixos/modules/services/system/nscd.nix
···
user = mkOption {
type = types.str;
default = "nscd";
-
description = ''
User account under which nscd runs.
'';
};
···
group = mkOption {
type = types.str;
default = "nscd";
-
description = ''
User group under which nscd runs.
'';
};
···
user = mkOption {
type = types.str;
default = "nscd";
+
description = lib.mdDoc ''
User account under which nscd runs.
'';
};
···
group = mkOption {
type = types.str;
default = "nscd";
+
description = lib.mdDoc ''
User group under which nscd runs.
'';
};
+1 -1
nixos/modules/services/system/saslauthd.nix
···
services.saslauthd = {
-
enable = mkEnableOption "saslauthd, the Cyrus SASL authentication daemon";
package = mkOption {
default = pkgs.cyrus_sasl.bin;
···
services.saslauthd = {
+
enable = mkEnableOption (lib.mdDoc "saslauthd, the Cyrus SASL authentication daemon");
package = mkOption {
default = pkgs.cyrus_sasl.bin;
+1 -1
nixos/modules/services/system/self-deploy.nix
···
in
{
options.services.self-deploy = {
-
enable = lib.mkEnableOption "self-deploy";
nixFile = lib.mkOption {
type = lib.types.path;
···
in
{
options.services.self-deploy = {
+
enable = lib.mkEnableOption (lib.mdDoc "self-deploy");
nixFile = lib.mkOption {
type = lib.types.path;
+2 -2
nixos/modules/services/torrent/deluge.nix
···
options = {
services = {
deluge = {
-
enable = mkEnableOption "Deluge daemon";
openFilesLimit = mkOption {
default = openFilesLimit;
···
};
deluge.web = {
-
enable = mkEnableOption "Deluge Web daemon";
port = mkOption {
type = types.port;
···
options = {
services = {
deluge = {
+
enable = mkEnableOption (lib.mdDoc "Deluge daemon");
openFilesLimit = mkOption {
default = openFilesLimit;
···
};
deluge.web = {
+
enable = mkEnableOption (lib.mdDoc "Deluge Web daemon");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/torrent/flexget.nix
···
in {
options = {
services.flexget = {
-
enable = mkEnableOption "Run FlexGet Daemon";
user = mkOption {
default = "deluge";
···
in {
options = {
services.flexget = {
+
enable = mkEnableOption (lib.mdDoc "Run FlexGet Daemon");
user = mkOption {
default = "deluge";
+1 -1
nixos/modules/services/torrent/magnetico.nix
···
###### interface
options.services.magnetico = {
-
enable = mkEnableOption "Magnetico, Bittorrent DHT crawler";
crawler.address = mkOption {
type = types.str;
···
###### interface
options.services.magnetico = {
+
enable = mkEnableOption (lib.mdDoc "Magnetico, Bittorrent DHT crawler");
crawler.address = mkOption {
type = types.str;
+1 -1
nixos/modules/services/torrent/opentracker.nix
···
cfg = config.services.opentracker;
in {
options.services.opentracker = {
-
enable = mkEnableOption "opentracker";
package = mkOption {
type = types.package;
···
cfg = config.services.opentracker;
in {
options.services.opentracker = {
+
enable = mkEnableOption (lib.mdDoc "opentracker");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/torrent/rtorrent.nix
···
in {
options.services.rtorrent = {
-
enable = mkEnableOption "rtorrent";
dataDir = mkOption {
type = types.str;
···
in {
options.services.rtorrent = {
+
enable = mkEnableOption (lib.mdDoc "rtorrent");
dataDir = mkOption {
type = types.str;
+2 -2
nixos/modules/services/torrent/transmission.nix
···
'';
};
-
openPeerPorts = mkEnableOption "opening of the peer port(s) in the firewall";
-
openRPCPort = mkEnableOption "opening of the RPC port in the firewall";
performanceNetParameters = mkEnableOption "performance tweaks" // {
description = ''
···
'';
};
+
openPeerPorts = mkEnableOption (lib.mdDoc "opening of the peer port(s) in the firewall");
+
openRPCPort = mkEnableOption (lib.mdDoc "opening of the RPC port in the firewall");
performanceNetParameters = mkEnableOption "performance tweaks" // {
description = ''
+1 -1
nixos/modules/services/tracing/tempo.nix
···
settingsFormat = pkgs.formats.yaml {};
in {
options.services.tempo = {
-
enable = mkEnableOption "Grafana Tempo";
settings = mkOption {
type = settingsFormat.type;
···
settingsFormat = pkgs.formats.yaml {};
in {
options.services.tempo = {
+
enable = mkEnableOption (lib.mdDoc "Grafana Tempo");
settings = mkOption {
type = settingsFormat.type;
+1 -1
nixos/modules/services/video/epgstation/default.nix
···
];
options.services.epgstation = {
-
enable = lib.mkEnableOption description;
package = lib.mkOption {
default = pkgs.epgstation;
···
];
options.services.epgstation = {
+
enable = lib.mkEnableOption (lib.mdDoc description);
package = lib.mkOption {
default = pkgs.epgstation;
+1 -1
nixos/modules/services/video/mirakurun.nix
···
{
options = {
services.mirakurun = {
-
enable = mkEnableOption "the Mirakurun DVR Tuner Server";
port = mkOption {
type = with types; nullOr port;
···
{
options = {
services.mirakurun = {
+
enable = mkEnableOption (lib.mdDoc "the Mirakurun DVR Tuner Server");
port = mkOption {
type = with types; nullOr port;
+3 -3
nixos/modules/services/video/replay-sorcery.nix
···
{
options = with types; {
services.replay-sorcery = {
-
enable = mkEnableOption "the ReplaySorcery service for instant-replays";
-
enableSysAdminCapability = mkEnableOption ''
the system admin capability to support hardware accelerated
video capture. This is equivalent to running ReplaySorcery as
-
root, so use with caution'';
autoStart = mkOption {
type = bool;
···
{
options = with types; {
services.replay-sorcery = {
+
enable = mkEnableOption (lib.mdDoc "the ReplaySorcery service for instant-replays");
+
enableSysAdminCapability = mkEnableOption (lib.mdDoc ''
the system admin capability to support hardware accelerated
video capture. This is equivalent to running ReplaySorcery as
+
root, so use with caution'');
autoStart = mkOption {
type = bool;
+1 -1
nixos/modules/services/video/rtsp-simple-server.nix
···
{
options = {
services.rtsp-simple-server = {
-
enable = mkEnableOption "RTSP Simple Server";
settings = mkOption {
description = lib.mdDoc ''
···
{
options = {
services.rtsp-simple-server = {
+
enable = mkEnableOption (lib.mdDoc "RTSP Simple Server");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/wayland/cage.nix
···
let
cfg = config.services.cage;
in {
-
options.services.cage.enable = mkEnableOption "cage kiosk service";
options.services.cage.user = mkOption {
type = types.str;
···
let
cfg = config.services.cage;
in {
+
options.services.cage.enable = mkEnableOption (lib.mdDoc "cage kiosk service");
options.services.cage.user = mkOption {
type = types.str;
+3 -3
nixos/modules/services/web-apps/atlassian/confluence.nix
···
{
options = {
services.confluence = {
-
enable = mkEnableOption "Atlassian Confluence service";
user = mkOption {
type = types.str;
···
};
proxy = {
-
enable = mkEnableOption "proxy support";
name = mkOption {
type = types.str;
···
};
sso = {
-
enable = mkEnableOption "SSO with Atlassian Crowd";
crowd = mkOption {
type = types.str;
···
{
options = {
services.confluence = {
+
enable = mkEnableOption (lib.mdDoc "Atlassian Confluence service");
user = mkOption {
type = types.str;
···
};
proxy = {
+
enable = mkEnableOption (lib.mdDoc "proxy support");
name = mkOption {
type = types.str;
···
};
sso = {
+
enable = mkEnableOption (lib.mdDoc "SSO with Atlassian Crowd");
crowd = mkOption {
type = types.str;
+2 -2
nixos/modules/services/web-apps/atlassian/crowd.nix
···
{
options = {
services.crowd = {
-
enable = mkEnableOption "Atlassian Crowd service";
user = mkOption {
type = types.str;
···
};
proxy = {
-
enable = mkEnableOption "reverse proxy support";
name = mkOption {
type = types.str;
···
{
options = {
services.crowd = {
+
enable = mkEnableOption (lib.mdDoc "Atlassian Crowd service");
user = mkOption {
type = types.str;
···
};
proxy = {
+
enable = mkEnableOption (lib.mdDoc "reverse proxy support");
name = mkOption {
type = types.str;
+3 -3
nixos/modules/services/web-apps/atlassian/jira.nix
···
{
options = {
services.jira = {
-
enable = mkEnableOption "Atlassian JIRA service";
user = mkOption {
type = types.str;
···
};
proxy = {
-
enable = mkEnableOption "reverse proxy support";
name = mkOption {
type = types.str;
···
};
sso = {
-
enable = mkEnableOption "SSO with Atlassian Crowd";
crowd = mkOption {
type = types.str;
···
{
options = {
services.jira = {
+
enable = mkEnableOption (lib.mdDoc "Atlassian JIRA service");
user = mkOption {
type = types.str;
···
};
proxy = {
+
enable = mkEnableOption (lib.mdDoc "reverse proxy support");
name = mkOption {
type = types.str;
···
};
sso = {
+
enable = mkEnableOption (lib.mdDoc "SSO with Atlassian Crowd");
crowd = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/baget.nix
···
in
{
options.services.baget = {
-
enable = mkEnableOption "BaGet NuGet-compatible server";
apiKeyFile = mkOption {
type = types.path;
···
in
{
options.services.baget = {
+
enable = mkEnableOption (lib.mdDoc "BaGet NuGet-compatible server");
apiKeyFile = mkOption {
type = types.path;
+1 -1
nixos/modules/services/web-apps/bookstack.nix
···
options.services.bookstack = {
-
enable = mkEnableOption "BookStack";
user = mkOption {
default = "bookstack";
···
options.services.bookstack = {
+
enable = mkEnableOption (lib.mdDoc "BookStack");
user = mkOption {
default = "bookstack";
+1 -1
nixos/modules/services/web-apps/calibre-web.nix
···
{
options = {
services.calibre-web = {
-
enable = mkEnableOption "Calibre-Web";
listen = {
ip = mkOption {
···
{
options = {
services.calibre-web = {
+
enable = mkEnableOption (lib.mdDoc "Calibre-Web");
listen = {
ip = mkOption {
+1 -1
nixos/modules/services/web-apps/code-server.nix
···
###### interface
options = {
services.code-server = {
-
enable = mkEnableOption "code-server";
package = mkOption {
default = pkgs.code-server;
···
###### interface
options = {
services.code-server = {
+
enable = mkEnableOption (lib.mdDoc "code-server");
package = mkOption {
default = pkgs.code-server;
+1 -1
nixos/modules/services/web-apps/convos.nix
···
in
{
options.services.convos = {
-
enable = mkEnableOption "Convos";
listenPort = mkOption {
type = types.port;
default = 3000;
···
in
{
options.services.convos = {
+
enable = mkEnableOption (lib.mdDoc "Convos");
listenPort = mkOption {
type = types.port;
default = 3000;
+3 -3
nixos/modules/services/web-apps/dex.nix
···
in
{
options.services.dex = {
-
enable = mkEnableOption "the OpenID Connect and OAuth2 identity provider";
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
-
description = ''
-
Environment file (see <literal>systemd.exec(5)</literal>
"EnvironmentFile=" section for the syntax) to define variables for dex.
This option can be used to safely include secret keys into the dex configuration.
'';
···
in
{
options.services.dex = {
+
enable = mkEnableOption (lib.mdDoc "the OpenID Connect and OAuth2 identity provider");
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
+
description = lib.mdDoc ''
+
Environment file (see `systemd.exec(5)`
"EnvironmentFile=" section for the syntax) to define variables for dex.
This option can be used to safely include secret keys into the dex configuration.
'';
+1 -1
nixos/modules/services/web-apps/discourse.nix
···
{
options = {
services.discourse = {
-
enable = lib.mkEnableOption "Discourse, an open source discussion platform";
package = lib.mkOption {
type = lib.types.package;
···
{
options = {
services.discourse = {
+
enable = lib.mkEnableOption (lib.mdDoc "Discourse, an open source discussion platform");
package = lib.mkOption {
type = lib.types.package;
+1 -1
nixos/modules/services/web-apps/documize.nix
···
in {
options.services.documize = {
-
enable = mkEnableOption "Documize Wiki";
stateDirectoryName = mkOption {
type = types.str;
···
in {
options.services.documize = {
+
enable = mkEnableOption (lib.mdDoc "Documize Wiki");
stateDirectoryName = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/dokuwiki.nix
···
siteOpts = { config, lib, name, ... }:
{
options = {
-
enable = mkEnableOption "DokuWiki web application.";
package = mkOption {
type = types.package;
···
siteOpts = { config, lib, name, ... }:
{
options = {
+
enable = mkEnableOption (lib.mdDoc "DokuWiki web application.");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/fluidd.nix
···
in
{
options.services.fluidd = {
-
enable = mkEnableOption "Fluidd, a Klipper web interface for managing your 3d printer";
package = mkOption {
type = types.package;
···
in
{
options.services.fluidd = {
+
enable = mkEnableOption (lib.mdDoc "Fluidd, a Klipper web interface for managing your 3d printer");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/galene.nix
···
{
options = {
services.galene = {
-
enable = mkEnableOption "Galene Service.";
stateDir = mkOption {
default = defaultstateDir;
···
{
options = {
services.galene = {
+
enable = mkEnableOption (lib.mdDoc "Galene Service.");
stateDir = mkOption {
default = defaultstateDir;
+1 -1
nixos/modules/services/web-apps/gerrit.nix
···
{
options = {
services.gerrit = {
-
enable = mkEnableOption "Gerrit service";
package = mkOption {
type = types.package;
···
{
options = {
services.gerrit = {
+
enable = mkEnableOption (lib.mdDoc "Gerrit service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/gotify-server.nix
···
in {
options = {
services.gotify = {
-
enable = mkEnableOption "Gotify webserver";
port = mkOption {
type = types.port;
···
in {
options = {
services.gotify = {
+
enable = mkEnableOption (lib.mdDoc "Gotify webserver");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/web-apps/grocy.nix
···
cfg = config.services.grocy;
in {
options.services.grocy = {
-
enable = mkEnableOption "grocy";
hostName = mkOption {
type = types.str;
···
cfg = config.services.grocy;
in {
options.services.grocy = {
+
enable = mkEnableOption (lib.mdDoc "grocy");
hostName = mkOption {
type = types.str;
+2 -2
nixos/modules/services/web-apps/hedgedoc.nix
···
];
options.services.hedgedoc = {
-
enable = mkEnableOption "the HedgeDoc Markdown Editor";
groups = mkOption {
type = types.listOf types.str;
···
};
settings = let options = {
-
debug = mkEnableOption "debug mode";
domain = mkOption {
type = types.nullOr types.str;
default = null;
···
];
options.services.hedgedoc = {
+
enable = mkEnableOption (lib.mdDoc "the HedgeDoc Markdown Editor");
groups = mkOption {
type = types.listOf types.str;
···
};
settings = let options = {
+
debug = mkEnableOption (lib.mdDoc "debug mode");
domain = mkOption {
type = types.nullOr types.str;
default = null;
+2 -2
nixos/modules/services/web-apps/hledger-web.nix
···
in {
options.services.hledger-web = {
-
enable = mkEnableOption "hledger-web service";
-
serveApi = mkEnableOption "Serve only the JSON web API, without the web UI.";
host = mkOption {
type = types.str;
···
in {
options.services.hledger-web = {
+
enable = mkEnableOption (lib.mdDoc "hledger-web service");
+
serveApi = mkEnableOption (lib.mdDoc "Serve only the JSON web API, without the web UI.");
host = mkOption {
type = types.str;
+6 -6
nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
···
meta.maintainers = with maintainers; [ das_j ];
options.services.icingaweb2 = with types; {
-
enable = mkEnableOption "the icingaweb2 web interface";
pool = mkOption {
type = str;
···
};
modules = {
-
doc.enable = mkEnableOption "the icingaweb2 doc module";
-
migrate.enable = mkEnableOption "the icingaweb2 migrate module";
-
setup.enable = mkEnableOption "the icingaweb2 setup module";
-
test.enable = mkEnableOption "the icingaweb2 test module";
-
translation.enable = mkEnableOption "the icingaweb2 translation module";
};
modulePackages = mkOption {
···
meta.maintainers = with maintainers; [ das_j ];
options.services.icingaweb2 = with types; {
+
enable = mkEnableOption (lib.mdDoc "the icingaweb2 web interface");
pool = mkOption {
type = str;
···
};
modules = {
+
doc.enable = mkEnableOption (lib.mdDoc "the icingaweb2 doc module");
+
migrate.enable = mkEnableOption (lib.mdDoc "the icingaweb2 migrate module");
+
setup.enable = mkEnableOption (lib.mdDoc "the icingaweb2 setup module");
+
test.enable = mkEnableOption (lib.mdDoc "the icingaweb2 test module");
+
translation.enable = mkEnableOption (lib.mdDoc "the icingaweb2 translation module");
};
modulePackages = mkOption {
+5 -5
nixos/modules/services/web-apps/ihatemoney/default.nix
···
in
{
options.services.ihatemoney = {
-
enable = mkEnableOption "ihatemoney webapp. Note that this will set uwsgi to emperor mode";
backend = mkOption {
type = types.enum [ "sqlite" "postgresql" ];
default = "sqlite";
···
default = true;
description = lib.mdDoc "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
};
-
enableDemoProject = mkEnableOption "access to the demo project in ihatemoney";
-
enablePublicProjectCreation = mkEnableOption "permission to create projects in ihatemoney by anyone";
-
enableAdminDashboard = mkEnableOption "ihatemoney admin dashboard";
-
enableCaptcha = mkEnableOption "a simplistic captcha for some forms";
legalLink = mkOption {
type = types.nullOr types.str;
default = null;
···
in
{
options.services.ihatemoney = {
+
enable = mkEnableOption (lib.mdDoc "ihatemoney webapp. Note that this will set uwsgi to emperor mode");
backend = mkOption {
type = types.enum [ "sqlite" "postgresql" ];
default = "sqlite";
···
default = true;
description = lib.mdDoc "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
};
+
enableDemoProject = mkEnableOption (lib.mdDoc "access to the demo project in ihatemoney");
+
enablePublicProjectCreation = mkEnableOption (lib.mdDoc "permission to create projects in ihatemoney by anyone");
+
enableAdminDashboard = mkEnableOption (lib.mdDoc "ihatemoney admin dashboard");
+
enableCaptcha = mkEnableOption (lib.mdDoc "a simplistic captcha for some forms");
legalLink = mkOption {
type = types.nullOr types.str;
default = null;
+1 -1
nixos/modules/services/web-apps/invidious.nix
···
in
{
options.services.invidious = {
-
enable = lib.mkEnableOption "Invidious";
package = lib.mkOption {
type = types.package;
···
in
{
options.services.invidious = {
+
enable = lib.mkEnableOption (lib.mdDoc "Invidious");
package = lib.mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/invoiceplane.nix
···
{
options = {
-
enable = mkEnableOption "InvoicePlane web application";
stateDir = mkOption {
type = types.path;
···
{
options = {
+
enable = mkEnableOption (lib.mdDoc "InvoicePlane web application");
stateDir = mkOption {
type = types.path;
+2 -2
nixos/modules/services/web-apps/isso.nix
···
options = {
services.isso = {
-
enable = mkEnableOption ''
A commenting server similar to Disqus.
Note: The application's author suppose to run isso behind a reverse proxy.
The embedded solution offered by NixOS is also only suitable for small installations
below 20 requests per second.
-
'';
settings = mkOption {
description = lib.mdDoc ''
···
options = {
services.isso = {
+
enable = mkEnableOption (lib.mdDoc ''
A commenting server similar to Disqus.
Note: The application's author suppose to run isso behind a reverse proxy.
The embedded solution offered by NixOS is also only suitable for small installations
below 20 requests per second.
+
'');
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/web-apps/jirafeau.nix
···
description = lib.mdDoc "Location of Jirafeau storage directory.";
};
-
enable = mkEnableOption "Jirafeau file upload application.";
extraConfig = mkOption {
type = types.lines;
···
description = lib.mdDoc "Location of Jirafeau storage directory.";
};
+
enable = mkEnableOption (lib.mdDoc "Jirafeau file upload application.");
extraConfig = mkOption {
type = types.lines;
+2 -2
nixos/modules/services/web-apps/jitsi-meet.nix
···
in
{
options.services.jitsi-meet = with types; {
-
enable = mkEnableOption "Jitsi Meet - Secure, Simple and Scalable Video Conferences";
hostName = mkOption {
type = str;
···
'';
};
-
caddy.enable = mkEnableOption "Whether to enable caddy reverse proxy to expose jitsi-meet";
prosody.enable = mkOption {
type = bool;
···
in
{
options.services.jitsi-meet = with types; {
+
enable = mkEnableOption (lib.mdDoc "Jitsi Meet - Secure, Simple and Scalable Video Conferences");
hostName = mkOption {
type = str;
···
'';
};
+
caddy.enable = mkEnableOption (lib.mdDoc "Whether to enable caddy reverse proxy to expose jitsi-meet");
prosody.enable = mkOption {
type = bool;
+1 -1
nixos/modules/services/web-apps/komga.nix
···
in {
options = {
services.komga = {
-
enable = mkEnableOption "Komga, a free and open source comics/mangas media server";
port = mkOption {
type = types.port;
···
in {
options = {
services.komga = {
+
enable = mkEnableOption (lib.mdDoc "Komga, a free and open source comics/mangas media server");
port = mkOption {
type = types.port;
+4 -4
nixos/modules/services/web-apps/lemmy.nix
···
options.services.lemmy = {
-
enable = mkEnableOption "lemmy a federated alternative to reddit in rust";
jwtSecretPath = mkOption {
type = types.path;
···
};
};
-
caddy.enable = mkEnableOption "exposing lemmy with the caddy reverse proxy";
settings = mkOption {
default = { };
···
};
options.federation = {
-
enabled = mkEnableOption "activitypub federation";
};
options.captcha = {
···
};
};
-
options.database.createLocally = mkEnableOption "creation of database on the instance";
};
};
···
options.services.lemmy = {
+
enable = mkEnableOption (lib.mdDoc "lemmy a federated alternative to reddit in rust");
jwtSecretPath = mkOption {
type = types.path;
···
};
};
+
caddy.enable = mkEnableOption (lib.mdDoc "exposing lemmy with the caddy reverse proxy");
settings = mkOption {
default = { };
···
};
options.federation = {
+
enabled = mkEnableOption (lib.mdDoc "activitypub federation");
};
options.captcha = {
···
};
};
+
options.database.createLocally = mkEnableOption (lib.mdDoc "creation of database on the instance");
};
};
+1 -1
nixos/modules/services/web-apps/limesurvey.nix
···
# interface
options.services.limesurvey = {
-
enable = mkEnableOption "Limesurvey web application.";
database = {
type = mkOption {
···
# interface
options.services.limesurvey = {
+
enable = mkEnableOption (lib.mdDoc "Limesurvey web application.");
database = {
type = mkOption {
+1 -1
nixos/modules/services/web-apps/mastodon.nix
···
options = {
services.mastodon = {
-
enable = lib.mkEnableOption "Mastodon, a federated social network server";
configureNginx = lib.mkOption {
description = ''
···
options = {
services.mastodon = {
+
enable = lib.mkEnableOption (lib.mdDoc "Mastodon, a federated social network server");
configureNginx = lib.mkOption {
description = ''
+2 -2
nixos/modules/services/web-apps/mattermost.nix
···
{
options = {
services.mattermost = {
-
enable = mkEnableOption "Mattermost chat server";
package = mkOption {
type = types.package;
···
};
matterircd = {
-
enable = mkEnableOption "Mattermost IRC bridge";
package = mkOption {
type = types.package;
default = pkgs.matterircd;
···
{
options = {
services.mattermost = {
+
enable = mkEnableOption (lib.mdDoc "Mattermost chat server");
package = mkOption {
type = types.package;
···
};
matterircd = {
+
enable = mkEnableOption (lib.mdDoc "Mattermost IRC bridge");
package = mkOption {
type = types.package;
default = pkgs.matterircd;
+1 -1
nixos/modules/services/web-apps/mediawiki.nix
···
options = {
services.mediawiki = {
-
enable = mkEnableOption "MediaWiki";
package = mkOption {
type = types.package;
···
options = {
services.mediawiki = {
+
enable = mkEnableOption (lib.mdDoc "MediaWiki");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/miniflux.nix
···
{
options = {
services.miniflux = {
-
enable = mkEnableOption "miniflux and creates a local postgres database for it";
config = mkOption {
type = types.attrsOf types.str;
···
{
options = {
services.miniflux = {
+
enable = mkEnableOption (lib.mdDoc "miniflux and creates a local postgres database for it");
config = mkOption {
type = types.attrsOf types.str;
+1 -1
nixos/modules/services/web-apps/moodle.nix
···
{
# interface
options.services.moodle = {
-
enable = mkEnableOption "Moodle web application";
package = mkOption {
type = types.package;
···
{
# interface
options.services.moodle = {
+
enable = mkEnableOption (lib.mdDoc "Moodle web application");
package = mkOption {
type = types.package;
+7 -7
nixos/modules/services/web-apps/nextcloud.nix
···
];
options.services.nextcloud = {
-
enable = mkEnableOption "nextcloud";
hostName = mkOption {
type = types.str;
description = lib.mdDoc "FQDN for the nextcloud instance.";
···
objectstore = {
s3 = {
-
enable = mkEnableOption ''
S3 object storage as primary storage.
This mounts a bucket on an Amazon S3 object storage or compatible
implementation into the virtual filesystem.
Further details about this feature can be found in the
-
<link xlink:href="https://docs.nextcloud.com/server/22/admin_manual/configuration_files/primary_storage.html">upstream documentation</link>.
-
'';
bucket = mkOption {
type = types.str;
example = "nextcloud";
···
};
};
-
enableImagemagick = mkEnableOption ''
the ImageMagick module for PHP.
This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
You may want to disable it for increased security. In that case, previews will still be available
for some images (e.g. JPEG and PNG).
-
See <link xlink:href="https://github.com/nextcloud/server/issues/13099"/>.
-
'' // {
default = true;
};
···
];
options.services.nextcloud = {
+
enable = mkEnableOption (lib.mdDoc "nextcloud");
hostName = mkOption {
type = types.str;
description = lib.mdDoc "FQDN for the nextcloud instance.";
···
objectstore = {
s3 = {
+
enable = mkEnableOption (lib.mdDoc ''
S3 object storage as primary storage.
This mounts a bucket on an Amazon S3 object storage or compatible
implementation into the virtual filesystem.
Further details about this feature can be found in the
+
[upstream documentation](https://docs.nextcloud.com/server/22/admin_manual/configuration_files/primary_storage.html).
+
'');
bucket = mkOption {
type = types.str;
example = "nextcloud";
···
};
};
+
enableImagemagick = mkEnableOption (lib.mdDoc ''
the ImageMagick module for PHP.
This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
You may want to disable it for increased security. In that case, previews will still be available
for some images (e.g. JPEG and PNG).
+
See <https://github.com/nextcloud/server/issues/13099>.
+
'') // {
default = true;
};
+1 -1
nixos/modules/services/web-apps/nexus.nix
···
{
options = {
services.nexus = {
-
enable = mkEnableOption "Sonatype Nexus3 OSS service";
package = mkOption {
type = types.package;
···
{
options = {
services.nexus = {
+
enable = mkEnableOption (lib.mdDoc "Sonatype Nexus3 OSS service");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/nifi.nix
···
in {
options = {
services.nifi = {
-
enable = lib.mkEnableOption "Apache NiFi";
package = lib.mkOption {
type = lib.types.package;
···
in {
options = {
services.nifi = {
+
enable = lib.mkEnableOption (lib.mdDoc "Apache NiFi");
package = lib.mkOption {
type = lib.types.package;
+1 -1
nixos/modules/services/web-apps/node-red.nix
···
in
{
options.services.node-red = {
-
enable = mkEnableOption "the Node-RED service";
package = mkOption {
default = pkgs.nodePackages.node-red;
···
in
{
options.services.node-red = {
+
enable = mkEnableOption (lib.mdDoc "the Node-RED service");
package = mkOption {
default = pkgs.nodePackages.node-red;
+2 -2
nixos/modules/services/web-apps/onlyoffice.nix
···
in
{
options.services.onlyoffice = {
-
enable = mkEnableOption "OnlyOffice DocumentServer";
-
enableExampleServer = mkEnableOption "OnlyOffice example server";
hostname = mkOption {
type = types.str;
···
in
{
options.services.onlyoffice = {
+
enable = mkEnableOption (lib.mdDoc "OnlyOffice DocumentServer");
+
enableExampleServer = mkEnableOption (lib.mdDoc "OnlyOffice example server");
hostname = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/openwebrx.nix
···
in
{
options.services.openwebrx = with lib; {
-
enable = mkEnableOption "OpenWebRX Web interface for Software-Defined Radios on http://localhost:8073";
package = mkOption {
type = types.package;
···
in
{
options.services.openwebrx = with lib; {
+
enable = mkEnableOption (lib.mdDoc "OpenWebRX Web interface for Software-Defined Radios on http://localhost:8073");
package = mkOption {
type = types.package;
+84 -84
nixos/modules/services/web-apps/outline.nix
···
# https://github.com/outline/outline/blob/v0.65.2/shared/types.ts
# The order is kept the same here to make updating easier.
options.services.outline = {
-
enable = lib.mkEnableOption "outline";
package = lib.mkOption {
default = pkgs.outline;
···
${"''"};
})
'';
-
description = "Outline package to use.";
};
user = lib.mkOption {
type = lib.types.str;
default = defaultUser;
-
description = ''
User under which the service should run. If this is the default value,
the user will be created, with the specified group as the primary
group.
···
group = lib.mkOption {
type = lib.types.str;
default = defaultUser;
-
description = ''
Group under which the service should run. If this is the default value,
the group will be created.
'';
···
type = lib.types.str;
default = "";
example = "--env=production-ssl-disabled";
-
description = ''
-
Optional arguments to pass to <literal>sequelize</literal> calls.
'';
};
···
secretKeyFile = lib.mkOption {
type = lib.types.str;
default = "/var/lib/outline/secret_key";
-
description = ''
File path that contains the application secret key. It must be 32
bytes long and hex-encoded. If the file does not exist, a new key will
be generated and saved here.
···
utilsSecretFile = lib.mkOption {
type = lib.types.str;
default = "/var/lib/outline/utils_secret";
-
description = ''
File path that contains the utility secret key. If the file does not
exist, a new key will be generated and saved here.
'';
···
databaseUrl = lib.mkOption {
type = lib.types.str;
default = "local";
-
description = ''
URI to use for the main PostgreSQL database. If this needs to include
credentials that shouldn't be world-readable in the Nix store, set an
environment file on the systemd service and override the
-
<literal>DATABASE_URL</literal> entry. Pass the string
-
<literal>local</literal> to setup a database on the local server.
'';
};
redisUrl = lib.mkOption {
type = lib.types.str;
default = "local";
-
description = ''
Connection to a redis server. If this needs to include credentials
that shouldn't be world-readable in the Nix store, set an environment
file on the systemd service and override the
-
<literal>REDIS_URL</literal> entry. Pass the string
-
<literal>local</literal> to setup a local Redis database.
'';
};
publicUrl = lib.mkOption {
type = lib.types.str;
default = "http://localhost:3000";
-
description = "The fully qualified, publicly accessible URL";
};
port = lib.mkOption {
type = lib.types.port;
default = 3000;
-
description = "Listening port.";
};
storage = lib.mkOption {
-
description = ''
To support uploading of images for avatars and document attachments an
s3-compatible storage must be provided. AWS S3 is recommended for
redundency however if you want to keep all file storage local an
-
alternative such as <link xlink:href="https://github.com/minio/minio">minio</link>
can be used.
A more detailed guide on setting up S3 is available
-
<link xlink:href="https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f">here</link>.
'';
example = lib.literalExpression ''
{
···
options = {
accessKey = lib.mkOption {
type = lib.types.str;
-
description = "S3 access key.";
};
secretKeyFile = lib.mkOption {
type = lib.types.path;
-
description = "File path that contains the S3 secret key.";
};
region = lib.mkOption {
type = lib.types.str;
default = "xx-xxxx-x";
-
description = "AWS S3 region name.";
};
uploadBucketUrl = lib.mkOption {
type = lib.types.str;
-
description = ''
URL endpoint of an S3-compatible API where uploads should be
stored.
'';
};
uploadBucketName = lib.mkOption {
type = lib.types.str;
-
description = "Name of the bucket where uploads should be stored.";
};
uploadMaxSize = lib.mkOption {
type = lib.types.int;
default = 26214400;
-
description = "Maxmium file size for uploads.";
};
forcePathStyle = lib.mkOption {
type = lib.types.bool;
default = true;
-
description = "Force S3 path style.";
};
acl = lib.mkOption {
type = lib.types.str;
default = "private";
-
description = "ACL setting.";
};
};
};
···
#
slackAuthentication = lib.mkOption {
-
description = ''
To configure Slack auth, you'll need to create an Application at
https://api.slack.com/apps
-
When configuring the Client ID, add a redirect URL under "OAuth &amp; Permissions"
-
to <literal>https://[publicUrl]/auth/slack.callback</literal>.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
-
description = "Authentication key.";
};
secretFile = lib.mkOption {
type = lib.types.str;
-
description = "File path containing the authentication secret.";
};
};
});
};
googleAuthentication = lib.mkOption {
-
description = ''
To configure Google auth, you'll need to create an OAuth Client ID at
https://console.cloud.google.com/apis/credentials
When configuring the Client ID, add an Authorized redirect URI to
-
<literal>https://[publicUrl]/auth/google.callback</literal>.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
-
description = "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
-
description = "File path containing the authentication secret.";
};
};
});
};
azureAuthentication = lib.mkOption {
-
description = ''
To configure Microsoft/Azure auth, you'll need to create an OAuth
Client. See
-
<link xlink:href="https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4">the guide</link>
for details on setting up your Azure App.
'';
default = null;
···
options = {
clientId = lib.mkOption {
type = lib.types.str;
-
description = "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
-
description = "File path containing the authentication secret.";
};
resourceAppId = lib.mkOption {
type = lib.types.str;
-
description = "Authentication application resource ID.";
};
};
});
};
oidcAuthentication = lib.mkOption {
-
description = ''
To configure generic OIDC auth, you'll need some kind of identity
provider. See the documentation for whichever IdP you use to fill out
all the fields. The redirect URL is
-
<literal>https://[publicUrl]/auth/oidc.callback</literal>.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
-
description = "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
-
description = "File path containing the authentication secret.";
};
authUrl = lib.mkOption {
type = lib.types.str;
-
description = "OIDC authentication URL endpoint.";
};
tokenUrl = lib.mkOption {
type = lib.types.str;
-
description = "OIDC token URL endpoint.";
};
userinfoUrl = lib.mkOption {
type = lib.types.str;
-
description = "OIDC userinfo URL endpoint.";
};
usernameClaim = lib.mkOption {
type = lib.types.str;
-
description = ''
Specify which claims to derive user information from. Supports any
valid JSON path with the JWT payload
'';
···
};
displayName = lib.mkOption {
type = lib.types.str;
-
description = "Display name for OIDC authentication.";
default = "OpenID";
};
scopes = lib.mkOption {
type = lib.types.listOf lib.types.str;
-
description = "OpenID authentication scopes.";
default = [ "openid" "profile" "email" ];
};
};
···
sslKeyFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
-
description = ''
File path that contains the Base64-encoded private key for HTTPS
termination. This is only required if you do not use an external reverse
proxy. See
-
<link xlink:href="https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4">the documentation</link>.
'';
};
sslCertFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
-
description = ''
File path that contains the Base64-encoded certificate for HTTPS
termination. This is only required if you do not use an external reverse
proxy. See
-
<link xlink:href="https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4">the documentation</link>.
'';
};
cdnUrl = lib.mkOption {
type = lib.types.str;
default = "";
-
description = ''
If using a Cloudfront/Cloudflare distribution or similar it can be set
using this option. This will cause paths to JavaScript files,
stylesheets and images to be updated to the hostname defined here. In
···
forceHttps = lib.mkOption {
type = lib.types.bool;
default = true;
-
description = ''
Auto-redirect to HTTPS in production. The default is
-
<literal>true</literal> but you may set this to <literal>false</literal>
if you can be sure that SSL is terminated at an external loadbalancer.
'';
};
···
enableUpdateCheck = lib.mkOption {
type = lib.types.bool;
default = false;
-
description = ''
Have the installation check for updates by sending anonymized statistics
to the maintainers.
'';
···
concurrency = lib.mkOption {
type = lib.types.int;
default = 1;
-
description = ''
How many processes should be spawned. For a rough estimate, divide your
server's available memory by 512.
'';
···
maximumImportSize = lib.mkOption {
type = lib.types.int;
default = 5120000;
-
description = ''
The maximum size of document imports. Overriding this could be required
if you have especially large Word documents with embedded imagery.
'';
···
debugOutput = lib.mkOption {
type = lib.types.nullOr (lib.types.enum [ "http" ]);
default = null;
-
description = "Set this to <literal>http</literal> log HTTP requests.";
};
slackIntegration = lib.mkOption {
-
description = ''
For a complete Slack integration with search and posting to channels
this configuration is also needed. See here for details:
https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a
···
options = {
verificationTokenFile = lib.mkOption {
type = lib.types.str;
-
description = "File path containing the verification token.";
};
appId = lib.mkOption {
type = lib.types.str;
-
description = "Application ID.";
};
messageActions = lib.mkOption {
type = lib.types.bool;
default = true;
-
description = "Whether to enable message actions.";
};
};
});
···
googleAnalyticsId = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
-
description = ''
Optionally enable Google Analytics to track page views in the knowledge
base.
'';
···
sentryDsn = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
-
description = ''
-
Optionally enable <link xlink:href="https://sentry.io/">Sentry</link> to
track errors and performance.
'';
};
···
logo = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
-
description = ''
Custom logo displayed on the authentication screen. This will be scaled
to a height of 60px.
'';
};
smtp = lib.mkOption {
-
description = ''
To support sending outgoing transactional emails such as
"document updated" or "you've been invited" you'll need to provide
authentication for an SMTP server.
···
options = {
host = lib.mkOption {
type = lib.types.str;
-
description = "Host name or IP adress of the SMTP server.";
};
port = lib.mkOption {
type = lib.types.port;
-
description = "TCP port of the SMTP server.";
};
username = lib.mkOption {
type = lib.types.str;
-
description = "Username to authenticate with.";
};
passwordFile = lib.mkOption {
type = lib.types.str;
-
description = ''
File path containing the password to authenticate with.
'';
};
fromEmail = lib.mkOption {
type = lib.types.str;
-
description = "Sender email in outgoing mail.";
};
replyEmail = lib.mkOption {
type = lib.types.str;
-
description = "Reply address in outgoing mail.";
};
tlsCiphers = lib.mkOption {
type = lib.types.str;
default = "";
-
description = "Override SMTP cipher configuration.";
};
secure = lib.mkOption {
type = lib.types.bool;
default = true;
-
description = "Use a secure SMTP connection.";
};
};
});
···
"zh_TW"
];
default = "en_US";
-
description = ''
The default interface language. See
-
<link xlink:href="https://translate.getoutline.com/">translate.getoutline.com</link>
for a list of available language codes and their rough percentage
translated.
'';
};
-
rateLimiter.enable = lib.mkEnableOption "rate limiter for the application web server";
rateLimiter.requests = lib.mkOption {
type = lib.types.int;
default = 5000;
-
description = "Maximum number of requests in a throttling window.";
};
rateLimiter.durationWindow = lib.mkOption {
type = lib.types.int;
default = 60;
-
description = "Length of a throttling window.";
};
};
···
# https://github.com/outline/outline/blob/v0.65.2/shared/types.ts
# The order is kept the same here to make updating easier.
options.services.outline = {
+
enable = lib.mkEnableOption (lib.mdDoc "outline");
package = lib.mkOption {
default = pkgs.outline;
···
${"''"};
})
'';
+
description = lib.mdDoc "Outline package to use.";
};
user = lib.mkOption {
type = lib.types.str;
default = defaultUser;
+
description = lib.mdDoc ''
User under which the service should run. If this is the default value,
the user will be created, with the specified group as the primary
group.
···
group = lib.mkOption {
type = lib.types.str;
default = defaultUser;
+
description = lib.mdDoc ''
Group under which the service should run. If this is the default value,
the group will be created.
'';
···
type = lib.types.str;
default = "";
example = "--env=production-ssl-disabled";
+
description = lib.mdDoc ''
+
Optional arguments to pass to `sequelize` calls.
'';
};
···
secretKeyFile = lib.mkOption {
type = lib.types.str;
default = "/var/lib/outline/secret_key";
+
description = lib.mdDoc ''
File path that contains the application secret key. It must be 32
bytes long and hex-encoded. If the file does not exist, a new key will
be generated and saved here.
···
utilsSecretFile = lib.mkOption {
type = lib.types.str;
default = "/var/lib/outline/utils_secret";
+
description = lib.mdDoc ''
File path that contains the utility secret key. If the file does not
exist, a new key will be generated and saved here.
'';
···
databaseUrl = lib.mkOption {
type = lib.types.str;
default = "local";
+
description = lib.mdDoc ''
URI to use for the main PostgreSQL database. If this needs to include
credentials that shouldn't be world-readable in the Nix store, set an
environment file on the systemd service and override the
+
`DATABASE_URL` entry. Pass the string
+
`local` to setup a database on the local server.
'';
};
redisUrl = lib.mkOption {
type = lib.types.str;
default = "local";
+
description = lib.mdDoc ''
Connection to a redis server. If this needs to include credentials
that shouldn't be world-readable in the Nix store, set an environment
file on the systemd service and override the
+
`REDIS_URL` entry. Pass the string
+
`local` to setup a local Redis database.
'';
};
publicUrl = lib.mkOption {
type = lib.types.str;
default = "http://localhost:3000";
+
description = lib.mdDoc "The fully qualified, publicly accessible URL";
};
port = lib.mkOption {
type = lib.types.port;
default = 3000;
+
description = lib.mdDoc "Listening port.";
};
storage = lib.mkOption {
+
description = lib.mdDoc ''
To support uploading of images for avatars and document attachments an
s3-compatible storage must be provided. AWS S3 is recommended for
redundency however if you want to keep all file storage local an
+
alternative such as [minio](https://github.com/minio/minio)
can be used.
A more detailed guide on setting up S3 is available
+
[here](https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f).
'';
example = lib.literalExpression ''
{
···
options = {
accessKey = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "S3 access key.";
};
secretKeyFile = lib.mkOption {
type = lib.types.path;
+
description = lib.mdDoc "File path that contains the S3 secret key.";
};
region = lib.mkOption {
type = lib.types.str;
default = "xx-xxxx-x";
+
description = lib.mdDoc "AWS S3 region name.";
};
uploadBucketUrl = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc ''
URL endpoint of an S3-compatible API where uploads should be
stored.
'';
};
uploadBucketName = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Name of the bucket where uploads should be stored.";
};
uploadMaxSize = lib.mkOption {
type = lib.types.int;
default = 26214400;
+
description = lib.mdDoc "Maxmium file size for uploads.";
};
forcePathStyle = lib.mkOption {
type = lib.types.bool;
default = true;
+
description = lib.mdDoc "Force S3 path style.";
};
acl = lib.mkOption {
type = lib.types.str;
default = "private";
+
description = lib.mdDoc "ACL setting.";
};
};
};
···
#
slackAuthentication = lib.mkOption {
+
description = lib.mdDoc ''
To configure Slack auth, you'll need to create an Application at
https://api.slack.com/apps
+
When configuring the Client ID, add a redirect URL under "OAuth & Permissions"
+
to `https://[publicUrl]/auth/slack.callback`.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Authentication key.";
};
secretFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "File path containing the authentication secret.";
};
};
});
};
googleAuthentication = lib.mkOption {
+
description = lib.mdDoc ''
To configure Google auth, you'll need to create an OAuth Client ID at
https://console.cloud.google.com/apis/credentials
When configuring the Client ID, add an Authorized redirect URI to
+
`https://[publicUrl]/auth/google.callback`.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "File path containing the authentication secret.";
};
};
});
};
azureAuthentication = lib.mkOption {
+
description = lib.mdDoc ''
To configure Microsoft/Azure auth, you'll need to create an OAuth
Client. See
+
[the guide](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4)
for details on setting up your Azure App.
'';
default = null;
···
options = {
clientId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "File path containing the authentication secret.";
};
resourceAppId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Authentication application resource ID.";
};
};
});
};
oidcAuthentication = lib.mkOption {
+
description = lib.mdDoc ''
To configure generic OIDC auth, you'll need some kind of identity
provider. See the documentation for whichever IdP you use to fill out
all the fields. The redirect URL is
+
`https://[publicUrl]/auth/oidc.callback`.
'';
default = null;
type = lib.types.nullOr (lib.types.submodule {
options = {
clientId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Authentication client identifier.";
};
clientSecretFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "File path containing the authentication secret.";
};
authUrl = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "OIDC authentication URL endpoint.";
};
tokenUrl = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "OIDC token URL endpoint.";
};
userinfoUrl = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "OIDC userinfo URL endpoint.";
};
usernameClaim = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc ''
Specify which claims to derive user information from. Supports any
valid JSON path with the JWT payload
'';
···
};
displayName = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Display name for OIDC authentication.";
default = "OpenID";
};
scopes = lib.mkOption {
type = lib.types.listOf lib.types.str;
+
description = lib.mdDoc "OpenID authentication scopes.";
default = [ "openid" "profile" "email" ];
};
};
···
sslKeyFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
+
description = lib.mdDoc ''
File path that contains the Base64-encoded private key for HTTPS
termination. This is only required if you do not use an external reverse
proxy. See
+
[the documentation](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4).
'';
};
sslCertFile = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
+
description = lib.mdDoc ''
File path that contains the Base64-encoded certificate for HTTPS
termination. This is only required if you do not use an external reverse
proxy. See
+
[the documentation](https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4).
'';
};
cdnUrl = lib.mkOption {
type = lib.types.str;
default = "";
+
description = lib.mdDoc ''
If using a Cloudfront/Cloudflare distribution or similar it can be set
using this option. This will cause paths to JavaScript files,
stylesheets and images to be updated to the hostname defined here. In
···
forceHttps = lib.mkOption {
type = lib.types.bool;
default = true;
+
description = lib.mdDoc ''
Auto-redirect to HTTPS in production. The default is
+
`true` but you may set this to `false`
if you can be sure that SSL is terminated at an external loadbalancer.
'';
};
···
enableUpdateCheck = lib.mkOption {
type = lib.types.bool;
default = false;
+
description = lib.mdDoc ''
Have the installation check for updates by sending anonymized statistics
to the maintainers.
'';
···
concurrency = lib.mkOption {
type = lib.types.int;
default = 1;
+
description = lib.mdDoc ''
How many processes should be spawned. For a rough estimate, divide your
server's available memory by 512.
'';
···
maximumImportSize = lib.mkOption {
type = lib.types.int;
default = 5120000;
+
description = lib.mdDoc ''
The maximum size of document imports. Overriding this could be required
if you have especially large Word documents with embedded imagery.
'';
···
debugOutput = lib.mkOption {
type = lib.types.nullOr (lib.types.enum [ "http" ]);
default = null;
+
description = lib.mdDoc "Set this to `http` log HTTP requests.";
};
slackIntegration = lib.mkOption {
+
description = lib.mdDoc ''
For a complete Slack integration with search and posting to channels
this configuration is also needed. See here for details:
https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a
···
options = {
verificationTokenFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "File path containing the verification token.";
};
appId = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Application ID.";
};
messageActions = lib.mkOption {
type = lib.types.bool;
default = true;
+
description = lib.mdDoc "Whether to enable message actions.";
};
};
});
···
googleAnalyticsId = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
+
description = lib.mdDoc ''
Optionally enable Google Analytics to track page views in the knowledge
base.
'';
···
sentryDsn = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
+
description = lib.mdDoc ''
+
Optionally enable [Sentry](https://sentry.io/) to
track errors and performance.
'';
};
···
logo = lib.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
+
description = lib.mdDoc ''
Custom logo displayed on the authentication screen. This will be scaled
to a height of 60px.
'';
};
smtp = lib.mkOption {
+
description = lib.mdDoc ''
To support sending outgoing transactional emails such as
"document updated" or "you've been invited" you'll need to provide
authentication for an SMTP server.
···
options = {
host = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Host name or IP adress of the SMTP server.";
};
port = lib.mkOption {
type = lib.types.port;
+
description = lib.mdDoc "TCP port of the SMTP server.";
};
username = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Username to authenticate with.";
};
passwordFile = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc ''
File path containing the password to authenticate with.
'';
};
fromEmail = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Sender email in outgoing mail.";
};
replyEmail = lib.mkOption {
type = lib.types.str;
+
description = lib.mdDoc "Reply address in outgoing mail.";
};
tlsCiphers = lib.mkOption {
type = lib.types.str;
default = "";
+
description = lib.mdDoc "Override SMTP cipher configuration.";
};
secure = lib.mkOption {
type = lib.types.bool;
default = true;
+
description = lib.mdDoc "Use a secure SMTP connection.";
};
};
});
···
"zh_TW"
];
default = "en_US";
+
description = lib.mdDoc ''
The default interface language. See
+
[translate.getoutline.com](https://translate.getoutline.com/)
for a list of available language codes and their rough percentage
translated.
'';
};
+
rateLimiter.enable = lib.mkEnableOption (lib.mdDoc "rate limiter for the application web server");
rateLimiter.requests = lib.mkOption {
type = lib.types.int;
default = 5000;
+
description = lib.mdDoc "Maximum number of requests in a throttling window.";
};
rateLimiter.durationWindow = lib.mkOption {
type = lib.types.int;
default = 60;
+
description = lib.mdDoc "Length of a throttling window.";
};
};
+1 -1
nixos/modules/services/web-apps/peertube.nix
···
in {
options.services.peertube = {
-
enable = lib.mkEnableOption "Enable Peertube’s service";
user = lib.mkOption {
type = lib.types.str;
···
in {
options.services.peertube = {
+
enable = lib.mkEnableOption (lib.mdDoc "Enable Peertube’s service");
user = lib.mkOption {
type = lib.types.str;
+1 -1
nixos/modules/services/web-apps/pgpkeyserver-lite.nix
···
services.pgpkeyserver-lite = {
-
enable = mkEnableOption "pgpkeyserver-lite on a nginx vHost proxying to a gpg keyserver";
package = mkOption {
default = pkgs.pgpkeyserver-lite;
···
services.pgpkeyserver-lite = {
+
enable = mkEnableOption (lib.mdDoc "pgpkeyserver-lite on a nginx vHost proxying to a gpg keyserver");
package = mkOption {
default = pkgs.pgpkeyserver-lite;
+1 -1
nixos/modules/services/web-apps/phylactery.nix
···
let cfg = config.services.phylactery;
in {
options.services.phylactery = {
-
enable = mkEnableOption "Whether to enable Phylactery server";
host = mkOption {
type = types.str;
···
let cfg = config.services.phylactery;
in {
options.services.phylactery = {
+
enable = mkEnableOption (lib.mdDoc "Whether to enable Phylactery server");
host = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/pict-rs.nix
···
meta.doc = ./pict-rs.xml;
options.services.pict-rs = {
-
enable = mkEnableOption "pict-rs server";
dataDir = mkOption {
type = types.path;
default = "/var/lib/pict-rs";
···
meta.doc = ./pict-rs.xml;
options.services.pict-rs = {
+
enable = mkEnableOption (lib.mdDoc "pict-rs server");
dataDir = mkOption {
type = types.path;
default = "/var/lib/pict-rs";
+1 -1
nixos/modules/services/web-apps/plantuml-server.nix
···
{
options = {
services.plantuml-server = {
-
enable = mkEnableOption "PlantUML server";
package = mkOption {
type = types.package;
···
{
options = {
services.plantuml-server = {
+
enable = mkEnableOption (lib.mdDoc "PlantUML server");
package = mkOption {
type = types.package;
+5 -5
nixos/modules/services/web-apps/plausible.nix
···
in {
options.services.plausible = {
-
enable = mkEnableOption "plausible";
releaseCookiePath = mkOption {
type = with types; either str path;
···
'';
};
-
activate = mkEnableOption "activating the freshly created admin-user";
};
database = {
clickhouse = {
-
setup = mkEnableOption "creating a clickhouse instance" // { default = true; };
url = mkOption {
default = "http://localhost:8123/default";
type = types.str;
···
};
};
postgres = {
-
setup = mkEnableOption "creating a postgresql instance" // { default = true; };
dbname = mkOption {
default = "plausible";
type = types.str;
···
The path to the file with the password in case SMTP auth is enabled.
'';
};
-
enableSSL = mkEnableOption "SSL when connecting to the SMTP server";
retries = mkOption {
type = types.ints.unsigned;
default = 2;
···
in {
options.services.plausible = {
+
enable = mkEnableOption (lib.mdDoc "plausible");
releaseCookiePath = mkOption {
type = with types; either str path;
···
'';
};
+
activate = mkEnableOption (lib.mdDoc "activating the freshly created admin-user");
};
database = {
clickhouse = {
+
setup = mkEnableOption (lib.mdDoc "creating a clickhouse instance") // { default = true; };
url = mkOption {
default = "http://localhost:8123/default";
type = types.str;
···
};
};
postgres = {
+
setup = mkEnableOption (lib.mdDoc "creating a postgresql instance") // { default = true; };
dbname = mkOption {
default = "plausible";
type = types.str;
···
The path to the file with the password in case SMTP auth is enabled.
'';
};
+
enableSSL = mkEnableOption (lib.mdDoc "SSL when connecting to the SMTP server");
retries = mkOption {
type = types.ints.unsigned;
default = 2;
+1 -1
nixos/modules/services/web-apps/powerdns-admin.nix
···
in
{
options.services.powerdns-admin = {
-
enable = mkEnableOption "the PowerDNS web interface";
extraArgs = mkOption {
type = types.listOf types.str;
···
in
{
options.services.powerdns-admin = {
+
enable = mkEnableOption (lib.mdDoc "the PowerDNS web interface");
extraArgs = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/web-apps/prosody-filer.nix
···
options = {
services.prosody-filer = {
-
enable = mkEnableOption "Prosody Filer XMPP upload file server";
settings = mkOption {
description = lib.mdDoc ''
···
options = {
services.prosody-filer = {
+
enable = mkEnableOption (lib.mdDoc "Prosody Filer XMPP upload file server");
settings = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/web-apps/restya-board.nix
···
services.restya-board = {
-
enable = mkEnableOption "restya-board";
dataDir = mkOption {
type = types.path;
···
services.restya-board = {
+
enable = mkEnableOption (lib.mdDoc "restya-board");
dataDir = mkOption {
type = types.path;
+1 -1
nixos/modules/services/web-apps/rss-bridge.nix
···
{
options = {
services.rss-bridge = {
-
enable = mkEnableOption "rss-bridge";
user = mkOption {
type = types.str;
···
{
options = {
services.rss-bridge = {
+
enable = mkEnableOption (lib.mdDoc "rss-bridge");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/selfoss.nix
···
{
options = {
services.selfoss = {
-
enable = mkEnableOption "selfoss";
user = mkOption {
type = types.str;
···
{
options = {
services.selfoss = {
+
enable = mkEnableOption (lib.mdDoc "selfoss");
user = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/shiori.nix
···
in {
options = {
services.shiori = {
-
enable = mkEnableOption "Shiori simple bookmarks manager";
package = mkOption {
type = types.package;
···
in {
options = {
services.shiori = {
+
enable = mkEnableOption (lib.mdDoc "Shiori simple bookmarks manager");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-apps/snipe-it.nix
···
in {
options.services.snipe-it = {
-
enable = mkEnableOption "A free open source IT asset/license management system";
user = mkOption {
default = "snipeit";
···
in {
options.services.snipe-it = {
+
enable = mkEnableOption (lib.mdDoc "A free open source IT asset/license management system");
user = mkOption {
default = "snipeit";
+1 -1
nixos/modules/services/web-apps/sogo.nix
···
in {
options.services.sogo = with types; {
-
enable = mkEnableOption "SOGo groupware";
vhostName = mkOption {
description = lib.mdDoc "Name of the nginx vhost";
···
in {
options.services.sogo = with types; {
+
enable = mkEnableOption (lib.mdDoc "SOGo groupware");
vhostName = mkOption {
description = lib.mdDoc "Name of the nginx vhost";
+1 -1
nixos/modules/services/web-apps/trilium.nix
···
{
options.services.trilium-server = with lib; {
-
enable = mkEnableOption "trilium-server";
dataDir = mkOption {
type = types.str;
···
{
options.services.trilium-server = with lib; {
+
enable = mkEnableOption (lib.mdDoc "trilium-server");
dataDir = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-apps/tt-rss.nix
···
services.tt-rss = {
-
enable = mkEnableOption "tt-rss";
root = mkOption {
type = types.path;
···
services.tt-rss = {
+
enable = mkEnableOption (lib.mdDoc "tt-rss");
root = mkOption {
type = types.path;
+1 -1
nixos/modules/services/web-apps/vikunja.nix
···
usePostgresql = cfg.database.type == "postgres";
in {
options.services.vikunja = with lib; {
-
enable = mkEnableOption "vikunja service";
package-api = mkOption {
default = pkgs.vikunja-api;
type = types.package;
···
usePostgresql = cfg.database.type == "postgres";
in {
options.services.vikunja = with lib; {
+
enable = mkEnableOption (lib.mdDoc "vikunja service");
package-api = mkOption {
default = pkgs.vikunja-api;
type = types.package;
+1 -1
nixos/modules/services/web-apps/whitebophir.nix
···
in {
options = {
services.whitebophir = {
-
enable = mkEnableOption "whitebophir, an online collaborative whiteboard server (persistent state will be maintained under <filename>/var/lib/whitebophir</filename>)";
package = mkOption {
default = pkgs.whitebophir;
···
in {
options = {
services.whitebophir = {
+
enable = mkEnableOption (lib.mdDoc "whitebophir, an online collaborative whiteboard server (persistent state will be maintained under {file}`/var/lib/whitebophir`)");
package = mkOption {
default = pkgs.whitebophir;
+1 -1
nixos/modules/services/web-apps/wiki-js.nix
···
configFile = format.generate "wiki-js.yml" cfg.settings;
in {
options.services.wiki-js = {
-
enable = mkEnableOption "wiki-js";
environmentFile = mkOption {
type = types.nullOr types.path;
···
configFile = format.generate "wiki-js.yml" cfg.settings;
in {
options.services.wiki-js = {
+
enable = mkEnableOption (lib.mdDoc "wiki-js");
environmentFile = mkOption {
type = types.nullOr types.path;
+1 -1
nixos/modules/services/web-apps/youtrack.nix
···
{
options.services.youtrack = {
-
enable = mkEnableOption "YouTrack service";
address = mkOption {
description = lib.mdDoc ''
···
{
options.services.youtrack = {
+
enable = mkEnableOption (lib.mdDoc "YouTrack service");
address = mkOption {
description = lib.mdDoc ''
+1 -1
nixos/modules/services/web-apps/zabbix.nix
···
options.services = {
zabbixWeb = {
-
enable = mkEnableOption "the Zabbix web interface";
package = mkOption {
type = types.package;
···
options.services = {
zabbixWeb = {
+
enable = mkEnableOption (lib.mdDoc "the Zabbix web interface");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-servers/agate.nix
···
{
options = {
services.agate = {
-
enable = mkEnableOption "Agate Server";
package = mkOption {
type = types.package;
···
{
options = {
services.agate = {
+
enable = mkEnableOption (lib.mdDoc "Agate Server");
package = mkOption {
type = types.package;
+3 -3
nixos/modules/services/web-servers/apache-httpd/default.nix
···
services.httpd = {
-
enable = mkEnableOption "the Apache HTTP Server";
package = mkOption {
type = types.package;
···
{ name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
]
'';
-
description = ''
Additional Apache modules to be used. These can be
specified as a string in the case of modules distributed
with Apache, or as an attribute set specifying the
-
<varname>name</varname> and <varname>path</varname> of the
module.
'';
};
···
services.httpd = {
+
enable = mkEnableOption (lib.mdDoc "the Apache HTTP Server");
package = mkOption {
type = types.package;
···
{ name = "jk"; path = "''${pkgs.tomcat_connectors}/modules/mod_jk.so"; }
]
'';
+
description = lib.mdDoc ''
Additional Apache modules to be used. These can be
specified as a string in the case of modules distributed
with Apache, or as an attribute set specifying the
+
{var}`name` and {var}`path` of the
module.
'';
};
+1 -1
nixos/modules/services/web-servers/caddy/default.nix
···
# interface
options.services.caddy = {
-
enable = mkEnableOption "Caddy web server";
user = mkOption {
default = "caddy";
···
# interface
options.services.caddy = {
+
enable = mkEnableOption (lib.mdDoc "Caddy web server");
user = mkOption {
default = "caddy";
+3 -3
nixos/modules/services/web-servers/caddy/vhost-options.nix
···
useACMEHost = mkOption {
type = types.nullOr types.str;
default = null;
-
description = ''
A host of an existing Let's Encrypt certificate to use.
This is mostly useful if you use DNS challenges but Caddy does not
currently support your provider.
-
<emphasis>Note that this option does not create any certificates, nor
does it add subdomains to existing ones – you will need to create them
-
manually using <xref linkend="opt-security.acme.certs"/>.</emphasis>
'';
};
···
useACMEHost = mkOption {
type = types.nullOr types.str;
default = null;
+
description = lib.mdDoc ''
A host of an existing Let's Encrypt certificate to use.
This is mostly useful if you use DNS challenges but Caddy does not
currently support your provider.
+
*Note that this option does not create any certificates, nor
does it add subdomains to existing ones – you will need to create them
+
manually using [](#opt-security.acme.certs).*
'';
};
+1 -1
nixos/modules/services/web-servers/darkhttpd.nix
···
in {
options.services.darkhttpd = with types; {
-
enable = mkEnableOption "DarkHTTPd web server";
port = mkOption {
default = 80;
···
in {
options.services.darkhttpd = with types; {
+
enable = mkEnableOption (lib.mdDoc "DarkHTTPd web server");
port = mkOption {
default = 80;
+1 -1
nixos/modules/services/web-servers/hitch/default.nix
···
{
options = {
services.hitch = {
-
enable = mkEnableOption "Hitch Server";
backend = mkOption {
type = types.str;
···
{
options = {
services.hitch = {
+
enable = mkEnableOption (lib.mdDoc "Hitch Server");
backend = mkOption {
type = types.str;
+1 -1
nixos/modules/services/web-servers/hydron.nix
···
cfg = config.services.hydron;
in with lib; {
options.services.hydron = {
-
enable = mkEnableOption "hydron";
dataDir = mkOption {
type = types.path;
···
cfg = config.services.hydron;
in with lib; {
options.services.hydron = {
+
enable = mkEnableOption (lib.mdDoc "hydron");
dataDir = mkOption {
type = types.path;
+10 -10
nixos/modules/services/web-servers/keter/default.nix
···
};
options.services.keter = {
-
enable = lib.mkEnableOption ''keter, a web app deployment manager.
Note that this module only support loading of webapps:
Keep an old app running and swap the ports when the new one is booted.
-
'';
keterRoot = lib.mkOption {
type = lib.types.str;
default = "/var/lib/keter";
-
description = "Mutable state folder for keter";
};
keterPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.haskellPackages.keter;
defaultText = lib.literalExpression "pkgs.haskellPackages.keter";
-
description = "The keter package to be used";
};
globalKeterConfig = lib.mkOption {
···
}];
}
'';
-
description = "Global config for keter";
};
bundle = {
appName = lib.mkOption {
type = lib.types.str;
default = "myapp";
-
description = "The name keter assigns to this bundle";
};
executable = lib.mkOption {
type = lib.types.path;
-
description = "The executable to be run";
};
domain = lib.mkOption {
type = lib.types.str;
default = "example.com";
-
description = "The domain keter will bind to";
};
publicScript = lib.mkOption {
type = lib.types.str;
default = "";
-
description = ''
Allows loading of public environment variables,
these are emitted to the log so it shouldn't contain secrets.
'';
···
secretScript = lib.mkOption {
type = lib.types.str;
default = "";
-
description = "Allows loading of private environment variables";
example = "MY_AWS_KEY=$(cat /run/keys/AWS_ACCESS_KEY_ID)";
};
};
···
};
options.services.keter = {
+
enable = lib.mkEnableOption (lib.mdDoc ''keter, a web app deployment manager.
Note that this module only support loading of webapps:
Keep an old app running and swap the ports when the new one is booted.
+
'');
keterRoot = lib.mkOption {
type = lib.types.str;
default = "/var/lib/keter";
+
description = lib.mdDoc "Mutable state folder for keter";
};
keterPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.haskellPackages.keter;
defaultText = lib.literalExpression "pkgs.haskellPackages.keter";
+
description = lib.mdDoc "The keter package to be used";
};
globalKeterConfig = lib.mkOption {
···
}];
}
'';
+
description = lib.mdDoc "Global config for keter";
};
bundle = {
appName = lib.mkOption {
type = lib.types.str;
default = "myapp";
+
description = lib.mdDoc "The name keter assigns to this bundle";
};
executable = lib.mkOption {
type = lib.types.path;
+
description = lib.mdDoc "The executable to be run";
};
domain = lib.mkOption {
type = lib.types.str;
default = "example.com";
+
description = lib.mdDoc "The domain keter will bind to";
};
publicScript = lib.mkOption {
type = lib.types.str;
default = "";
+
description = lib.mdDoc ''
Allows loading of public environment variables,
these are emitted to the log so it shouldn't contain secrets.
'';
···
secretScript = lib.mkOption {
type = lib.types.str;
default = "";
+
description = lib.mdDoc "Allows loading of private environment variables";
example = "MY_AWS_KEY=$(cat /run/keys/AWS_ACCESS_KEY_ID)";
};
};
+1 -1
nixos/modules/services/web-servers/lighttpd/collectd.nix
···
options.services.lighttpd.collectd = {
-
enable = mkEnableOption "collectd subservice accessible at http://yourserver/collectd";
collectionCgi = mkOption {
type = types.path;
···
options.services.lighttpd.collectd = {
+
enable = mkEnableOption (lib.mdDoc "collectd subservice accessible at http://yourserver/collectd");
collectionCgi = mkOption {
type = types.path;
+1 -1
nixos/modules/services/web-servers/mighttpd2.nix
···
routingFile = pkgs.writeText "mighty-routing" cfg.routing;
in {
options.services.mighttpd2 = {
-
enable = mkEnableOption "Mighttpd2 web server";
config = mkOption {
default = "";
···
routingFile = pkgs.writeText "mighty-routing" cfg.routing;
in {
options.services.mighttpd2 = {
+
enable = mkEnableOption (lib.mdDoc "Mighttpd2 web server");
config = mkOption {
default = "";
+1 -1
nixos/modules/services/web-servers/minio.nix
···
meta.maintainers = [ maintainers.bachp ];
options.services.minio = {
-
enable = mkEnableOption "Minio Object Storage";
listenAddress = mkOption {
default = ":9000";
···
meta.maintainers = [ maintainers.bachp ];
options.services.minio = {
+
enable = mkEnableOption (lib.mdDoc "Minio Object Storage");
listenAddress = mkOption {
default = ":9000";
+1 -1
nixos/modules/services/web-servers/molly-brown.nix
···
options.services.molly-brown = {
-
enable = mkEnableOption "Molly-Brown Gemini server";
port = mkOption {
default = 1965;
···
options.services.molly-brown = {
+
enable = mkEnableOption (lib.mdDoc "Molly-Brown Gemini server");
port = mkOption {
default = 1965;
+1 -1
nixos/modules/services/web-servers/nginx/default.nix
···
{
options = {
services.nginx = {
-
enable = mkEnableOption "Nginx Web Server";
statusPage = mkOption {
default = false;
···
{
options = {
services.nginx = {
+
enable = mkEnableOption (lib.mdDoc "Nginx Web Server");
statusPage = mkOption {
default = false;
+1 -1
nixos/modules/services/web-servers/pomerium.nix
···
in
{
options.services.pomerium = {
-
enable = mkEnableOption "the Pomerium authenticating reverse proxy";
configFile = mkOption {
type = with types; nullOr path;
···
in
{
options.services.pomerium = {
+
enable = mkEnableOption (lib.mdDoc "the Pomerium authenticating reverse proxy");
configFile = mkOption {
type = with types; nullOr path;
+1 -1
nixos/modules/services/web-servers/tomcat.nix
···
options = {
services.tomcat = {
-
enable = mkEnableOption "Apache Tomcat";
package = mkOption {
type = types.package;
···
options = {
services.tomcat = {
+
enable = mkEnableOption (lib.mdDoc "Apache Tomcat");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/web-servers/traefik.nix
···
cfg.staticConfigFile;
in {
options.services.traefik = {
-
enable = mkEnableOption "Traefik web server";
staticConfigFile = mkOption {
default = null;
···
cfg.staticConfigFile;
in {
options.services.traefik = {
+
enable = mkEnableOption (lib.mdDoc "Traefik web server");
staticConfigFile = mkOption {
default = null;
+1 -1
nixos/modules/services/web-servers/trafficserver/default.nix
···
in
{
options.services.trafficserver = {
-
enable = mkEnableOption "Apache Traffic Server";
cache = mkOption {
type = types.lines;
···
in
{
options.services.trafficserver = {
+
enable = mkEnableOption (lib.mdDoc "Apache Traffic Server");
cache = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/web-servers/ttyd.nix
···
options = {
services.ttyd = {
-
enable = mkEnableOption "ttyd daemon";
port = mkOption {
type = types.port;
···
options = {
services.ttyd = {
+
enable = mkEnableOption (lib.mdDoc "ttyd daemon");
port = mkOption {
type = types.port;
+1 -1
nixos/modules/services/web-servers/unit/default.nix
···
in {
options = {
services.unit = {
-
enable = mkEnableOption "Unit App Server";
package = mkOption {
type = types.package;
default = pkgs.unit;
···
in {
options = {
services.unit = {
+
enable = mkEnableOption (lib.mdDoc "Unit App Server");
package = mkOption {
type = types.package;
default = pkgs.unit;
+2 -2
nixos/modules/services/web-servers/varnish/default.nix
···
{
options = {
services.varnish = {
-
enable = mkEnableOption "Varnish Server";
-
enableConfigCheck = mkEnableOption "checking the config during build time" // { default = true; };
package = mkOption {
type = types.package;
···
{
options = {
services.varnish = {
+
enable = mkEnableOption (lib.mdDoc "Varnish Server");
+
enableConfigCheck = mkEnableOption (lib.mdDoc "checking the config during build time") // { default = true; };
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/x11/colord.nix
···
options = {
services.colord = {
-
enable = mkEnableOption "colord, the color management daemon";
};
};
···
options = {
services.colord = {
+
enable = mkEnableOption (lib.mdDoc "colord, the color management daemon");
};
};
+1 -1
nixos/modules/services/x11/desktop-managers/cde.nix
···
cfg = xcfg.desktopManager.cde;
in {
options.services.xserver.desktopManager.cde = {
-
enable = mkEnableOption "Common Desktop Environment";
extraPackages = mkOption {
type = with types; listOf package;
···
cfg = xcfg.desktopManager.cde;
in {
options.services.xserver.desktopManager.cde = {
+
enable = mkEnableOption (lib.mdDoc "Common Desktop Environment");
extraPackages = mkOption {
type = with types; listOf package;
+2 -2
nixos/modules/services/x11/desktop-managers/cinnamon.nix
···
{
options = {
services.cinnamon = {
-
apps.enable = mkEnableOption "Cinnamon default applications";
};
services.xserver.desktopManager.cinnamon = {
-
enable = mkEnableOption "the cinnamon desktop manager";
sessionPath = mkOption {
default = [];
···
{
options = {
services.cinnamon = {
+
apps.enable = mkEnableOption (lib.mdDoc "Cinnamon default applications");
};
services.xserver.desktopManager.cinnamon = {
+
enable = mkEnableOption (lib.mdDoc "the cinnamon desktop manager");
sessionPath = mkOption {
default = [];
+2 -2
nixos/modules/services/x11/desktop-managers/default.nix
···
type = types.nullOr types.str;
default = null;
example = "none";
-
description = ''
-
<emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
Default desktop manager loaded if none have been chosen.
'';
···
type = types.nullOr types.str;
default = null;
example = "none";
+
description = lib.mdDoc ''
+
**Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead.
Default desktop manager loaded if none have been chosen.
'';
+7 -7
nixos/modules/services/x11/desktop-managers/gnome.nix
···
options = {
services.gnome = {
-
core-os-services.enable = mkEnableOption "essential services for GNOME3";
-
core-shell.enable = mkEnableOption "GNOME Shell services";
-
core-utilities.enable = mkEnableOption "GNOME core utilities";
-
core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
-
games.enable = mkEnableOption "GNOME games";
};
services.xserver.desktopManager.gnome = {
···
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
-
debug = mkEnableOption "gnome-session debug messages";
flashback = {
-
enableMetacity = mkEnableOption "the standard GNOME Flashback session with Metacity";
customSessions = mkOption {
type = types.listOf (types.submodule {
···
options = {
services.gnome = {
+
core-os-services.enable = mkEnableOption (lib.mdDoc "essential services for GNOME3");
+
core-shell.enable = mkEnableOption (lib.mdDoc "GNOME Shell services");
+
core-utilities.enable = mkEnableOption (lib.mdDoc "GNOME core utilities");
+
core-developer-tools.enable = mkEnableOption (lib.mdDoc "GNOME core developer tools");
+
games.enable = mkEnableOption (lib.mdDoc "GNOME games");
};
services.xserver.desktopManager.gnome = {
···
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
+
debug = mkEnableOption (lib.mdDoc "gnome-session debug messages");
flashback = {
+
enableMetacity = mkEnableOption (lib.mdDoc "the standard GNOME Flashback session with Metacity");
customSessions = mkOption {
type = types.listOf (types.submodule {
+1 -1
nixos/modules/services/x11/desktop-managers/mate.nix
···
description = lib.mdDoc "Enable the MATE desktop environment";
};
-
debug = mkEnableOption "mate-session debug messages";
};
environment.mate.excludePackages = mkOption {
···
description = lib.mdDoc "Enable the MATE desktop environment";
};
+
debug = mkEnableOption (lib.mdDoc "mate-session debug messages");
};
environment.mate.excludePackages = mkOption {
+3 -3
nixos/modules/services/x11/desktop-managers/pantheon.nix
···
services.pantheon = {
contractor = {
-
enable = mkEnableOption "contractor, a desktop-wide extension service used by Pantheon";
};
-
apps.enable = mkEnableOption "Pantheon default applications";
};
···
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
-
debug = mkEnableOption "gnome-session debug messages";
};
···
services.pantheon = {
contractor = {
+
enable = mkEnableOption (lib.mdDoc "contractor, a desktop-wide extension service used by Pantheon");
};
+
apps.enable = mkEnableOption (lib.mdDoc "Pantheon default applications");
};
···
description = lib.mdDoc "List of packages for which gsettings are overridden.";
};
+
debug = mkEnableOption (lib.mdDoc "gnome-session debug messages");
};
+1 -1
nixos/modules/services/x11/desktop-managers/retroarch.nix
···
in {
options.services.xserver.desktopManager.retroarch = {
-
enable = mkEnableOption "RetroArch";
package = mkOption {
type = types.package;
···
in {
options.services.xserver.desktopManager.retroarch = {
+
enable = mkEnableOption (lib.mdDoc "RetroArch");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/x11/desktop-managers/surf-display.nix
···
in {
options = {
services.xserver.desktopManager.surf-display = {
-
enable = mkEnableOption "surf-display as a kiosk browser session";
defaultWwwUri = mkOption {
type = types.str;
···
in {
options = {
services.xserver.desktopManager.surf-display = {
+
enable = mkEnableOption (lib.mdDoc "surf-display as a kiosk browser session");
defaultWwwUri = mkOption {
type = types.str;
+4 -4
nixos/modules/services/x11/display-managers/default.nix
···
}
]
'';
-
description = ''
List of sessions supported with the command used to start each
session. Each session script can set the
-
<varname>waitPID</varname> shell variable to make this script
wait until the end of the user session. Each script is used
to define either a window manager or a desktop manager. These
can be differentiated by setting the attribute
-
<varname>manage</varname> either to <literal>"window"</literal>
-
or <literal>"desktop"</literal>.
The list of desktop manager and window manager should appear
inside the display manager with the desktop manager name
···
}
]
'';
+
description = lib.mdDoc ''
List of sessions supported with the command used to start each
session. Each session script can set the
+
{var}`waitPID` shell variable to make this script
wait until the end of the user session. Each script is used
to define either a window manager or a desktop manager. These
can be differentiated by setting the attribute
+
{var}`manage` either to `"window"`
+
or `"desktop"`.
The list of desktop manager and window manager should appear
inside the display manager with the desktop manager name
+2 -2
nixos/modules/services/x11/display-managers/gdm.nix
···
services.xserver.displayManager.gdm = {
-
enable = mkEnableOption "GDM, the GNOME Display Manager";
-
debug = mkEnableOption "debugging messages in GDM";
# Auto login options specific to GDM
autoLogin.delay = mkOption {
···
services.xserver.displayManager.gdm = {
+
enable = mkEnableOption (lib.mdDoc "GDM, the GNOME Display Manager");
+
debug = mkEnableOption (lib.mdDoc "debugging messages in GDM");
# Auto login options specific to GDM
autoLogin.delay = mkOption {
+2 -2
nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix
···
{
options = {
services.xserver.displayManager.lightdm.greeters.slick = {
-
enable = mkEnableOption "lightdm-slick-greeter as the lightdm greeter";
theme = {
package = mkOption {
···
};
};
-
draw-user-backgrounds = mkEnableOption "draw user backgrounds";
extraConfig = mkOption {
type = types.lines;
···
{
options = {
services.xserver.displayManager.lightdm.greeters.slick = {
+
enable = mkEnableOption (lib.mdDoc "lightdm-slick-greeter as the lightdm greeter");
theme = {
package = mkOption {
···
};
};
+
draw-user-backgrounds = mkEnableOption (lib.mdDoc "draw user backgrounds");
extraConfig = mkOption {
type = types.lines;
+1 -1
nixos/modules/services/x11/display-managers/xpra.nix
···
description = lib.mdDoc "Authentication to use when connecting to xpra";
};
-
pulseaudio = mkEnableOption "pulseaudio audio streaming";
extraOptions = mkOption {
description = lib.mdDoc "Extra xpra options";
···
description = lib.mdDoc "Authentication to use when connecting to xpra";
};
+
pulseaudio = mkEnableOption (lib.mdDoc "pulseaudio audio streaming");
extraOptions = mkOption {
description = lib.mdDoc "Extra xpra options";
+1 -1
nixos/modules/services/x11/hardware/digimend.nix
···
services.xserver.digimend = {
-
enable = mkEnableOption "the digimend drivers for Huion/XP-Pen/etc. tablets";
};
···
services.xserver.digimend = {
+
enable = mkEnableOption (lib.mdDoc "the digimend drivers for Huion/XP-Pen/etc. tablets");
};
+1 -1
nixos/modules/services/x11/hardware/libinput.nix
···
options = {
services.xserver.libinput = {
-
enable = mkEnableOption "libinput";
mouse = mkConfigForDevice "mouse";
touchpad = mkConfigForDevice "touchpad";
};
···
options = {
services.xserver.libinput = {
+
enable = mkEnableOption (lib.mdDoc "libinput");
mouse = mkConfigForDevice "mouse";
touchpad = mkConfigForDevice "touchpad";
};
+1 -1
nixos/modules/services/x11/imwheel.nix
···
{
options = {
services.xserver.imwheel = {
-
enable = mkEnableOption "IMWheel service";
extraOptions = mkOption {
type = types.listOf types.str;
···
{
options = {
services.xserver.imwheel = {
+
enable = mkEnableOption (lib.mdDoc "IMWheel service");
extraOptions = mkOption {
type = types.listOf types.str;
+1 -1
nixos/modules/services/x11/touchegg.nix
···
###### interface
options.services.touchegg = {
-
enable = mkEnableOption "touchegg, a multi-touch gesture recognizer";
package = mkOption {
type = types.package;
···
###### interface
options.services.touchegg = {
+
enable = mkEnableOption (lib.mdDoc "touchegg, a multi-touch gesture recognizer");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/x11/urserver.nix
···
cfg = config.services.urserver;
in {
-
options.services.urserver.enable = lib.mkEnableOption "urserver";
config = lib.mkIf cfg.enable {
···
cfg = config.services.urserver;
in {
+
options.services.urserver.enable = lib.mkEnableOption (lib.mdDoc "urserver");
config = lib.mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/2bwm.nix
···
###### interface
options = {
-
services.xserver.windowManager."2bwm".enable = mkEnableOption "2bwm";
};
···
###### interface
options = {
+
services.xserver.windowManager."2bwm".enable = mkEnableOption (lib.mdDoc "2bwm");
};
+1 -1
nixos/modules/services/x11/window-managers/afterstep.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.afterstep.enable = mkEnableOption "afterstep";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.afterstep.enable = mkEnableOption (lib.mdDoc "afterstep");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/awesome.nix
···
services.xserver.windowManager.awesome = {
-
enable = mkEnableOption "Awesome window manager";
luaModules = mkOption {
default = [];
···
services.xserver.windowManager.awesome = {
+
enable = mkEnableOption (lib.mdDoc "Awesome window manager");
luaModules = mkOption {
default = [];
+1 -1
nixos/modules/services/x11/window-managers/berry.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.berry.enable = mkEnableOption "berry";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.berry.enable = mkEnableOption (lib.mdDoc "berry");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/bspwm.nix
···
{
options = {
services.xserver.windowManager.bspwm = {
-
enable = mkEnableOption "bspwm";
package = mkOption {
type = types.package;
···
{
options = {
services.xserver.windowManager.bspwm = {
+
enable = mkEnableOption (lib.mdDoc "bspwm");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/x11/window-managers/clfswm.nix
···
{
options = {
services.xserver.windowManager.clfswm = {
-
enable = mkEnableOption "clfswm";
package = mkOption {
type = types.package;
default = pkgs.lispPackages.clfswm;
···
{
options = {
services.xserver.windowManager.clfswm = {
+
enable = mkEnableOption (lib.mdDoc "clfswm");
package = mkOption {
type = types.package;
default = pkgs.lispPackages.clfswm;
+1 -1
nixos/modules/services/x11/window-managers/cwm.nix
···
in
{
options = {
-
services.xserver.windowManager.cwm.enable = mkEnableOption "cwm";
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton
···
in
{
options = {
+
services.xserver.windowManager.cwm.enable = mkEnableOption (lib.mdDoc "cwm");
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton
+2 -2
nixos/modules/services/x11/window-managers/default.nix
···
type = types.nullOr types.str;
default = null;
example = "wmii";
-
description = ''
-
<emphasis role="strong">Deprecated</emphasis>, please use <xref linkend="opt-services.xserver.displayManager.defaultSession"/> instead.
Default window manager loaded if none have been chosen.
'';
···
type = types.nullOr types.str;
default = null;
example = "wmii";
+
description = lib.mdDoc ''
+
**Deprecated**, please use [](#opt-services.xserver.displayManager.defaultSession) instead.
Default window manager loaded if none have been chosen.
'';
+1 -1
nixos/modules/services/x11/window-managers/dwm.nix
···
###### interface
options = {
-
services.xserver.windowManager.dwm.enable = mkEnableOption "dwm";
};
···
###### interface
options = {
+
services.xserver.windowManager.dwm.enable = mkEnableOption (lib.mdDoc "dwm");
};
+1 -1
nixos/modules/services/x11/window-managers/e16.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.e16.enable = mkEnableOption "e16";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.e16.enable = mkEnableOption (lib.mdDoc "e16");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/evilwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.evilwm.enable = mkEnableOption "evilwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.evilwm.enable = mkEnableOption (lib.mdDoc "evilwm");
};
###### implementation
+3 -3
nixos/modules/services/x11/window-managers/exwm.nix
···
{
options = {
services.xserver.windowManager.exwm = {
-
enable = mkEnableOption "exwm";
loadScript = mkOption {
default = "(require 'exwm)";
type = types.lines;
···
epkgs.proofgeneral
]
'';
-
description = ''
Extra packages available to Emacs. The value must be a
function which receives the attrset defined in
-
<varname>emacs.pkgs</varname> as the sole argument.
'';
};
};
···
{
options = {
services.xserver.windowManager.exwm = {
+
enable = mkEnableOption (lib.mdDoc "exwm");
loadScript = mkOption {
default = "(require 'exwm)";
type = types.lines;
···
epkgs.proofgeneral
]
'';
+
description = lib.mdDoc ''
Extra packages available to Emacs. The value must be a
function which receives the attrset defined in
+
{var}`emacs.pkgs` as the sole argument.
'';
};
};
+1 -1
nixos/modules/services/x11/window-managers/fluxbox.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.fluxbox.enable = mkEnableOption "fluxbox";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.fluxbox.enable = mkEnableOption (lib.mdDoc "fluxbox");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/fvwm2.nix
···
options = {
services.xserver.windowManager.fvwm2 = {
-
enable = mkEnableOption "Fvwm2 window manager";
gestures = mkOption {
default = false;
···
options = {
services.xserver.windowManager.fvwm2 = {
+
enable = mkEnableOption (lib.mdDoc "Fvwm2 window manager");
gestures = mkOption {
default = false;
+1 -1
nixos/modules/services/x11/window-managers/fvwm3.nix
···
options = {
services.xserver.windowManager.fvwm3 = {
-
enable = mkEnableOption "Fvwm3 window manager";
};
};
···
options = {
services.xserver.windowManager.fvwm3 = {
+
enable = mkEnableOption (lib.mdDoc "Fvwm3 window manager");
};
};
+1 -1
nixos/modules/services/x11/window-managers/hackedbox.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.hackedbox.enable = mkEnableOption "hackedbox";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.hackedbox.enable = mkEnableOption (lib.mdDoc "hackedbox");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/herbstluftwm.nix
···
{
options = {
services.xserver.windowManager.herbstluftwm = {
-
enable = mkEnableOption "herbstluftwm";
package = mkOption {
type = types.package;
···
{
options = {
services.xserver.windowManager.herbstluftwm = {
+
enable = mkEnableOption (lib.mdDoc "herbstluftwm");
package = mkOption {
type = types.package;
+1 -1
nixos/modules/services/x11/window-managers/i3.nix
···
{
options.services.xserver.windowManager.i3 = {
-
enable = mkEnableOption "i3 window manager";
configFile = mkOption {
default = null;
···
{
options.services.xserver.windowManager.i3 = {
+
enable = mkEnableOption (lib.mdDoc "i3 window manager");
configFile = mkOption {
default = null;
+1 -1
nixos/modules/services/x11/window-managers/icewm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.icewm.enable = mkEnableOption "icewm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.icewm.enable = mkEnableOption (lib.mdDoc "icewm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/jwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.jwm.enable = mkEnableOption "jwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.jwm.enable = mkEnableOption (lib.mdDoc "jwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/leftwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.leftwm.enable = mkEnableOption "leftwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.leftwm.enable = mkEnableOption (lib.mdDoc "leftwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/lwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.lwm.enable = mkEnableOption "lwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.lwm.enable = mkEnableOption (lib.mdDoc "lwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/metacity.nix
···
{
options = {
-
services.xserver.windowManager.metacity.enable = mkEnableOption "metacity";
};
config = mkIf cfg.enable {
···
{
options = {
+
services.xserver.windowManager.metacity.enable = mkEnableOption (lib.mdDoc "metacity");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/mlvwm.nix
···
{
options.services.xserver.windowManager.mlvwm = {
-
enable = mkEnableOption "Macintosh-like Virtual Window Manager";
configFile = mkOption {
default = null;
···
{
options.services.xserver.windowManager.mlvwm = {
+
enable = mkEnableOption (lib.mdDoc "Macintosh-like Virtual Window Manager");
configFile = mkOption {
default = null;
+1 -1
nixos/modules/services/x11/window-managers/mwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.mwm.enable = mkEnableOption "mwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.mwm.enable = mkEnableOption (lib.mdDoc "mwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/notion.nix
···
{
options = {
-
services.xserver.windowManager.notion.enable = mkEnableOption "notion";
};
config = mkIf cfg.enable {
···
{
options = {
+
services.xserver.windowManager.notion.enable = mkEnableOption (lib.mdDoc "notion");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/openbox.nix
···
{
options = {
-
services.xserver.windowManager.openbox.enable = mkEnableOption "openbox";
};
config = mkIf cfg.enable {
···
{
options = {
+
services.xserver.windowManager.openbox.enable = mkEnableOption (lib.mdDoc "openbox");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/oroborus.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.oroborus.enable = mkEnableOption "oroborus";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.oroborus.enable = mkEnableOption (lib.mdDoc "oroborus");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/pekwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.pekwm.enable = mkEnableOption "pekwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.pekwm.enable = mkEnableOption (lib.mdDoc "pekwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/qtile.nix
···
{
options.services.xserver.windowManager.qtile = {
-
enable = mkEnableOption "qtile";
package = mkPackageOption pkgs "qtile" { };
};
···
{
options.services.xserver.windowManager.qtile = {
+
enable = mkEnableOption (lib.mdDoc "qtile");
package = mkPackageOption pkgs "qtile" { };
};
+1 -1
nixos/modules/services/x11/window-managers/ratpoison.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.ratpoison.enable = mkEnableOption "ratpoison";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.ratpoison.enable = mkEnableOption (lib.mdDoc "ratpoison");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/sawfish.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.sawfish.enable = mkEnableOption "sawfish";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.sawfish.enable = mkEnableOption (lib.mdDoc "sawfish");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/smallwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.smallwm.enable = mkEnableOption "smallwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.smallwm.enable = mkEnableOption (lib.mdDoc "smallwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/spectrwm.nix
···
{
options = {
-
services.xserver.windowManager.spectrwm.enable = mkEnableOption "spectrwm";
};
config = mkIf cfg.enable {
···
{
options = {
+
services.xserver.windowManager.spectrwm.enable = mkEnableOption (lib.mdDoc "spectrwm");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/stumpwm.nix
···
{
options = {
-
services.xserver.windowManager.stumpwm.enable = mkEnableOption "stumpwm";
};
config = mkIf cfg.enable {
···
{
options = {
+
services.xserver.windowManager.stumpwm.enable = mkEnableOption (lib.mdDoc "stumpwm");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/tinywm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.tinywm.enable = mkEnableOption "tinywm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.tinywm.enable = mkEnableOption (lib.mdDoc "tinywm");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/twm.nix
···
###### interface
options = {
-
services.xserver.windowManager.twm.enable = mkEnableOption "twm";
};
···
###### interface
options = {
+
services.xserver.windowManager.twm.enable = mkEnableOption (lib.mdDoc "twm");
};
+1 -1
nixos/modules/services/x11/window-managers/windowlab.nix
···
{
options = {
services.xserver.windowManager.windowlab.enable =
-
lib.mkEnableOption "windowlab";
};
config = lib.mkIf cfg.enable {
···
{
options = {
services.xserver.windowManager.windowlab.enable =
+
lib.mkEnableOption (lib.mdDoc "windowlab");
};
config = lib.mkIf cfg.enable {
+1 -1
nixos/modules/services/x11/window-managers/windowmaker.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.windowmaker.enable = mkEnableOption "windowmaker";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.windowmaker.enable = mkEnableOption (lib.mdDoc "windowmaker");
};
###### implementation
+1 -1
nixos/modules/services/x11/window-managers/wmderland.nix
···
{
options.services.xserver.windowManager.wmderland = {
-
enable = mkEnableOption "wmderland";
extraSessionCommands = mkOption {
default = "";
···
{
options.services.xserver.windowManager.wmderland = {
+
enable = mkEnableOption (lib.mdDoc "wmderland");
extraSessionCommands = mkOption {
default = "";
+1 -1
nixos/modules/services/x11/window-managers/wmii.nix
···
in
{
options = {
-
services.xserver.windowManager.wmii.enable = mkEnableOption "wmii";
};
config = mkIf cfg.enable {
···
in
{
options = {
+
services.xserver.windowManager.wmii.enable = mkEnableOption (lib.mdDoc "wmii");
};
config = mkIf cfg.enable {
+5 -5
nixos/modules/services/x11/window-managers/xmonad.nix
···
options = {
services.xserver.windowManager.xmonad = {
-
enable = mkEnableOption "xmonad";
haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = literalExpression "pkgs.haskellPackages";
example = literalExpression "pkgs.haskell.packages.ghc8107";
type = types.attrs;
-
description = ''
haskellPackages used to build Xmonad and other packages.
This can be used to change the GHC version used to build
Xmonad and the packages listed in
-
<varname>extraPackages</varname>.
'';
};
···
haskellPackages.monad-logger
]
'';
-
description = ''
Extra packages available to ghc when rebuilding Xmonad. The
value must be a function which receives the attrset defined
-
in <varname>haskellPackages</varname> as the sole argument.
'';
};
···
options = {
services.xserver.windowManager.xmonad = {
+
enable = mkEnableOption (lib.mdDoc "xmonad");
haskellPackages = mkOption {
default = pkgs.haskellPackages;
defaultText = literalExpression "pkgs.haskellPackages";
example = literalExpression "pkgs.haskell.packages.ghc8107";
type = types.attrs;
+
description = lib.mdDoc ''
haskellPackages used to build Xmonad and other packages.
This can be used to change the GHC version used to build
Xmonad and the packages listed in
+
{var}`extraPackages`.
'';
};
···
haskellPackages.monad-logger
]
'';
+
description = lib.mdDoc ''
Extra packages available to ghc when rebuilding Xmonad. The
value must be a function which receives the attrset defined
+
in {var}`haskellPackages` as the sole argument.
'';
};
+1 -1
nixos/modules/services/x11/window-managers/yeahwm.nix
···
{
###### interface
options = {
-
services.xserver.windowManager.yeahwm.enable = mkEnableOption "yeahwm";
};
###### implementation
···
{
###### interface
options = {
+
services.xserver.windowManager.yeahwm.enable = mkEnableOption (lib.mdDoc "yeahwm");
};
###### implementation
+1 -1
nixos/modules/services/x11/xautolock.nix
···
{
options = {
services.xserver.xautolock = {
-
enable = mkEnableOption "xautolock";
enableNotifier = mkEnableOption "xautolock.notify" // {
description = ''
Whether to enable the notifier feature of xautolock.
···
{
options = {
services.xserver.xautolock = {
+
enable = mkEnableOption (lib.mdDoc "xautolock");
enableNotifier = mkEnableOption "xautolock.notify" // {
description = ''
Whether to enable the notifier feature of xautolock.
+1 -1
nixos/modules/services/x11/xbanish.nix
···
in {
options.services.xbanish = {
-
enable = mkEnableOption "xbanish";
arguments = mkOption {
description = lib.mdDoc "Arguments to pass to xbanish command";
···
in {
options.services.xbanish = {
+
enable = mkEnableOption (lib.mdDoc "xbanish");
arguments = mkOption {
description = lib.mdDoc "Arguments to pass to xbanish command";
+1 -1
nixos/modules/system/boot/grow-partition.nix
···
];
options = {
-
boot.growPartition = mkEnableOption "grow the root partition on boot";
};
config = mkIf config.boot.growPartition {
···
];
options = {
+
boot.growPartition = mkEnableOption (lib.mdDoc "grow the root partition on boot");
};
config = mkIf config.boot.growPartition {
+6 -6
nixos/modules/system/boot/kernel.nix
···
# - some of it might not even evaluate correctly.
defaultText = literalExpression "pkgs.linuxPackages";
example = literalExpression "pkgs.linuxKernel.packages.linux_5_10";
-
description = ''
This option allows you to override the Linux kernel used by
NixOS. Since things like external kernel module packages are
tied to the kernel you're using, it also overrides those.
This option is a function that takes Nixpkgs as an argument
(as a convenience), and returns an attribute set containing at
-
the very least an attribute <varname>kernel</varname>.
Additional attributes may be needed depending on your
configuration. For instance, if you use the NVIDIA X driver,
then it also needs to contain an attribute
-
<varname>nvidia_x11</varname>.
'';
};
···
type = types.str;
default = "";
example = "my secret seed";
-
description = ''
-
Provides a custom seed for the <varname>RANDSTRUCT</varname> security
-
option of the Linux kernel. Note that <varname>RANDSTRUCT</varname> is
only enabled in NixOS hardened kernels. Using a custom seed requires
building the kernel and dependent packages locally, since this
customization happens at build time.
···
# - some of it might not even evaluate correctly.
defaultText = literalExpression "pkgs.linuxPackages";
example = literalExpression "pkgs.linuxKernel.packages.linux_5_10";
+
description = lib.mdDoc ''
This option allows you to override the Linux kernel used by
NixOS. Since things like external kernel module packages are
tied to the kernel you're using, it also overrides those.
This option is a function that takes Nixpkgs as an argument
(as a convenience), and returns an attribute set containing at
+
the very least an attribute {var}`kernel`.
Additional attributes may be needed depending on your
configuration. For instance, if you use the NVIDIA X driver,
then it also needs to contain an attribute
+
{var}`nvidia_x11`.
'';
};
···
type = types.str;
default = "";
example = "my secret seed";
+
description = lib.mdDoc ''
+
Provides a custom seed for the {var}`RANDSTRUCT` security
+
option of the Linux kernel. Note that {var}`RANDSTRUCT` is
only enabled in NixOS hardened kernels. Using a custom seed requires
building the kernel and dependent packages locally, since this
customization happens at build time.
+1 -1
nixos/modules/system/boot/plymouth.nix
···
boot.plymouth = {
-
enable = mkEnableOption "Plymouth boot splash screen";
font = mkOption {
default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
···
boot.plymouth = {
+
enable = mkEnableOption (lib.mdDoc "Plymouth boot splash screen");
font = mkOption {
default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
+3 -3
nixos/modules/system/boot/stage-1.nix
···
type = types.str;
default = "";
example = "/dev/sda3";
-
description = ''
Device for manual resume attempt during boot. This should be used primarily
if you want to resume from file. If left empty, the swap partitions are used.
Specify here the device where the file resides.
-
You should also use <varname>boot.kernelParams</varname> to specify
-
<literal>«resume_offset»</literal>.
'';
};
···
type = types.str;
default = "";
example = "/dev/sda3";
+
description = lib.mdDoc ''
Device for manual resume attempt during boot. This should be used primarily
if you want to resume from file. If left empty, the swap partitions are used.
Specify here the device where the file resides.
+
You should also use {var}`boot.kernelParams` to specify
+
`«resume_offset»`.
'';
};
+1 -1
nixos/modules/system/boot/systemd/shutdown.nix
···
in {
options.systemd.shutdownRamfs = {
-
enable = lib.mkEnableOption "pivoting back to an initramfs for shutdown" // { default = true; };
contents = lib.mkOption {
description = lib.mdDoc "Set of files that have to be linked into the shutdown ramfs";
example = lib.literalExpression ''
···
in {
options.systemd.shutdownRamfs = {
+
enable = lib.mkEnableOption (lib.mdDoc "pivoting back to an initramfs for shutdown") // { default = true; };
contents = lib.mkOption {
description = lib.mdDoc "Set of files that have to be linked into the shutdown ramfs";
example = lib.literalExpression ''
+1 -1
nixos/modules/tasks/filesystems/btrfs.nix
···
# One could also do regular btrfs balances, but that shouldn't be necessary
# during normal usage and as long as the filesystems aren't filled near capacity
services.btrfs.autoScrub = {
-
enable = mkEnableOption "regular btrfs scrub";
fileSystems = mkOption {
type = types.listOf types.path;
···
# One could also do regular btrfs balances, but that shouldn't be necessary
# during normal usage and as long as the filesystems aren't filled near capacity
services.btrfs.autoScrub = {
+
enable = mkEnableOption (lib.mdDoc "regular btrfs scrub");
fileSystems = mkOption {
type = types.listOf types.path;
+5 -5
nixos/modules/tasks/filesystems/zfs.nix
···
forceImportAll = mkOption {
type = types.bool;
default = false;
-
description = ''
Forcibly import all ZFS pool(s).
-
If you set this option to <literal>false</literal> and NixOS subsequently fails to
import your non-root ZFS pool(s), you should manually import each pool with
-
"zpool import -f &lt;pool-name&gt;", and then reboot. You should only need to do
this once.
'';
};
···
};
services.zfs.autoScrub = {
-
enable = mkEnableOption "periodic scrubbing of ZFS pools";
interval = mkOption {
default = "Sun, 02:00";
···
};
services.zfs.zed = {
-
enableMail = mkEnableOption "ZED's ability to send emails" // {
default = cfgZfs.package.enableMail;
defaultText = literalExpression "config.${optZfs.package}.enableMail";
};
···
forceImportAll = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Forcibly import all ZFS pool(s).
+
If you set this option to `false` and NixOS subsequently fails to
import your non-root ZFS pool(s), you should manually import each pool with
+
"zpool import -f \<pool-name\>", and then reboot. You should only need to do
this once.
'';
};
···
};
services.zfs.autoScrub = {
+
enable = mkEnableOption (lib.mdDoc "periodic scrubbing of ZFS pools");
interval = mkOption {
default = "Sun, 02:00";
···
};
services.zfs.zed = {
+
enableMail = mkEnableOption (lib.mdDoc "ZED's ability to send emails") // {
default = cfgZfs.package.enableMail;
defaultText = literalExpression "config.${optZfs.package}.enableMail";
};
+3 -3
nixos/modules/tasks/lvm.nix
···
Defaults to pkgs.lvm2, pkgs.lvm2_dmeventd if dmeventd or pkgs.lvm2_vdo if vdo is enabled.
'';
};
-
dmeventd.enable = mkEnableOption "the LVM dmevent daemon";
-
boot.thin.enable = mkEnableOption "support for booting from ThinLVs";
-
boot.vdo.enable = mkEnableOption "support for booting from VDOLVs";
};
options.boot.initrd.services.lvm.enable = (mkEnableOption "enable booting from LVM2 in the initrd") // {
···
Defaults to pkgs.lvm2, pkgs.lvm2_dmeventd if dmeventd or pkgs.lvm2_vdo if vdo is enabled.
'';
};
+
dmeventd.enable = mkEnableOption (lib.mdDoc "the LVM dmevent daemon");
+
boot.thin.enable = mkEnableOption (lib.mdDoc "support for booting from ThinLVs");
+
boot.vdo.enable = mkEnableOption (lib.mdDoc "support for booting from VDOLVs");
};
options.boot.initrd.services.lvm.enable = (mkEnableOption "enable booting from LVM2 in the initrd") // {
+1 -1
nixos/modules/tasks/powertop.nix
···
in {
###### interface
-
options.powerManagement.powertop.enable = mkEnableOption "powertop auto tuning on startup";
###### implementation
···
in {
###### interface
+
options.powerManagement.powertop.enable = mkEnableOption (lib.mdDoc "powertop auto tuning on startup");
###### implementation
+1 -1
nixos/modules/tasks/snapraid.nix
···
in
{
options.snapraid = with types; {
-
enable = mkEnableOption "SnapRAID";
dataDisks = mkOption {
default = { };
example = {
···
in
{
options.snapraid = with types; {
+
enable = mkEnableOption (lib.mdDoc "SnapRAID");
dataDisks = mkOption {
default = { };
example = {
+1 -1
nixos/modules/virtualisation/anbox.nix
···
options.virtualisation.anbox = {
-
enable = mkEnableOption "Anbox";
image = mkOption {
default = pkgs.anbox.image;
···
options.virtualisation.anbox = {
+
enable = mkEnableOption (lib.mdDoc "Anbox");
image = mkOption {
default = pkgs.anbox.image;
+1 -1
nixos/modules/virtualisation/containerd.nix
···
{
options.virtualisation.containerd = with lib.types; {
-
enable = lib.mkEnableOption "containerd container runtime";
configFile = lib.mkOption {
default = null;
···
{
options.virtualisation.containerd = with lib.types; {
+
enable = lib.mkEnableOption (lib.mdDoc "containerd container runtime");
configFile = lib.mkOption {
default = null;
+1 -1
nixos/modules/virtualisation/cri-o.nix
···
};
options.virtualisation.cri-o = {
-
enable = mkEnableOption "Container Runtime Interface for OCI (CRI-O)";
storageDriver = mkOption {
type = types.enum [ "btrfs" "overlay" "vfs" ];
···
};
options.virtualisation.cri-o = {
+
enable = mkEnableOption (lib.mdDoc "Container Runtime Interface for OCI (CRI-O)");
storageDriver = mkOption {
type = types.enum [ "btrfs" "overlay" "vfs" ];
+1 -1
nixos/modules/virtualisation/ecs-agent.nix
···
cfg = config.services.ecs-agent;
in {
options.services.ecs-agent = {
-
enable = mkEnableOption "Amazon ECS agent";
package = mkOption {
type = types.path;
···
cfg = config.services.ecs-agent;
in {
options.services.ecs-agent = {
+
enable = mkEnableOption (lib.mdDoc "Amazon ECS agent");
package = mkOption {
type = types.path;
+1 -1
nixos/modules/virtualisation/hyperv-guest.nix
···
in {
options = {
virtualisation.hypervGuest = {
-
enable = mkEnableOption "Hyper-V Guest Support";
videoMode = mkOption {
type = types.str;
···
in {
options = {
virtualisation.hypervGuest = {
+
enable = mkEnableOption (lib.mdDoc "Hyper-V Guest Support");
videoMode = mkOption {
type = types.str;
+3 -3
nixos/modules/virtualisation/nixos-containers.nix
···
ephemeral = mkOption {
type = types.bool;
default = false;
-
description = ''
Runs container in ephemeral mode with the empty root filesystem at boot.
This way container will be bootstrapped from scratch on each boot
and will be cleaned up on shutdown leaving no traces behind.
···
Note that this option might require to do some adjustments to the container configuration,
e.g. you might want to set
-
<varname>systemd.network.networks.$interface.dhcpV4Config.ClientIdentifier</varname> to "mac"
-
if you use <varname>macvlans</varname> option.
This way dhcp client identifier will be stable between the container restarts.
Note that the container journal will not be linked to the host if this option is enabled.
···
ephemeral = mkOption {
type = types.bool;
default = false;
+
description = lib.mdDoc ''
Runs container in ephemeral mode with the empty root filesystem at boot.
This way container will be bootstrapped from scratch on each boot
and will be cleaned up on shutdown leaving no traces behind.
···
Note that this option might require to do some adjustments to the container configuration,
e.g. you might want to set
+
{var}`systemd.network.networks.$interface.dhcpV4Config.ClientIdentifier` to "mac"
+
if you use {var}`macvlans` option.
This way dhcp client identifier will be stable between the container restarts.
Note that the container journal will not be linked to the host if this option is enabled.
+1 -1
nixos/modules/virtualisation/vmware-guest.nix
···
];
options.virtualisation.vmware.guest = {
-
enable = mkEnableOption "VMWare Guest Support";
headless = mkOption {
type = types.bool;
default = false;
···
];
options.virtualisation.vmware.guest = {
+
enable = mkEnableOption (lib.mdDoc "VMWare Guest Support");
headless = mkOption {
type = types.bool;
default = false;
+1 -1
nixos/modules/virtualisation/waydroid.nix
···
{
options.virtualisation.waydroid = {
-
enable = mkEnableOption "Waydroid";
};
config = mkIf cfg.enable {
···
{
options.virtualisation.waydroid = {
+
enable = mkEnableOption (lib.mdDoc "Waydroid");
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/virtualisation/xe-guest-utilities.nix
···
in {
options = {
services.xe-guest-utilities = {
-
enable = mkEnableOption "the Xen guest utilities daemon";
};
};
config = mkIf cfg.enable {
···
in {
options = {
services.xe-guest-utilities = {
+
enable = mkEnableOption (lib.mdDoc "the Xen guest utilities daemon");
};
};
config = mkIf cfg.enable {
+1 -1
nixos/modules/virtualisation/xen-dom0.nix
···
};
};
-
virtualisation.xen.trace = mkEnableOption "Xen tracing";
};
···
};
};
+
virtualisation.xen.trace = mkEnableOption (lib.mdDoc "Xen tracing");
};
+5 -5
nixos/tests/common/acme/server/default.nix
···
type = types.str;
readOnly = true;
default = domain;
-
description = ''
-
A domain name to use with the <literal>nodes</literal> attribute to
identify the CA server.
'';
};
···
type = types.path;
readOnly = true;
default = testCerts.ca.cert;
-
description = ''
-
A certificate file to use with the <literal>nodes</literal> attribute to
inject the test CA certificate used in the ACME server into
-
<option>security.pki.certificateFiles</option>.
'';
};
};
···
type = types.str;
readOnly = true;
default = domain;
+
description = lib.mdDoc ''
+
A domain name to use with the `nodes` attribute to
identify the CA server.
'';
};
···
type = types.path;
readOnly = true;
default = testCerts.ca.cert;
+
description = lib.mdDoc ''
+
A certificate file to use with the `nodes` attribute to
inject the test CA certificate used in the ACME server into
+
{option}`security.pki.certificateFiles`.
'';
};
};
+3 -3
nixos/tests/common/auto.nix
···
enable = mkOption {
default = false;
-
description = ''
Whether to enable the fake "auto" display manager, which
automatically logs in the user specified in the
-
<option>user</option> option. This is mostly useful for
automated tests.
'';
};
user = mkOption {
default = "root";
-
description = "The user account to login automatically.";
};
};
···
enable = mkOption {
default = false;
+
description = lib.mdDoc ''
Whether to enable the fake "auto" display manager, which
automatically logs in the user specified in the
+
{option}`user` option. This is mostly useful for
automated tests.
'';
};
user = mkOption {
default = "root";
+
description = lib.mdDoc "The user account to login automatically.";
};
};