devenv-repl(1)

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

πŸ’» devenv-repl(1) β€” the group-chat guide ✨

okay so bestie, welcome to the devenv-repl manual page β€” it's part of the General Commands Manual collection, and honestly? it's giving "let me peek inside your devenv config" main character energy πŸŽ€


🌸 NAME 🌸

devenv-repl β€” launches an interactive environment so you can poke around and inspect the devenv configuration. literally a lil hangout sesh with your config πŸ’…


✨ SYNOPSIS ✨

devenv repl [--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]

πŸ¦‹ DESCRIPTION πŸ¦‹

Launch an interactive environment for inspecting the devenv configuration. that's it, that's the vibe β€” you get a whole interactive shell sitch where you can go snooping through your config like it's your bestie's notes app πŸ™ˆ


πŸ’– OPTIONS πŸ’–

  • --user-config <USER_CONFIG> β€” use this user configuration file instead of the XDG default one. your config, your rules πŸ’…

πŸŽ€ INPUT OVERRIDES πŸŽ€

  • --from <FROM> β€” where your devenv.nix comes from. can be either a filesystem path (gotta have the path: prefix) or a flake input reference. iconic flexibility tbh ✨

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. no cap, this is how you swap stuff out 🫢

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 bestie it's typed, we love type safety πŸ’œ

OPTION must include a type: <attribute>:<type>. the 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 at once. defaults to 1/4 of your available CPU cores (minimum 1). she multitasks but she's reasonable about it ⭐
  • -u, --cores <CORES> β€” how many CPU cores each build gets. defaults to available cores divided by max-jobs (minimum 1). sharing is caring 🧚
  • -s, --system <SYSTEM> β€” override the target system. defaults to the host system (like aarch64-darwin or x86_64-linux). iykyk πŸ’…
  • -i, --impure β€” relax the hermeticity of the environment. living a little, lowkey 😌
  • --no-impure β€” force a hermetic environment, overriding whatever the config says. strict queen behavior πŸ‘‘
  • --offline β€” disable substituters and treat all previously downloaded files as up-to-date. airplane mode but make it Nix ✈️
  • --nix-option <NAME> <VALUE> β€” pass extra options to nix commands. these go straight to Nix via the --option flag. peep 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 β€” drop into the Nix debugger when something fails. detective mode fr πŸ”

🐚 SHELL OPTIONS 🐚

  • -c, --clean [<CLEAN>...] β€” ignore existing environment variables when entering the shell. you can pass a list of comma-separated environment variables to let through, though β€” the chosen ones πŸ’…
  • -P, --profile <PROFILES> β€” activate one or more profiles defined in devenv.nix. profiles let you define different configurations that merge with your base config. slay πŸ’–

See https://devenv.sh/profiles for more info.

Examples:

--profile python-3.14
--profile backend --profile fast-startup
  • --reload β€” turn on auto-reload when config files change (this is the default).
  • --no-reload β€” turn off auto-reload when config files change.
  • --shell <SHELL_TYPE> β€” which 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). we love a shortcut πŸ“
  • --no-eval-cache β€” disable caching of Nix evaluation results. fresh every time, no leftovers πŸ™ˆ
  • --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. same energy, different 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 where the output goes. can be repeated for multiple outputs, bestie πŸ’…

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 it to an empty string to suppress) 🌸


⭐ GLOBAL OPTIONS ⭐

  • -v, --verbose β€” enable additional debug logs. the girlies need DETAILS πŸ“
  • -q, --quiet β€” silence all logs. shhh, main character is thinking 🀫
  • --tui <TUI> β€” enable the interactive terminal interface (this is the default when interactive).

Possible values:

  • true
  • false
  • --no-tui β€” disable the interactive terminal interface. no frills, just vibes πŸ¦‹
  • -h, --help β€” print help (see a summary with -h). and that's on periodt πŸ’…

a lil reminder bestie: --impure literally relaxes the hermeticity of the environment, and --no-impure overrides your config to force hermeticity β€” so pick your fighter consciously, no cap πŸ’€

and that's the whole page, gorgeous 🫢 this is repl from the devenv-repl(1) manual page, dated the same as always β€” go inspect that config, you absolute icon βœ¨πŸ‘‘

πŸ“¦ where this page comes from