devenv-machines-plan(1)
π devenv-machines-plan β the group-chat guide
okay so this is devenv-machines-plan(1), the little command that builds you a whole fleet deployment plan and saves it so you can actually look it over before anything scary happens. bestie, this is the "let me screenshot it first" of deployment. π«Ά
β¨ NAME β¨
devenv-machines-plan β build and save a fleet deployment plan for review. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
devenv machines plan [--json] [--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 π
Build and save a fleet deployment plan for review. literally the whole point. you get a plan, it gets saved, you get to review it before the chaos. main character energy only. π
π OPTIONS π
--jsonβ export the plan as JSON instead of showing you a summary plus the saved plan ID. machine-readable slay. π€--user-config <USER_CONFIG>β use this user configuration file instead of the XDG default. not me overriding the default, i would never (i would). π[NAMES]β machine names. defaults to every machine withtarget.host. if you don't say who, it says everyone. π
π₯ INPUT OVERRIDES π₯
--from <FROM>β the source fordevenv.nix.
can be either a filesystem path (with the path: prefix) or a flake input reference.
examples, bestie, take notes:
--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 indevenv.yaml. so iconic of you.
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. fancy fr fr.
OPTION must include a type: <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!. the ! is giving "no, actually, replace it" energy.
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 at the same time. defaults to1/4of available CPU cores (minimum1). multitasking but make it responsible. β¨-u,--cores <CORES>β number of CPU cores each build gets. defaults to available cores divided bymax-jobs(minimum1). sharing is caring. π-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. letting the outside world in, lowkey. π«§--no-impureβ force a hermetic environment, overriding config. no outside world. none. π ββοΈ--offlineβ disable substituters and consider all previously downloaded files up-to-date. airplane mode but for Nix. βοΈ--nix-option <NAME> <VALUE>β pass additional options to nix commands. these go straight to Nix using the--optionflag. seeman nix.conffor 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 it goes wrong, go deep. π΅οΈββοΈ
π SHELL OPTIONS π
-c,--clean [<CLEAN>...]β ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through. a little velvet rope for your env vars. π-P,--profile <PROFILES>β activate one or more profiles defined indevenv.nix.
profiles let you define different configurations that get merged with your base configuration.
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). she's always watching. π--no-reloadβ disable auto-reload when config files change. she's off duty.--shell <SHELL_TYPE>β which shell to use for interactive sessions (bash,zsh,fish,nu).
possible values:
bashzshfishnu
π CACHE OPTIONS π
--eval-cacheβ enable caching of Nix evaluation results (default). memory of a queen. π§--no-eval-cacheβ disable caching of Nix evaluation results. starting fresh, no baggage.--refresh-eval-cacheβ force a refresh of the Nix evaluation cache. clean slate era. π§Ό--refresh-task-cacheβ force a refresh of the task cache. same energy, different 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. yes bestie you can have several. π
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 the format is omitted, it defaults to json. tracing is disabled by default. π
[env: DEVENV_TRACE_TO=] (comma-separated) β [env: DEVENV_TRACE_DEFAULT_TO=] (comma-separated, used only when no explicit tracing is configured; set to empty string to suppress).
ok that env-var bit is dense even for me β read it twice, it's worth it. π«‘
π GLOBAL OPTIONS π
-v,--verboseβ enable additional debug logs. she's telling you everything. π£οΈ-q,--quietβ silence all logs. not a word. π€--tui <TUI>β enable the interactive terminal interface (default when interactive).
possible values:
truefalse
--no-tuiβ disable the interactive terminal interface. plain text era.-h,--helpβ print help (see a summary with'-h'). bestie, read the docs. π
word of warning from your girl:--offlineturns off substituters and treats everything already downloaded as up-to-date,--no-impureoverrides your config to force hermeticity, and--option ...:pkgs!replaces all packages rather than appending. read before you wreck. π
and that's the page!! this absolute icon is plan from devenv-machines-plan(1) β go build that plan, review it, and slay responsibly. periodt. πβ¨ππ¦πΈπ
π«Άπβπ
π¦ where this page comes from
- nixpkgs unstable: devenv 2.4.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms