devenv-container-copy(1)
๐ devenv-container-copy(1) โ the copy-a-container-to-a-registry page ๐
okay so bestie, quick vibe check: this is devenv-container-copy, and yes it lives in the General Commands Manual. its whole personality? copy a container to a registry. that's it, that's the girl. ๐ซถ
โจ NAME โจ
devenv-container-copy โ copy a container to a registry. iconic, no notes. ๐
๐ธ SYNOPSIS ๐ธ
devenv container copy [--copy-args] [-r|--registry] [--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] <NAME>
like, look at all those flags. she's got range. ๐
๐ฆ DESCRIPTION ๐ฆ
Copy a container to registry. literally what it says on the tin, and honestly? she ate. โจ
๐ OPTIONS ๐
--copy-args<COPY_ARGS> โ the copy args. you pass them. that's the whole bit.-r,--registry<REGISTRY> โ the registry, obviously. ๐--user-config<USER_CONFIG> โ use this user configuration file instead of the XDG default. yes, the XDG default. no cap.<NAME>โ the name. she needs a name, bestie.
๐ INPUT OVERRIDES ๐
here's where it gets fun, strap in ๐ง
--from<FROM> โ source fordevenv.nix.
can be either a filesystem path (with path: prefix) or a flake input reference. that's the rule, periodt.
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. so this is a two-arg situation, don't forget the second one ๐
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, typed. she's typed, she's specific, she's that girl. ๐
OPTION must include a type: <attribute>:<type>. supported types, memorise them: string, int, float, bool, path, pkg, pkgs.
list types (pkgs) append to existing values by default. add a ! suffix to replace instead, so pkgs!. lowkey important.
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 (minimum 1). math! ๐งฎ
-u,--cores<CORES> โ number of CPU cores available to each build.
defaults to available cores divided by max-jobs (minimum 1). more math, she's an academic fr.
-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. she's letting her hair down ๐--no-impureโ force a hermetic environment, overriding config. strict queen.--offlineโ disable substituters and consider all previously downloaded files up-to-date. no internet, no problem, we're thriving in airplane mode โ๏ธ--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, iykyk.
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, we debug ๐
๐ 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 little VIP list for your env vars ๐๏ธ-P,--profile<PROFILES> โ activate one or more profiles defined indevenv.nix.
profiles allow you to define different configurations that can be merged with your base configuration. stacking fits, basically.
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.--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). speed โจ--no-eval-cacheโ disable caching of Nix evaluation results.--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.
๐ง SECRETSPEC OPTIONS ๐ง
--secretspec-provider<SECRETSPEC_PROVIDER> โ override the secretspec provider. secrets ๐คซ--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. she's multi-talented ๐
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. (yes, off until you ask, she respects boundaries ๐ซถ)
[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).
ok real talk bestie, remember -h gives you the summary version of help โ that's literally in the page, not me guessing ๐
and that's the whole page! this beauty is from the copy section of the devenv-container-copy(1) manual, dated and versioned as shown in the footer โ so like, shoutout to whoever wrote it, you dropped this ๐. go copy that container, you're gonna slay ๐ฆ๐ โจ
๐ฆ 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