Whether to autostart ides services at devshell instantiation.
Type: boolean
Default:
trueDeclared by:
Enable shell lease hooks that stop and clean services when the last shell lease exits. Integer values are accepted for the old monitor API but currently behave like true.
Type: boolean or signed integer
Default:
trueDeclared by:
Concrete service definitions, as per submodule options.
Please put service-related options into options.services instead, and use this to implement those options.
Type: attribute set of (submodule)
Declared by:
Structured argv to supply to the service binary. Use { config = "name"; } to splice in a generated static or runtime config path.
Type: list of (string or absolute path or (submodule))
Default:
[ ]Example:
[
"run"
"-c"
{
config = "main";
}
"--adapter"
"caddyfile"
]Declared by:
Named generated static or runtime config files that can be referenced from argv with { config = "name"; }.
Type: attribute set of (submodule)
Default:
{ }Declared by:
Attributes that define your config values.
Type: null or (attribute set)
Default:
nullExample:
{
this = "that";
}Declared by:
If your service config requires a file extension, set it here. This overrides format’s output path’.
Type: string
Default:
""Example:
"json"Declared by:
Path to config file. This overrides all other values.
Type: null or absolute path
Default:
nullExample:
"./configs/my-config.ini"Declared by:
Config output format.
One of:
java json yaml toml ini xml php.
Type: null or one of “java”, “json”, “yaml”, “toml”, “ini”, “xml”, “php”
Default:
nullExample:
"json"Declared by:
Serialisation/writer function to apply to content.
format will auto-apply the correct format if the option value is valid.
Should take path: attrs: and return a storepath.
Type: anything
Default:
nullExample:
"pkgs.formats.yaml {}.generate"Declared by:
Runtime-rendered config template. Use this when config content must refer to ephemeral ides runtime paths.
Type: null or (submodule)
Default:
nullDeclared by:
Relative file name to use under the service runtime config directory. Defaults to the config name plus any configured extension.
Type: null or string
Default:
nullExample:
"redis.conf"Declared by:
Typed template parts rendered by ides immediately before starting the service.
Type: list of (string or absolute path or (attribute set))
Default:
[ ]Example:
[
"dir "
{
runtimePath = "data";
}
]Declared by:
Plaintext configuration to use.
Type: string
Default:
""Example:
''
http://*:8080 {
respond "hello"
}
''Declared by:
Service dependency and ordering metadata handled by the ides runtime.
Type: submodule
Default:
{ }Declared by:
Services that must be ordered before this service when both are started or stopped together.
Type: list of string
Default:
[ ]Example:
[
"postgres"
]Declared by:
Services that must be ordered after this service when both are started or stopped together.
Type: list of string
Default:
[ ]Example:
[
"worker"
]Declared by:
Services whose stop or restart operations should also stop or restart this service.
Type: list of string
Default:
[ ]Example:
[
"app"
]Declared by:
Services that must be started before this service. Missing services are treated as configuration errors.
Type: list of string
Default:
[ ]Example:
[
"postgres"
]Declared by:
Services that should be started before this service. In ides this is currently strict like requires, because all referenced services must exist in the manifest.
Type: list of string
Default:
[ ]Example:
[
"redis"
]Declared by:
Alternative executable name to use from pkg.
Type: string
Default:
""Example:
"caddy"Declared by:
List of path options for the unit (see man systemd.path) - supplied as a list due to some options allowing duplicates.
Type: attribute set of list of string
Default:
{ }Example:
{
PathModified = [
"/some/path"
];
}Declared by:
Package to use for service.
Type: null or package
Default:
nullExample:
"pkgs.caddy"Declared by:
Ephemeral runtime defaults for the service.
Type: submodule
Default:
{ }Declared by:
Additional environment variables to inject into the transient service.
Type: attribute set of string
Default:
{ }Declared by:
Place default writable paths under the ides runtime directory and clean them on explicit stop.
Type: boolean
Default:
trueDeclared by:
Raw shell command to run for the service. This is an escape hatch for services that do not fit package/executable/argv.
Type: null or string
Default:
nullExample:
"\${pkgs.lib.getExe pkgs.caddy} run -c \${pkgs.writeText \"Caddyfile\" cfg.extraConfig} --adapter caddyfile"Declared by:
List of socket options for the unit (see man systemd.socket) - supplied as a list due to some options allowing duplicates.
Type: attribute set of list of string
Default:
{ }Example:
{
ListenStream = [
"/run/user/1000/myapp.sock"
];
}Declared by:
Small set of systemd service properties that ides can preserve when starting transient units.
Type: submodule
Default:
{ }Declared by:
Commands to run as systemd ExecReload entries.
Type: list of (string or (submodule))
Default:
[ ]Declared by:
Commands to run as systemd ExecStartPost entries after the main service command starts.
Type: list of (string or (submodule))
Default:
[ ]Declared by:
Commands to run as systemd ExecStartPre entries before the main service command.
Type: list of (string or (submodule))
Default:
[ ]Declared by:
Commands to run as systemd ExecStop entries when the transient unit stops.
Type: list of (string or (submodule))
Default:
[ ]Declared by:
Whether systemd should ignore the main ExecStart command’s failure.
Type: boolean
Default:
falseDeclared by:
systemd KillMode value to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
systemd NotifyAccess value for notify-style services. Defaults to all for notify services when omitted.
Type: null or string
Default:
nullDeclared by:
systemd RemainAfterExit value to pass to the transient unit.
Type: null or boolean
Default:
nullDeclared by:
systemd Restart policy to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
systemd RestartSec duration to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
systemd service Type to pass to the transient unit, such as simple, exec, oneshot, or notify.
Type: null or string
Default:
nullDeclared by:
systemd TimeoutSec duration to apply to transient service start and stop timeouts.
Type: null or string
Default:
nullDeclared by:
systemd TimeoutStartSec duration to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
systemd TimeoutStopSec duration to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
systemd WatchdogSec duration to pass to the transient unit.
Type: null or string
Default:
nullDeclared by:
Working directory to pass to the transient unit. Defaults to the ides runtime data directory.
Type: null or string
Default:
nullDeclared by:
List of timer options for the unit (see man systemd.timer) - supplied as a list due to some options allowing duplicates.
Type: attribute set of list of string
Default:
{ }Example:
{
OnActiveSec = [
"50s"
];
}Declared by:
Whether to enable Enable Redis…
Type: boolean
Default:
falseExample:
trueDeclared by:
List of IPs to bind to.
Type: list of string
Default:
[
"127.0.0.1"
"::1"
]Declared by:
Number of databases.
Type: signed integer
Default:
16Declared by:
Additional config directives.
Type: string
Default:
""Declared by:
Logging verbosity level.
Type: one of “debug”, “verbose”, “notice”, “warning”, “nothing”
Default:
"notice"Declared by:
The name ides uses for this service.
Type: string
Default:
"redis"Declared by:
Port to bind to.
Type: integer between 1024 and 65535 (both inclusive)
Default:
6379Declared by:
Unix socket to bind to. Relative paths are placed under the service runtime run directory; absolute paths are used as-is.
Type: null or string
Default:
nullDeclared by:
Permissions for the unix socket.
Type: null or signed integer
Default:
nullDeclared by:
Compatibility subset of NixOS systemd.services.
ides lowers simple foreground services into serviceDefs. Supported
fields are script, single-command serviceConfig.ExecStart, path,
environment, a small transient-safe serviceConfig subset, and local
service dependency lists. Target/unit installation fields such as
wantedBy are accepted but ignored.
Type: attribute set of (submodule)
Default:
{ }Declared by:
Whether to lower this NixOS-style systemd service into an ides service definition.
Type: boolean
Default:
trueDeclared by:
NixOS-style ordering constraints. Local service references are lowered into ides dependencies.
Type: list of string
Default:
[ ]Declared by:
NixOS-style reverse ordering constraints. Local service references are lowered into ides dependencies.
Type: list of string
Default:
[ ]Declared by:
Service description. Kept for NixOS compatibility; currently not emitted into the ides manifest.
Type: string
Default:
""Declared by:
Environment variables injected into the lowered ides service.
Type: attribute set of (string or absolute path or signed integer or boolean)
Default:
{ }Declared by:
NixOS-style PartOf constraints. Local service references are lowered into ides dependencies.
Type: list of string
Default:
[ ]Declared by:
Packages or paths added to PATH for script-style services.
Type: list of (package or absolute path or string)
Default:
[ ]Declared by:
Shell script to run before the service command.
Type: strings concatenated with “\n”
Default:
""Declared by:
Accepted for NixOS compatibility but ignored by ides.
Type: list of string
Default:
[ ]Declared by:
NixOS-style service requirements. Local service references are lowered into ides dependencies.
Type: list of string
Default:
[ ]Declared by:
Shell script to run as the service command.
Type: strings concatenated with “\n”
Default:
""Declared by:
Small supported subset of NixOS serviceConfig. ides currently accepts command lifecycle hooks, Type, NotifyAccess, Restart, common timeout fields, RemainAfterExit, KillMode, and WorkingDirectory.
Type: attribute set of anything
Default:
{ }Declared by:
Accepted for NixOS compatibility but ignored by ides.
Type: list of string
Default:
[ ]Declared by:
NixOS-style service wants. Local service references are lowered into ides dependencies.
Type: list of string
Default:
[ ]Declared by: