Skip to content

Native

Options

process.managers.native.processConfig.<name>.listen

Socket activation configuration (systemd-compatible).

The process will receive activated sockets via LISTEN_FDS/LISTEN_PID/LISTEN_FDNAMES environment variables, starting at file descriptor 3.

Type: list of (submodule)

Default: [ ]

Example:

[
  {
    name = "http";
    kind = "tcp";
    address = "127.0.0.1:8080";
  }
  {
    name = "api";
    kind = "unix_stream";
    path = "/tmp/api.sock";
    mode = 384; # 0o600
  }
]

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.address

TCP address (e.g., 127.0.0.1:8080) - required for tcp kind

Type: null or string

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.backlog

Socket listen backlog

Type: signed integer

Default: 128

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.kind

Type of socket

Type: one of “tcp”, “unix_stream”

Default: "tcp"

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.mode

Unix socket file permissions (octal, e.g., 0o600)

Type: null or signed integer

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.name

Name of the socket (used in LISTEN_FDNAMES)

Type: string

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.listen.*.path

Unix socket path - required for unix_stream kind

Type: null or absolute path

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready

Readiness probe configuration.

Type: null or (submodule)

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.exec

Shell command to execute. Exit 0 = ready.

Type: null or string

Default: null

Example: "pg_isready -d template1"

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.failure_threshold

Consecutive failures before marking unhealthy.

Type: signed integer

Default: 3

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http

HTTP readiness probe configuration.

Type: submodule

Default: { }

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http.get

HTTP GET readiness check.

Type: null or (submodule)

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http.get.host

Host to connect to.

Type: string

Default: "127.0.0.1"

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http.get.path

HTTP path to request.

Type: string

Default: "/"

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http.get.port

Port to connect to.

Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.http.get.scheme

URL scheme (http or https).

Type: string

Default: "http"

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.initial_delay

Seconds to wait before first probe.

Type: signed integer

Default: 0

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.notify

Enable systemd notify protocol for readiness signaling. The process must send READY=1 to the NOTIFY_SOCKET.

Type: boolean

Default: false

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.period

Seconds between probes.

Type: signed integer

Default: 10

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.probe_timeout

Seconds before a single probe times out.

Type: signed integer

Default: 1

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.success_threshold

Consecutive successes needed to be considered ready.

Type: signed integer

Default: 1

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.ready.timeout

Overall deadline in seconds for the process to become ready. null = no deadline.

Type: null or (unsigned integer, meaning >=0)

Default: null

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watch

File watching configuration

Type: submodule

Default: { }

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watch.extensions

File extensions to watch

Type: list of string

Default: [ ]

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watch.ignore

Glob patterns to ignore

Type: list of string

Default: [ ]

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watch.paths

Paths to watch for changes

Type: list of absolute path

Default: [ ]

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watchdog

Systemd watchdog configuration.

The process should send WATCHDOG=1 via notify socket periodically.

Type: null or (submodule)

Default: null

Example:

{
  usec = 30000000; # 30 seconds
  require_ready = true;
}

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watchdog.require_ready

Require READY=1 notification before enforcing watchdog

Type: boolean

Default: true

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix

process.managers.native.processConfig.<name>.watchdog.usec

Watchdog interval in microseconds

Type: signed integer

Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/process-managers/native.nix