devenv(1)
π¦ devenv(1) β the manual, but make it make sense
ok so bestie, this is the devenv(1) page β General Commands Manual energy β and it's literally about devenv 2.4.0 (aarch64-darwin): Fast, Declarative, Reproducible, and Composable Developer Environments over at https://devenv.sh. sit down, hydrate, and let's go π
β¨ SYNOPSIS β¨
devenv [--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] [-V|--version] <subcommands>
like, that's the whole vibe in one block, no cap π«Ά
πΈ DESCRIPTION πΈ
https://devenv.sh 2.4.0 (aarch64-darwin): Fast, Declarative, Reproducible, and Composable Developer Environments
that's it. that's the description. iconic, honestly. main character energy β¨
π OPTIONS π
--user-config <USER_CONFIG>β use this user configuration file instead of the XDG default. not me overriding the default, but make it slay π-V,--versionβ print version. that's it, that's the whole job π
π₯ INPUT OVERRIDES π₯
--from <FROM>
Source for devenv.nix.
Can be either a filesystem path (with a path: prefix) or a flake input reference.
Examples, laid out for you bestie:
--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.
--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. she's specific π
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!
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>β maximum number of Nix builds to run concurrently. defaults to 1/4 of available CPU cores (minimum1).-u,--cores <CORES>β number of CPU cores available to each build. defaults to available cores divided bymax-jobs(minimum1).-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. living dangerously, love that for you π--no-impureβ force a hermetic environment, overriding config. the responsible friend π§--offlineβ disable substituters and consider all previously downloaded files up-to-date.--nix-option <NAME> <VALUE>β pass additional options to nix commands.
These options get passed directly to Nix using the --option flag. see man nix.conf for the full list of available options.
--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 sideways, go in π
π 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 indevenv.nix.
Profiles let you define different configurations that can be merged with your base configuration. see https://devenv.sh/profiles for more β¨
--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:
bashzshfishnu
π 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.--refresh-task-cacheβ force a refresh of the task cache.
new cache, who dis π¦
π SECRETSPEC OPTIONS π
--secretspec-provider <SECRETSPEC_PROVIDER>β override the secretspec provider. secrets, but make it spec'd.--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, bestie, repeat away.
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 chatty and we love her.-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.-h,--helpβ print help (see a summary with'-h').
π SUBCOMMANDS π
okay this is the whole cast, no skips, and each one links to its own page:
devenv-user-config(1)β Inspect and validate the devenv user configuration.devenv-init(1)β Scaffolddevenv.yaml,devenv.nix, and.gitignore.devenv-generate(1)β Generatedevenv.yamlanddevenv.nixusing AI.devenv-shell(1)β Activate the developer environment. https://devenv.sh/basics/devenv-update(1)β Updatedevenv.lockfromdevenv.yamlinputs. http://devenv.sh/inputs/devenv-search(1)β Search for packages and options in nixpkgs. https://devenv.sh/packages/#searching-for-a-filedevenv-info(1)β Print information about this developer environment.devenv-up(1)β Start processes. https://devenv.sh/processes/devenv-down(1)β Stop the running process manager and its processes. https://devenv.sh/processes/devenv-processes(1)β Start or stop processes. https://devenv.sh/processes/devenv-tasks(1)β Run tasks. https://devenv.sh/tasks/devenv-test(1)β Run tests. http://devenv.sh/tests/devenv-container(1)β Build, copy, or run a container. https://devenv.sh/containers/devenv-inputs(1)β Add an input todevenv.yaml. https://devenv.sh/inputs/devenv-machines(1)β Build and deploy NixOS, nix-darwin, and home-manager machines. https://devenv.sh/machines/devenv-changelogs(1)β Show relevant changelogs.devenv-repl(1)β Launch an interactive environment for inspecting the devenv configuration.devenv-gc(1)β Delete previous shell generations. See https://devenv.sh/garbage-collectiondevenv-build(1)β Build any attribute indevenv.nix.devenv-eval(1)β Evaluate any attribute indevenv.nixand return JSON.devenv-direnvrc(1)β Print adirenvrcthat adds devenv support to direnv. See https://devenv.sh/integrations/direnv/.devenv-version(1)β Print the version of devenv.devenv-mcp(1)β Launch Model Context Protocol server for AI assistants.devenv-lsp(1)β Start thenixdlanguage server fordevenv.nix.devenv-hook(1)β Print shell hook for auto-activation on directory change.devenv-allow(1)β Allow auto-activation for the current directory.devenv-revoke(1)β Revoke auto-activation for the current directory.
β VERSION β
v2.4.0 (aarch64-darwin)
and that's the page, bestie β this whole thing is devenv 2.4.0 (aarch64-darwin), served fresh from the devenv(1) general commands manual. go forth and be reproducible ππ«Άβ¨
π¦ 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