devenv-inputs(1)

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

πŸŽ€ devenv-inputs β€” the glow-up guide πŸŽ€

Hey bestie πŸ’– so this is devenv-inputs, straight out of the General Commands Manual section, and it's literally just here to Add an input to devenv.yaml. (yes, that's the whole vibe β€” full docs at https://devenv.sh/inputs/ ✨)


🌸 SYNOPSIS 🌸

devenv inputs [--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] <subcommands>

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, the whole entire job of this command is: Add an input to devenv.yaml. πŸ’… That's it. That's the assignment. More at https://devenv.sh/inputs/ 🌈


✨ OPTIONS ✨

  • --user-config <USER_CONFIG> β€” use this user config file instead of the XDG default. your config, your rules 🫢

πŸ’œ INPUT OVERRIDES πŸ’œ

  • --from <FROM> β€” the source for devenv.nix.

Can be either a filesystem path (with the path: prefix) or a flake input reference. no cap, both are valid πŸ’–

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. lowkey the most useful thing here πŸ”₯

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 ✨

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! πŸ’…

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> β€” max number of Nix builds running concurrently at the same time.

Defaults to 1/4 of available CPU cores (minimum 1). we love a cautious queen 🧚

  • -u, --cores <CORES> β€” how many CPU cores each build gets.

Defaults to available cores divided by max-jobs (minimum 1).

  • -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 πŸ™ˆ (yes it's a word, yes it's chaotic)
  • --no-impure β€” force a hermetic environment, overriding config. boundaries, set πŸ’…
  • --offline β€” disable substituters and consider all previously downloaded files up-to-date. airplane mode but make it nix ✈️
  • --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 πŸ“–

Examples:

--nix-option sandbox false
--nix-option keep-outputs true
--nix-option system x86_64-darwin
  • --nix-debugger β€” enter the Nix debugger on failure. main character debugging energy 😭

🐚 SHELL OPTIONS 🐚

  • -c, --clean [<CLEAN>...] β€” ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through 🫢 (a little VIP list, if you will)
  • -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 layering, it's giving outfit stacking πŸ‘—

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> β€” the 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). save that work, bestie πŸ’Ύ
  • --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.

πŸ“ SECRETSPEC OPTIONS πŸ“

  • --secretspec-provider <SECRETSPEC_PROVIDER> β€” override the secretspec provider 🀫
  • --secretspec-profile <SECRETSPEC_PROFILE> β€” override the secretspec profile 🀫

🌈 TRACING OPTIONS 🌈

  • --trace-to <TRACE_TO> β€” enable tracing and set the 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 the 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) 🧚

πŸ’– GLOBAL OPTIONS πŸ’–

  • -v, --verbose β€” enable additional debug logs. she's nosy and we love her πŸ•΅οΈ
  • -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. goodbye pretty interface 😭
  • -h, --help β€” print help (see a summary with -h). yes, there's a summary version, iykyk πŸ‘‘

πŸ‘‘ SUBCOMMANDS πŸ‘‘

🌟 devenv-inputs-add(1)

Add an input to devenv.yaml. the whole point of the whole thing fr fr πŸ’…


okay that's the whole page bestie, hope it slayed 🫢 β€” this lil doc comes from the inputs source and is filed under devenv-inputs(1) in the General Commands Manual. now go add those inputs βœ¨πŸ’–πŸŽ€

πŸ“¦ where this page comes from