devenv-up(1)

πŸ“¦
version 2.4.0 Β· 2 versions
, in nixpkgs unstable

πŸ’… 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 is before. 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, overriding strict_ports from devenv.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 for devenv.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 in devenv.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 by max-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 in devenv.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:
    • bash
    • zsh
    • fish
    • nu

πŸ“ 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:
    • true
    • false
  • --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: --tui defaults to on when you're interactive, tracing is off unless you ask for it, and --mode defaults to before. 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