devenv-machines-status(1)

πŸ“¦ version 2.4.0, in nixpkgs unstable

πŸ’… devenv-machines-status β€” the "just peek, don't touch" era

okay so bestie, welcome to devenv-machines-status(1) from the General Commands Manual πŸŽ€ β€” this is the little command that reads your target-side NixOS deployment state and spits it out as JSON. That's it. No building. No activating. We are looking, not touching, and honestly? iconic behavior. ✨


🌸 NAME 🌸

devenv-machines-status β€” read target-side NixOS deployment state as JSON without building or activating. literally just vibes and observation, no cap 🫢


✨ SYNOPSIS ✨

devenv machines status [--user-config] [--from] [-o|--override-input]
[-O|--option] [-j|--max-jobs] [-u|--cores] [-s|--system] [-i|--impure]
[--no-impure] [--offline] [--nix-option] [--nix-debugger] [-c|--clean]
[-P|--profile] [--reload] [--no-reload] [--shell] [--eval-cache]
[--no-eval-cache] [--refresh-eval-cache] [--refresh-task-cache]
[--secretspec-provider] [--secretspec-profile] [--trace-to]
[-v|--verbose] [-q|--quiet] [--tui] [--no-tui] [-h|--help] [NAMES]

πŸ’– DESCRIPTION πŸ’–

Read target-side NixOS deployment state as JSON without building or activating.

like… that's the whole personality. it reads the state, it gives you JSON, and it does not build or activate anything. zero side effects, pure observation, main character energy but make it read-only. πŸ’…


πŸ”₯ OPTIONS πŸ”₯

  • --user-config <USER_CONFIG> β€” use this user configuration file instead of the XDG default. you're overriding the default, bestie, own it.
  • [NAMES] β€” machine names. defaults to all remote NixOS machines (so if you leave it blank you get the whole squad 🌈).

πŸ¦‹ INPUT OVERRIDES πŸ¦‹

  • --from <FROM> β€” the source for devenv.nix.

it can be either a filesystem path (with a path: prefix) or a flake input reference. either way, slay.

Examples:

--from github:cachix/devenv
--from github:cachix/devenv?dir=examples/simple
--from path:/absolute/path/to/project
--from path:./relative/path
  • -o, --override-input <NAME> <URI> β€” override inputs in devenv.yaml.

Examples:

--override-input nixpkgs github:NixOS/nixpkgs/nixos-unstable
--override-input nixpkgs path:/path/to/local/nixpkgs
  • -O, --option <OPTION:TYPE> <VALUE> β€” override configuration options with typed values. yes, typed. we're being precise today πŸ’…

OPTION must include a type, written as <attribute>:<type>. Supported types: string, int, float, bool, path, pkg, pkgs.

List types (pkgs) append to existing values by default. add a ! suffix to replace instead: pkgs! β€” okay that exclamation mark is doing a LOT of work and it ate. πŸ”₯

Examples:

--option languages.rust.channel:string beta
--option services.postgres.enable:bool true
--option languages.python.version:string 3.10
--option packages:pkgs "ncdu git"       (appends to packages)
--option packages:pkgs! "ncdu git"      (replaces all packages)

⭐ NIX OPTIONS ⭐

  • -j, --max-jobs <MAX_JOBS> β€” max number of Nix builds running concurrently. defaults to 1/4 of available CPU cores (minimum 1).
  • -u, --cores <CORES> β€” number of CPU cores available to each build. defaults to available cores divided by max-jobs (minimum 1).
  • -s, --system <SYSTEM> β€” override the target system. defaults to the host system (e.g. aarch64-darwin, x86_64-linux).
  • -i, --impure β€” relax the hermeticity of the environment. chaotic but consensual 🫢
  • --no-impure β€” force a hermetic environment, overriding config.
  • --offline β€” disable substituters and consider all previously downloaded files up-to-date. no network, no problem πŸ’€
  • --nix-option <NAME> <VALUE> β€” pass additional options to nix commands.

these are passed directly to Nix using the --option flag. see man nix.conf for the full list of available options.

Examples:

--nix-option sandbox false
--nix-option keep-outputs true
--nix-option system x86_64-darwin
  • --nix-debugger β€” enter the Nix debugger on failure. when things go wrong, we go investigate πŸ”

🐚 SHELL OPTIONS 🐚

  • -c, --clean [<CLEAN>...] β€” ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through.
  • -P, --profile <PROFILES> β€” activate one or more profiles defined in devenv.nix.

profiles let you define different configurations that can be merged with your base configuration. very "build your own adventure" of them.

see https://devenv.sh/profiles for more information.

Examples:

--profile python-3.14
--profile backend --profile fast-startup
  • --reload β€” enable auto-reload when config files change (default). ✨
  • --no-reload β€” disable auto-reload when config files change.
  • --shell <SHELL_TYPE> β€” shell to use for interactive sessions (bash, zsh, fish, nu).

Possible values:

  • bash
  • zsh
  • fish
  • nu

πŸŽ€ CACHE OPTIONS πŸŽ€

  • --eval-cache β€” enable caching of Nix evaluation results (default).
  • --no-eval-cache β€” disable caching of Nix evaluation results.
  • --refresh-eval-cache β€” force a refresh of the Nix evaluation cache. out with the old 🧹
  • --refresh-task-cache β€” force a refresh of the task cache.

πŸ™ˆ SECRETSPEC OPTIONS πŸ™ˆ

  • --secretspec-provider <SECRETSPEC_PROVIDER> β€” override the secretspec provider.
  • --secretspec-profile <SECRETSPEC_PROFILE> β€” override the secretspec profile.

πŸ” TRACING OPTIONS πŸ”

  • --trace-to <TRACE_TO> β€” enable tracing and set output destination(s). can be repeated for multiple outputs. πŸ‘‘

Syntax: [format:]destination

Examples:

--trace-to stderr                              # json to stderr
--trace-to pretty:stderr                       # pretty format to stderr
--trace-to json:file:/tmp/trace.json           # JSON to file
--trace-to otlp-grpc                           # OTLP gRPC to default endpoint
--trace-to otlp-grpc:http://collector:4317     # OTLP gRPC to custom endpoint

Multiple outputs:

--trace-to pretty:stderr --trace-to json:file:/tmp/t.json

Destinations: stdout, stderr, file:<path>, http(s)://<host>:<port> Formats: json (default), pretty, full, otlp-grpc, otlp-http-protobuf, otlp-http-json

when format is omitted, it defaults to json. tracing is disabled by default.

[env: DEVENV_TRACE_TO=] (comma-separated) and [env: DEVENV_TRACE_DEFAULT_TO=] (comma-separated, used only when no explicit tracing is configured; set to empty string to suppress). iykyk 🧚


πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

  • -v, --verbose β€” enable additional debug logs. the tea is piping hot β˜•
  • -q, --quiet β€” silence all logs. shhh 🀫
  • --tui <TUI> β€” enable the interactive terminal interface (default when interactive).

Possible values:

  • true
  • false
  • --no-tui β€” disable the interactive terminal interface.
  • -h, --help β€” print help (see a summary with -h).

ngl bestie, the whole point of this one is: it only reads. it does not build, it does not activate. if you were hoping it'd deploy stuff for you… it will not, and that's the boundary. respect it. 🫢

and that's the page, fr fr πŸ’– β€” brought to you by status (that's the source/version tag sittin' right there in the footer, next to devenv-machines-status(1)), no date given so don't come for me 😭 β€” go read some JSON, you absolute icon, periodt. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from