devenv-up(1)
π devenv-up β like, the whole entire manual, bestie
okay so this is devenv-up(1), straight out of the General Commands Manual β it's the page for devenv up, and we're gonna go through it together, no skipping, no "you can read the rest later." Periodt. π
β¨ NAME β¨
devenv-up β Start processes. Literally what it says on the tin, bestie. https://devenv.sh/processes/
π¦ SYNOPSIS π¦
devenv up [-d|--detach] [-m|--mode] [--strict-ports] [--no-strict-ports]
[--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] [PROCESSES]
likeβ¦ yes. that's a lot of flags. we'll get to every single one, don't even worry π
πΈ DESCRIPTION πΈ
Start processes. That's the whole vibe. https://devenv.sh/processes/ β¨
π OPTIONS π
the main character flags
-d,--detachβ starts your processes in the background. very "i'll be back later" of it. π«Ά-m,--mode <MODE>β the execution mode for process tasks, and it lowkey changes how dependency resolution works. default isbefore. the possible values, in all their glory:singleβ runs only the task you specified, no dependencies, she's solo.afterβ runs the task you specified plus the tasks that run after it (downstream tasks).beforeβ runs all the dependency tasks first, then your task (upstream tasks). this is the default, so it's kind of the main character here.allβ runs your task with its upstream and downstream tasks. the whole friend group, no one left out. π₯
--strict-portsβ errors out if a port is already in use instead of auto-allocating the next available port. it's giving "no, actually, i need that one." π--no-strict-portsβ disables strict port mode, overridingstrict_portsfromdevenv.yaml. (yes, backticks around the config key, it's a real name.)--user-config <USER_CONFIG>β use this user configuration file instead of the XDG default. not like the XDG default is bad, it's just not her. π[PROCESSES]β start a specific process(es). lowercase gossip: you can name them.
π§ INPUT OVERRIDES π§
--from <FROM>β the source fordevenv.nix.
Can be either a filesystem path (with a path: prefix) or a flake input reference. examples, chef's kiss:
--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. iconic behavior:
--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.
OPTION must include a type: <attribute>:<type>. supported types are: string, int, float, bool, path, pkg, pkgs.
List types (pkgs) append to existing values by default. add a ! suffix to replace instead: pkgs!. so like, she's an appender unless you tell her otherwise.
Examples, all of them, because you deserve them:
--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 to run concurrently. defaults to 1/4 of available CPU cores (minimum 1). she's polite about your CPU.-u,--cores <CORES>β number of CPU cores available to each build. defaults to available cores divided bymax-jobs(minimum 1). math! π₯-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 neutral, honestly.--no-impureβ force a hermetic environment, overriding config. strict queen.--offlineβ disable substituters and consider all previously downloaded files up-to-date. no wifi, no problem. βοΈ--nix-option <NAME> <VALUE>β pass additional options to nix commands.
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. the "okay let's actually look at what went wrong" flag. π
π SHELL OPTIONS π
-c,--clean [<CLEAN>...]β ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through. like a VIP list, but for env vars. π-P,--profile <PROFILES>β activate one or more profiles defined indevenv.nix.
Profiles let you define different configurations that can be merged with your base configuration. it's giving outfit changes. β¨
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 watching. π--no-reloadβ disable auto-reload when config files change. she's looking away.--shell <SHELL_TYPE>β shell to use for interactive sessions (bash,zsh,fish,nu). possible values:bashzshfishnu
π CACHE OPTIONS π
--eval-cacheβ enable caching of Nix evaluation results (default). queen of not doing work twice.--no-eval-cacheβ disable caching of Nix evaluation results.--refresh-eval-cacheβ force a refresh of the Nix evaluation cache.--refresh-task-cacheβ force a refresh of the task cache.
π SECRETSPEC OPTIONS π
--secretspec-provider <SECRETSPEC_PROVIDER>β override the secretspec provider. mysterious. iykyk.--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. so extra. π
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, 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) π«Ά
π GLOBAL OPTIONS π
-v,--verboseβ enable additional debug logs. she's telling you everything.-q,--quietβ silence all logs. π€«--tui <TUI>β enable the interactive terminal interface (default when interactive). possible values:truefalse
--no-tuiβ disable the interactive terminal interface.-h,--helpβ print help (see a summary with-h). lowkey the most used flag of all time.
real talk bestie:--tuidefaults to on when you're interactive, tracing is off unless you ask for it, and--modedefaults tobefore. those defaults are doing a lot of heavy lifting, so don't forget them. π
okay and that's the whole page, no cap. it came from the up side of the manual, dated to the devenv-up(1) page itself β so shoutout to up and devenv-up(1), mwah, the icons that they are πβ¨ππ¦
π¦ 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