devenv-tasks-run(1)
๐ devenv-tasks-run โ Run tasks
okay so this is the devenv-tasks-run(1) page, from the General Commands Manual bestie, and it does exactly one thing but does it thoroughly: it runs tasks โจ
๐ธ NAME ๐ธ
devenv-tasks-run โ Run tasks.
๐ SYNOPSIS ๐
devenv tasks run [-m|--mode] [--show-output] [--input] [--input-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] [TASKS]
like, the whole guest list is here. iconic.
๐ฆ DESCRIPTION ๐ฆ
Run tasks.
(that's the whole description in the original, and honestly? she said it all. main character energy, minimal words ๐ )
โจ OPTIONS โจ
-m,--mode <MODE>โ the execution mode for tasks (it affects dependency resolution). default:before. the possible values are giving choose your adventure:single: run only the specified task, no dependencies, you're on your own bestieafter: run the specified task and the tasks that run after it (downstream tasks)before: run all dependency tasks first, then the specified task (upstream tasks)all: run the specified task together with its upstream and downstream tasks, the whole squad
--show-outputโ show task output for all tasks (it's equivalent to--verbosefor tasks). lowkey just "let me see everything" mode ๐ซถ--input <KEY=VALUE>โ set a task input value. repeatable! the value gets parsed as JSON if it's valid, otherwise it's treated as a string. flexible king.--input-json <JSON>โ set task inputs from a JSON object string. one blob, all the inputs ๐--user-config <USER_CONFIG>โ use this user configuration file instead of the XDG default. pick your own file, no default behavior for you โจ[TASKS]โ the tasks. the actual tasks. yeah.
๐ INPUT OVERRIDES ๐
--from <FROM>โ source fordevenv.nix.
can be either a filesystem path (with a path: prefix) or a flake input reference. slay, both options.
examples:
--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.
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. ngl this one's the โจfancyโจ one.
OPTION must include a type, in the form <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)
see that !? that's the difference between "add to my collection" and "burn it all down and start fresh" ๐
๐ฅ NIX OPTIONS ๐ฅ
-j,--max-jobs <MAX_JOBS>โ maximum number of Nix builds to run concurrently.
defaults to 1/4 of the available CPU cores (minimum 1). yes, minimum 1, she's not letting you set it to zero.
-u,--cores <CORES>โ number of CPU cores available to each build.
defaults to the 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. breaking out of the clean room, respectfully.--no-impureโ force a hermetic environment, overriding config. back in the clean room, no cap.--offlineโ disable substituters and consider all previously downloaded files up-to-date. airplane mode realness โ๏ธ--nix-option <NAME> <VALUE>โ pass additional options tonixcommands.
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 sideways, you 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. spring cleaning but you get to pick who survives ๐งน-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 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>โ shell to use for interactive sessions (bash,zsh,fish,nu).
possible values:
bashzshfishnu
๐ CACHE OPTIONS ๐
--eval-cacheโ enable caching of Nix evaluation results (default). work smarter etc.--no-eval-cacheโ disable caching of Nix evaluation results. doing it the hard way fr.--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. also out with the old, but for tasks.
๐ SECRETSPEC OPTIONS ๐
--secretspec-provider <SECRETSPEC_PROVIDER>โ override the secretspec provider.--secretspec-profile <SECRETSPEC_PROFILE>โ override the secretspec profile.
(secrets stay secret, bestie ๐คซ)
โญ TRACING OPTIONS โญ
--trace-to <TRACE_TO>โ enable tracing and set output destination(s). can be repeated for multiple outputs ๐
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, 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)
okay so those two env vars matter:DEVENV_TRACE_TOis the comma-separated one, andDEVENV_TRACE_DEFAULT_TOis also comma-separated but only used when you haven't configured explicit tracing โ set it to an empty string if you want to suppress it ๐ซก
๐ 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).
and that's the page, bestie ๐ every flag, every default, every example, preserved like a limited-edition collector's item. the manual is from run (that's the source/version chilling in the footer, right next to devenv-tasks-run(1)) and the date slot is literally empty in there โ not me leaving a blank in the group chat, that's just how the page ships ๐๐
go run your tasks. 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