devenv-container-copy(1)

๐Ÿ“ฆ
version 2.4.0 ยท 2 versions
, in nixpkgs unstable

๐Ÿ’… 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 for devenv.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 in devenv.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 in devenv.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:

  • bash
  • zsh
  • fish
  • nu

๐Ÿ“ 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:

  • true
  • false
  • --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