devenv-down(1)

πŸ“¦ version 2.4.0, in nixpkgs unstable

πŸ’… devenv-down β€” the devenv down girlies' field guide

okay so bestie, you're looking at devenv-down(1) from the General Commands Manual and honestly? it's giving "stop everything, we're done here" energy. let's get into it 🫢


✨ NAME ✨

devenv-down β€” stop the running process manager and its processes, periodt. πŸ’€

the official vibes hub: https://devenv.sh/processes/


✨ SYNOPSIS ✨

lowkey just the whole command in one breath, no cap:

devenv down [--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]

✨ DESCRIPTION ✨

Stop the running process manager and its processes. that's it, that's the whole thing. main character behaviour honestly ✨

more lore at https://devenv.sh/processes/


✨ OPTIONS ✨

🌸 the base option

  • --user-config <USER_CONFIG> β€” use this user configuration file instead of the XDG default. you're the one choosing your destiny now πŸ’…

πŸ¦‹ INPUT OVERRIDES

  • --from <FROM> β€” where devenv.nix comes from, bestie.

it can be either a filesystem path (with a path: prefix) or a flake input reference. like, either-or, pick your fighter πŸŽ€

examples, alphabetically iconic:

--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. red flags in your flake? not on our watch πŸ™ˆ

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 you must bring the type, it's not optional, it's the whole point πŸ”₯

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! β€” that exclamation mark is doing SO much work πŸ’…

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. multitasking queen energy πŸ‘‘

defaults to 1/4 of available CPU cores (minimum 1). like, it's not gonna fry your laptop, don't worry.

  • -u, --cores <CORES> β€” number of CPU cores available to each build. sharing is caring 🫢

defaults to available cores divided by max-jobs (minimum 1).

  • -s, --system <SYSTEM> β€” override the target system. not like that, the machine kind πŸ’€

defaults to the host system (e.g. aarch64-darwin, x86_64-linux).

  • -i, --impure β€” relax the hermeticity of the environment. living dangerously, we love to see it ✨
  • --no-impure β€” force a hermetic environment, overriding config. the accountability friend of --impure 😭
  • --offline β€” disable substituters and consider all previously downloaded files up-to-date. airplane mode but make it nix 🌈
  • --nix-option <NAME> <VALUE> β€” pass additional options to nix commands. little extra seasoning, no notes πŸ“

these options 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, go full detective mode πŸ•΅οΈβ€β™€οΈ

πŸŽ€ SHELL OPTIONS

  • -c, --clean [<CLEAN>...] β€” ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through. so like, a VIP list, but for env vars πŸ’…
  • -P, --profile <PROFILES> β€” activate one or more profiles defined in devenv.nix. honestly? obsessed.

profiles let you define different configurations that can be merged with your base configuration. it's giving outfit layering 🧚

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 paying attention πŸ‘€
  • --no-reload β€” disable auto-reload when config files change. go touch grass, config files 🌸
  • --shell <SHELL_TYPE> β€” which shell to use for interactive sessions (bash, zsh, fish, nu). choose your fighter ⭐

possible values:

  • bash
  • zsh
  • fish
  • nu

πŸ¦‹ CACHE OPTIONS

  • --eval-cache β€” enable caching of Nix evaluation results (default). work smarter, not harder πŸ’–
  • --no-eval-cache β€” disable caching of Nix evaluation results. we're doing everything from scratch, apparently 😭
  • --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. same energy, different cache πŸ”₯

🌈 SECRETSPEC OPTIONS

  • --secretspec-provider <SECRETSPEC_PROVIDER> β€” override the secretspec provider. secrets, but make it spec 🫢
  • --secretspec-profile <SECRETSPEC_PROFILE> β€” override the secretspec profile. two secretspec options, both iconic, no filler πŸ‘‘

πŸ’œ TRACING OPTIONS

  • --trace-to <TRACE_TO> β€” enable tracing and set output destination(s). can be repeated for multiple outputs. multiple destinations? we contain multitudes πŸ’…

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, because one is never enough:

--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, defaults to json. tracing is disabled by default. (so if you see no traces, that's not a bug, that's just the default, bestie ✨)

[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) β€” yes, that last one has a whole job description 😭


⭐ 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). pretty screens, we love her πŸ’–

possible values:

  • true
  • false
  • --no-tui β€” disable the interactive terminal interface. just text, no sparkle. valid, honestly 🌸
  • -h, --help β€” print help (see a summary with -h). the classic, the icon, the legend πŸ‘‘

reminder bestie: devenv down stops the running process manager and its processes, so don't be surprised when the processes are, in fact, stopped. that's the whole point πŸ’€

and that's the page!! πŸŽ€ this little beauty is the down command from devenv-down(1) β€” go stop some processes, you absolute icon. bye bestie, love you, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from