Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

wlib.modules.systemd

modules/systemd

This module is made possible by: birdee

Overview

Options for adding systemd unit files to the derivation for both user and system unit search paths.

This does not add the derivation to the unit search path itself, it adds the unit files to the lib and share directories of the derivation.

When installing in a target module system using the config.install module, the importable module will do this for you (for supported module systems). For example, in nixos, doing so will add the wrapper to config.systemd.packages alongside environment.systemPackages

See options.install.systemd to control which module systems to install in.

When using this module, the first time you install the derivation, systemd will not enable the service until you restart the system.

You may start it manually by name, but systemd does not refresh its paths for .wants, .requires, and .upholds links unless restarted.

However, for everything other than enablement, it will reflect updates by simply rebuilding with nixos or home manager, and it will continue to be automatically enabled as long as it keeps the same name.

Options

install

This submodule contains options which create a generic integration module.

You can then import this submodule as a module in the module systems you specify in config.install.modules

i.e. in nixos or home manager { imports = [ inputs.nix-wrapper-modules.wrappers.<name>.install ]; }

home manager, nixos, and nix darwin will by default also install the package.

It will create the options at config.install.optionLocation

This will default to [ "wrappers" (lib.last _prefix) ], so before importing it like this you will want to either set config.install.optionLocation yourself, or use wlib.getInstallModule to set prefix before importing the module.

In this way, your wrapper module can specify installation instructions for any module system evaluation which sets the class attribute

Type: submodule

Declared by:

install.systemd

Add the service files specified by options.systemd in the derivation to the specified module systems via the install module

Type: list of (one of “nixos”, “homeManager”, “hjem”)

Default:

[
  "nixos"
  "homeManager"
  "hjem"
]

Declared by:

systemd

Options for adding systemd unit files to the derivation for both user and system unit search paths.

This does not add the derivation to the unit search path itself, it adds the unit files to the lib and share directories of the derivation.

When installing in a target module system using the config.install module, the importable module will do this for you (for supported module systems). For example, in nixos, doing so will add the wrapper to config.systemd.packages alongside environment.systemPackages

See options.install.systemd to control which module systems to install in.

When using this module, the first time you install the derivation, systemd will not enable the service until you restart the system.

You may start it manually by name, but systemd does not refresh its paths for .wants, .requires, and .upholds links unless restarted.

However, for everything other than enablement, it will reflect updates by simply rebuilding with nixos or home manager, and it will continue to be automatically enabled as long as it keeps the same name.

Type: submodule

Default:

{ }

Declared by:

systemd.system

Options for defining system-level systemd unit files.

Type: submodule

Default:

{ }

Declared by:

systemd.system.automount

Accepts an Automount section: man systemd.automount

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.automount.<name>.Automount

man systemd.automount

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.automount.<name>.Automount.DirectoryMode

Permissions for auto-created automount point directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.system.automount.<name>.Automount.TimeoutIdleSec

Idle time after which systemd attempts to unmount.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.automount.<name>.Automount.Where

Absolute automount point path (must match unit filename).

Type: null or string

Default:

null

Declared by:

systemd.system.automount.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.automount.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.automount.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.automount.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.automount.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.automount.<name>.doInstall

Create .wants .requires and .upholds links for system .automount unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.automount.<name>.enable

Enable generation of system .automount unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.automount.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.automount.<name>.prefixedContent

Content to prepend to the beginning of the generated system .automount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.automount.<name>.suffixedContent

Content to append to the end of the generated system .automount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.device

man systemd.device

Accepts only the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.device.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.device.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.device.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.device.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.device.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.device.<name>.doInstall

Create .wants .requires and .upholds links for system .device unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.device.<name>.enable

Enable generation of system .device unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.device.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.device.<name>.prefixedContent

Content to prepend to the beginning of the generated system .device unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.device.<name>.suffixedContent

Content to append to the end of the generated system .device unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.enable

Enable generation of systemd ‹name› units.

Type: boolean

Default:

true

Declared by:

systemd.system.mount

Accepts a Mount section: man systemd.mount

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.mount.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.mount.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Mount

man systemd.mount

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.mount.<name>.Mount.DirectoryMode

Permissions for auto-created mount point directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Mount.Options

Comma-separated mount options.

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Mount.TimeoutSec

Maximum time to wait for the mount command to finish.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.mount.<name>.Mount.Type

Filesystem type string (e.g. ext4, xfs, btrfs).

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Mount.What

Device node, filesystem label, UUID, or path to mount.

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Mount.Where

Absolute mount point path (must match unit filename).

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.mount.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.mount.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.mount.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.mount.<name>.doInstall

Create .wants .requires and .upholds links for system .mount unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.mount.<name>.enable

Enable generation of system .mount unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.mount.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.mount.<name>.prefixedContent

Content to prepend to the beginning of the generated system .mount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.mount.<name>.suffixedContent

Content to append to the end of the generated system .mount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.path

Accepts a Path section: man systemd.path

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.path.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.path.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path

man systemd.path

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.path.<name>.Path.DirectoryMode

Permissions for auto-created directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.system.path.<name>.Path.DirectoryNotEmpty

Activate when a directory contains at least one entry.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path.MakeDirectory

Create the watched directories before monitoring.

Type: boolean

Default:

false

Declared by:

systemd.system.path.<name>.Path.PathChanged

Activate when a file changes (triggers on close-after-write).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path.PathExists

Activate the unit when a file or directory exists.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path.PathExistsGlob

Activate when at least one file matching the glob exists.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path.PathModified

Activate on any write to the file.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Path.Unit

Unit to activate when a path triggers (defaults to the matching .service unit).

Type: null or string

Default:

null

Declared by:

systemd.system.path.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.path.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.path.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.path.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.path.<name>.doInstall

Create .wants .requires and .upholds links for system .path unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.path.<name>.enable

Enable generation of system .path unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.path.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.path.<name>.prefixedContent

Content to prepend to the beginning of the generated system .path unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.path.<name>.suffixedContent

Content to append to the end of the generated system .path unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.scope

Accepts a Scope section: man systemd.scope

Also accepts the general Unit section, but NOT the Install section: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.scope.<name>.Scope

man systemd.scope

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.scope.<name>.Scope.OOMPolicy

OOM killer behavior for the scope.

Type: null or one of “continue”, “stop”, “kill”

Default:

null

Declared by:

systemd.system.scope.<name>.Scope.RuntimeMaxSec

Maximum time the scope may be active (e.g. 1h, 30m).

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.scope.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.scope.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.scope.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.scope.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.scope.<name>.doInstall

Create .wants .requires and .upholds links for system .scope unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.scope.<name>.enable

Enable generation of system .scope unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.scope.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.scope.<name>.prefixedContent

Content to prepend to the beginning of the generated system .scope unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.scope.<name>.suffixedContent

Content to append to the end of the generated system .scope unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.service

Accepts a Service section: man systemd.service

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.service.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.service.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Service

man systemd.service

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.service.<name>.Service.Environment

Environment variables to set for the service.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Service.ExecReload

Command to reload the service configuration.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.ExecStart

Main command(s) to execute when the service starts.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.ExecStop

Command to stop the service.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.Group

The group to run the service as.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.Restart

Restart condition for the service process.

Type: null or one of “no”, “on-success”, “on-failure”, “on-abnormal”, “on-watchdog”, “on-abort”, “always”

Default:

null

Declared by:

systemd.system.service.<name>.Service.RestartSec

Sleep duration before a restart attempt.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.service.<name>.Service.StandardError

Where to connect standard error (journal, syslog, null, tty, …).

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.StandardOutput

Where to connect standard output (journal, syslog, null, tty, …).

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.Type

Startup notification type.

Type: null or one of “simple”, “exec”, “forking”, “oneshot”, “dbus”, “notify”, “notify-reload”, “idle”

Default:

null

Declared by:

systemd.system.service.<name>.Service.User

The user to run the service as.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.WorkingDirectory

Working directory for the service process.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Service.X-ReloadIfChanged

Whether to reload the service when its unit file changes.

Type: null or boolean

Default:

null

Declared by:

systemd.system.service.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.service.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.service.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.service.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.service.<name>.doInstall

Create .wants .requires and .upholds links for system .service unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.service.<name>.enable

Enable generation of system .service unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.service.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.service.<name>.prefixedContent

Content to prepend to the beginning of the generated system .service unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.service.<name>.suffixedContent

Content to append to the end of the generated system .service unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.slice

Accepts a Slice section: man systemd.slice

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.slice.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.slice.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Slice

man systemd.slice

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.slice.<name>.Slice.ConcurrencyHardMax

Hard limit on the number of active units within this slice and all descendant slices.

When the limit is reached, activation of additional units fails immediately. Use “infinity” to disable the limit.

Type: null or signed integer or value “infinity” (singular enum)

Default:

null

Declared by:

systemd.system.slice.<name>.Slice.ConcurrencySoftMax

Soft limit on the number of active units within this slice and all descendant slices.

When the limit is reached, additional unit activations are queued until the number of active units falls below the limit. Use “infinity” to disable the limit.

Type: null or signed integer or value “infinity” (singular enum)

Default:

null

Declared by:

systemd.system.slice.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.slice.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.slice.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.slice.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.slice.<name>.doInstall

Create .wants .requires and .upholds links for system .slice unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.slice.<name>.enable

Enable generation of system .slice unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.slice.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.slice.<name>.prefixedContent

Content to prepend to the beginning of the generated system .slice unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.slice.<name>.suffixedContent

Content to append to the end of the generated system .slice unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.socket

Accepts a Socket section: man systemd.socket

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.socket.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.socket.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Socket

man systemd.socket

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.socket.<name>.Socket.Accept

Whether to accept one connection per service instance.

Type: boolean

Default:

false

Declared by:

systemd.system.socket.<name>.Socket.Backlog

The listen() backlog number.

Type: null or signed integer

Default:

null

Declared by:

systemd.system.socket.<name>.Socket.ListenDatagram

UDP or UNIX datagram socket address to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Socket.ListenFIFO

Named pipe (FIFO) path to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Socket.ListenStream

TCP or UNIX stream socket address to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Socket.RemoveOnStop

Whether to remove the socket/FIFO when the unit stops.

Type: boolean

Default:

true

Declared by:

systemd.system.socket.<name>.Socket.Service

Unit name activated by this socket.

Type: null or string

Default:

null

Declared by:

systemd.system.socket.<name>.Socket.SocketGroup

Group of the UNIX socket inode.

Type: null or string

Default:

null

Declared by:

systemd.system.socket.<name>.Socket.SocketMode

Permissions of the UNIX socket (e.g. 0666).

Type: null or string

Default:

null

Declared by:

systemd.system.socket.<name>.Socket.SocketUser

Owner of the UNIX socket inode.

Type: null or string

Default:

null

Declared by:

systemd.system.socket.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.socket.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.socket.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.socket.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.socket.<name>.doInstall

Create .wants .requires and .upholds links for system .socket unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.socket.<name>.enable

Enable generation of system .socket unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.socket.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.socket.<name>.prefixedContent

Content to prepend to the beginning of the generated system .socket unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.socket.<name>.suffixedContent

Content to append to the end of the generated system .socket unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.swap

Accepts a Swap section: man systemd.swap

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.swap.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.swap.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Swap

man systemd.swap

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.swap.<name>.Swap.Options

Comma-separated swapon options (e.g. discard).

Type: null or string

Default:

null

Declared by:

systemd.system.swap.<name>.Swap.Priority

Swap priority.

Type: null or signed integer

Default:

null

Declared by:

systemd.system.swap.<name>.Swap.TimeoutSec

Maximum time to wait for swapon to finish.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.swap.<name>.Swap.What

Device node, file, or fstab-style identifier for the swap device.

Type: null or string

Default:

null

Declared by:

systemd.system.swap.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.swap.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.swap.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.swap.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.swap.<name>.doInstall

Create .wants .requires and .upholds links for system .swap unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.swap.<name>.enable

Enable generation of system .swap unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.swap.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.swap.<name>.prefixedContent

Content to prepend to the beginning of the generated system .swap unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.swap.<name>.suffixedContent

Content to append to the end of the generated system .swap unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.target

man systemd.target

Accepts only the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.target.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.target.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.target.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.target.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.target.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.target.<name>.doInstall

Create .wants .requires and .upholds links for system .target unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.target.<name>.enable

Enable generation of system .target unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.target.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.target.<name>.prefixedContent

Content to prepend to the beginning of the generated system .target unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.target.<name>.suffixedContent

Content to append to the end of the generated system .target unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.timer

Accepts a Timer section: man systemd.timer

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.system.timer.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.timer.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Timer

man systemd.timer

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.system.timer.<name>.Timer.AccuracySec

Scheduling accuracy window (default 1min).

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.OnActiveSec

Timer relative to when this timer unit was activated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.OnBootSec

Timer relative to boot time.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.OnCalendar

Realtime (wallclock) calendar event expression.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Timer.OnStartupSec

Timer relative to when the service manager started.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.OnUnitActiveSec

Timer relative to when the triggered unit was last activated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.OnUnitInactiveSec

Timer relative to when the triggered unit was last deactivated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.Persistent

Catch up on missed OnCalendar= firings after boot.

Type: boolean

Default:

false

Declared by:

systemd.system.timer.<name>.Timer.RandomizedDelaySec

Random delay added to each timer firing.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.Unit

Unit to activate when the timer elapses (defaults to the matching .service unit).

Type: null or string

Default:

null

Declared by:

systemd.system.timer.<name>.Timer.WakeSystem

Wake the system from suspend to meet the timer deadline.

Type: boolean

Default:

false

Declared by:

systemd.system.timer.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.system.timer.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.system.timer.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.system.timer.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.system.timer.<name>.doInstall

Create .wants .requires and .upholds links for system .timer unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.system.timer.<name>.enable

Enable generation of system .timer unit file.

Type: boolean

Default:

true

Declared by:

systemd.system.timer.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.system.timer.<name>.prefixedContent

Content to prepend to the beginning of the generated system .timer unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.system.timer.<name>.suffixedContent

Content to append to the end of the generated system .timer unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user

Options for defining user-level systemd unit files.

Type: submodule

Default:

{ }

Declared by:

systemd.user.automount

Accepts an Automount section: man systemd.automount

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.automount.<name>.Automount

man systemd.automount

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.automount.<name>.Automount.DirectoryMode

Permissions for auto-created automount point directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.user.automount.<name>.Automount.TimeoutIdleSec

Idle time after which systemd attempts to unmount.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.automount.<name>.Automount.Where

Absolute automount point path (must match unit filename).

Type: null or string

Default:

null

Declared by:

systemd.user.automount.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.automount.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.automount.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.automount.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.automount.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.automount.<name>.doInstall

Create .wants .requires and .upholds links for user .automount unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.automount.<name>.enable

Enable generation of user .automount unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.automount.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.automount.<name>.prefixedContent

Content to prepend to the beginning of the generated user .automount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.automount.<name>.suffixedContent

Content to append to the end of the generated user .automount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.device

man systemd.device

Accepts only the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.device.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.device.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.device.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.device.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.device.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.device.<name>.doInstall

Create .wants .requires and .upholds links for user .device unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.device.<name>.enable

Enable generation of user .device unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.device.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.device.<name>.prefixedContent

Content to prepend to the beginning of the generated user .device unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.device.<name>.suffixedContent

Content to append to the end of the generated user .device unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.enable

Enable generation of systemd ‹name› units.

Type: boolean

Default:

true

Declared by:

systemd.user.mount

Accepts a Mount section: man systemd.mount

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.mount.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.mount.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Mount

man systemd.mount

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.mount.<name>.Mount.DirectoryMode

Permissions for auto-created mount point directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Mount.Options

Comma-separated mount options.

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Mount.TimeoutSec

Maximum time to wait for the mount command to finish.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.mount.<name>.Mount.Type

Filesystem type string (e.g. ext4, xfs, btrfs).

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Mount.What

Device node, filesystem label, UUID, or path to mount.

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Mount.Where

Absolute mount point path (must match unit filename).

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.mount.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.mount.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.mount.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.mount.<name>.doInstall

Create .wants .requires and .upholds links for user .mount unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.mount.<name>.enable

Enable generation of user .mount unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.mount.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.mount.<name>.prefixedContent

Content to prepend to the beginning of the generated user .mount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.mount.<name>.suffixedContent

Content to append to the end of the generated user .mount unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.path

Accepts a Path section: man systemd.path

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.path.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.path.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path

man systemd.path

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.path.<name>.Path.DirectoryMode

Permissions for auto-created directories (e.g. 0755).

Type: null or string

Default:

null

Declared by:

systemd.user.path.<name>.Path.DirectoryNotEmpty

Activate when a directory contains at least one entry.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path.MakeDirectory

Create the watched directories before monitoring.

Type: boolean

Default:

false

Declared by:

systemd.user.path.<name>.Path.PathChanged

Activate when a file changes (triggers on close-after-write).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path.PathExists

Activate the unit when a file or directory exists.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path.PathExistsGlob

Activate when at least one file matching the glob exists.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path.PathModified

Activate on any write to the file.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Path.Unit

Unit to activate when a path triggers (defaults to the matching .service unit).

Type: null or string

Default:

null

Declared by:

systemd.user.path.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.path.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.path.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.path.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.path.<name>.doInstall

Create .wants .requires and .upholds links for user .path unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.path.<name>.enable

Enable generation of user .path unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.path.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.path.<name>.prefixedContent

Content to prepend to the beginning of the generated user .path unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.path.<name>.suffixedContent

Content to append to the end of the generated user .path unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.scope

Accepts a Scope section: man systemd.scope

Also accepts the general Unit section, but NOT the Install section: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.scope.<name>.Scope

man systemd.scope

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.scope.<name>.Scope.OOMPolicy

OOM killer behavior for the scope.

Type: null or one of “continue”, “stop”, “kill”

Default:

null

Declared by:

systemd.user.scope.<name>.Scope.RuntimeMaxSec

Maximum time the scope may be active (e.g. 1h, 30m).

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.scope.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.scope.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.scope.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.scope.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.scope.<name>.doInstall

Create .wants .requires and .upholds links for user .scope unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.scope.<name>.enable

Enable generation of user .scope unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.scope.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.scope.<name>.prefixedContent

Content to prepend to the beginning of the generated user .scope unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.scope.<name>.suffixedContent

Content to append to the end of the generated user .scope unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.service

Accepts a Service section: man systemd.service

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.service.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.service.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Service

man systemd.service

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.service.<name>.Service.Environment

Environment variables to set for the service.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Service.ExecReload

Command to reload the service configuration.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.ExecStart

Main command(s) to execute when the service starts.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.ExecStop

Command to stop the service.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.Group

The group to run the service as.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.Restart

Restart condition for the service process.

Type: null or one of “no”, “on-success”, “on-failure”, “on-abnormal”, “on-watchdog”, “on-abort”, “always”

Default:

null

Declared by:

systemd.user.service.<name>.Service.RestartSec

Sleep duration before a restart attempt.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.service.<name>.Service.StandardError

Where to connect standard error (journal, syslog, null, tty, …).

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.StandardOutput

Where to connect standard output (journal, syslog, null, tty, …).

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.Type

Startup notification type.

Type: null or one of “simple”, “exec”, “forking”, “oneshot”, “dbus”, “notify”, “notify-reload”, “idle”

Default:

null

Declared by:

systemd.user.service.<name>.Service.User

The user to run the service as.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.WorkingDirectory

Working directory for the service process.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Service.X-ReloadIfChanged

Whether to reload the service when its unit file changes.

Type: null or boolean

Default:

null

Declared by:

systemd.user.service.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.service.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.service.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.service.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.service.<name>.doInstall

Create .wants .requires and .upholds links for user .service unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.service.<name>.enable

Enable generation of user .service unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.service.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.service.<name>.prefixedContent

Content to prepend to the beginning of the generated user .service unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.service.<name>.suffixedContent

Content to append to the end of the generated user .service unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.slice

Accepts a Slice section: man systemd.slice

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.slice.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.slice.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Slice

man systemd.slice

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.slice.<name>.Slice.ConcurrencyHardMax

Hard limit on the number of active units within this slice and all descendant slices.

When the limit is reached, activation of additional units fails immediately. Use “infinity” to disable the limit.

Type: null or signed integer or value “infinity” (singular enum)

Default:

null

Declared by:

systemd.user.slice.<name>.Slice.ConcurrencySoftMax

Soft limit on the number of active units within this slice and all descendant slices.

When the limit is reached, additional unit activations are queued until the number of active units falls below the limit. Use “infinity” to disable the limit.

Type: null or signed integer or value “infinity” (singular enum)

Default:

null

Declared by:

systemd.user.slice.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.slice.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.slice.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.slice.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.slice.<name>.doInstall

Create .wants .requires and .upholds links for user .slice unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.slice.<name>.enable

Enable generation of user .slice unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.slice.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.slice.<name>.prefixedContent

Content to prepend to the beginning of the generated user .slice unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.slice.<name>.suffixedContent

Content to append to the end of the generated user .slice unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.socket

Accepts a Socket section: man systemd.socket

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.socket.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.socket.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Socket

man systemd.socket

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.socket.<name>.Socket.Accept

Whether to accept one connection per service instance.

Type: boolean

Default:

false

Declared by:

systemd.user.socket.<name>.Socket.Backlog

The listen() backlog number.

Type: null or signed integer

Default:

null

Declared by:

systemd.user.socket.<name>.Socket.ListenDatagram

UDP or UNIX datagram socket address to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Socket.ListenFIFO

Named pipe (FIFO) path to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Socket.ListenStream

TCP or UNIX stream socket address to listen on.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Socket.RemoveOnStop

Whether to remove the socket/FIFO when the unit stops.

Type: boolean

Default:

true

Declared by:

systemd.user.socket.<name>.Socket.Service

Unit name activated by this socket.

Type: null or string

Default:

null

Declared by:

systemd.user.socket.<name>.Socket.SocketGroup

Group of the UNIX socket inode.

Type: null or string

Default:

null

Declared by:

systemd.user.socket.<name>.Socket.SocketMode

Permissions of the UNIX socket (e.g. 0666).

Type: null or string

Default:

null

Declared by:

systemd.user.socket.<name>.Socket.SocketUser

Owner of the UNIX socket inode.

Type: null or string

Default:

null

Declared by:

systemd.user.socket.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.socket.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.socket.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.socket.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.socket.<name>.doInstall

Create .wants .requires and .upholds links for user .socket unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.socket.<name>.enable

Enable generation of user .socket unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.socket.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.socket.<name>.prefixedContent

Content to prepend to the beginning of the generated user .socket unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.socket.<name>.suffixedContent

Content to append to the end of the generated user .socket unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.swap

Accepts a Swap section: man systemd.swap

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.swap.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.swap.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Swap

man systemd.swap

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.swap.<name>.Swap.Options

Comma-separated swapon options (e.g. discard).

Type: null or string

Default:

null

Declared by:

systemd.user.swap.<name>.Swap.Priority

Swap priority.

Type: null or signed integer

Default:

null

Declared by:

systemd.user.swap.<name>.Swap.TimeoutSec

Maximum time to wait for swapon to finish.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.swap.<name>.Swap.What

Device node, file, or fstab-style identifier for the swap device.

Type: null or string

Default:

null

Declared by:

systemd.user.swap.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.swap.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.swap.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.swap.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.swap.<name>.doInstall

Create .wants .requires and .upholds links for user .swap unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.swap.<name>.enable

Enable generation of user .swap unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.swap.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.swap.<name>.prefixedContent

Content to prepend to the beginning of the generated user .swap unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.swap.<name>.suffixedContent

Content to append to the end of the generated user .swap unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.target

man systemd.target

Accepts only the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.target.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.target.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.target.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.target.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.target.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.target.<name>.doInstall

Create .wants .requires and .upholds links for user .target unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.target.<name>.enable

Enable generation of user .target unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.target.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.target.<name>.prefixedContent

Content to prepend to the beginning of the generated user .target unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.target.<name>.suffixedContent

Content to append to the end of the generated user .target unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.timer

Accepts a Timer section: man systemd.timer

Also accepts the general Unit or Install sections: man systemd.unit

Type: attribute set of (open submodule of attribute set of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string))

Default:

{ }

Declared by:

systemd.user.timer.<name>.Install

man systemd.unit

NOTE: nixos module configuration only cares about WantedBy, UpheldBy, and RequiredBy and ignores most other fields. However, manually enabling the option via systemd enable <name> will take this section into account as normal

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.timer.<name>.Install.RequiredBy

A list of units that require this unit (adds Requires= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Install.UpheldBy

A list of units that uphold this unit (adds Upholds= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Install.WantedBy

A list of units that want this unit (adds Wants= dependency from them to this unit).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Timer

man systemd.timer

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Declared by:

systemd.user.timer.<name>.Timer.AccuracySec

Scheduling accuracy window (default 1min).

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.OnActiveSec

Timer relative to when this timer unit was activated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.OnBootSec

Timer relative to boot time.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.OnCalendar

Realtime (wallclock) calendar event expression.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Timer.OnStartupSec

Timer relative to when the service manager started.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.OnUnitActiveSec

Timer relative to when the triggered unit was last activated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.OnUnitInactiveSec

Timer relative to when the triggered unit was last deactivated.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.Persistent

Catch up on missed OnCalendar= firings after boot.

Type: boolean

Default:

false

Declared by:

systemd.user.timer.<name>.Timer.RandomizedDelaySec

Random delay added to each timer firing.

Type: null or string or signed integer or floating point number

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.Unit

Unit to activate when the timer elapses (defaults to the matching .service unit).

Type: null or string

Default:

null

Declared by:

systemd.user.timer.<name>.Timer.WakeSystem

Wake the system from suspend to meet the timer deadline.

Type: boolean

Default:

false

Declared by:

systemd.user.timer.<name>.Unit

man systemd.unit

Type: open submodule of attribute set of ((list of (null or boolean or floating point number or signed integer or string)) or null or boolean or floating point number or signed integer or string)

Default:

{ }

Declared by:

systemd.user.timer.<name>.Unit.After

Ordering: start after the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.Before

Ordering: start before the listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.BindsTo

Like Requires, but also stops this unit if the bound unit stops unexpectedly.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.Conflicts

Negative dependency — cannot run alongside listed units.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.DefaultDependencies

Whether to add implicit default dependencies.

Type: null or boolean

Default:

null

Declared by:

systemd.user.timer.<name>.Unit.Description

A human-readable title for the unit.

Type: null or string

Default:

null

Declared by:

systemd.user.timer.<name>.Unit.Documentation

URIs documenting the unit (http://, https://, man:, info:).

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.OnFailure

Units activated when this unit enters failed state.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.Requires

Strong requirement dependencies — listed units must start or this unit fails.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.Wants

Weak requirement dependencies — listed units are started if possible.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.Unit.X-Reload-Triggers

A list of values to watch for reload which, if changed between nixos generations, will cause the unit to be reloaded.

Type: list of string

Default:

[ ]

Declared by:

systemd.user.timer.<name>.doInstall

Create .wants .requires and .upholds links for user .timer unit. (This will enable the service file automatically on next restart if the derivation ends up in your systemd unit search path.)

Type: boolean

Default:

true

Declared by:

systemd.user.timer.<name>.enable

Enable generation of user .timer unit file.

Type: boolean

Default:

true

Declared by:

systemd.user.timer.<name>.overwrite

Overwrite existing unit file instead of appending generated content to it if present.

Type: boolean

Default:

false

Declared by:

systemd.user.timer.<name>.prefixedContent

Content to prepend to the beginning of the generated user .timer unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by:

systemd.user.timer.<name>.suffixedContent

Content to append to the end of the generated user .timer unit file.

Type: strings concatenated with “\n”

Default:

""

Declared by: