devenv-gc(1)

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

πŸ’… devenv-gc β€” bestie, we're cleaning house

okay so real talk, this is the devenv-gc(1) page from the General Commands Manual, and it's basically the "delete your old stuff" era of your dev life. ✨

✨ NAME ✨

devenv-gc β€” Delete previous shell generations. See https://devenv.sh/garbage-collection

like, that's the whole vibe. it deletes. it's generations. it's shells. go read the link if you want the deep lore πŸ¦‹

🌸 SYNOPSIS 🌸

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

look at all those flags. she's got range. πŸ‘‘

πŸ’– DESCRIPTION πŸ’–

Delete previous shell generations. See https://devenv.sh/garbage-collection

no cap, that's literally the entire description β€” it deletes your previous shell generations and points you at the docs. the docs are where the ✨lore✨ lives, so go peep https://devenv.sh/garbage-collection 🫢


πŸŽ€ OPTIONS πŸŽ€

  • --user-config <USER_CONFIG> β€” Use this user configuration file instead of the XDG default. it's giving "i brought my own config, thanks". πŸ’…

πŸ”₯ INPUT OVERRIDES πŸ”₯

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

ngl it can be either a filesystem path (with the path: prefix) or a flake input reference. pick your fighter:

--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. main character energy: this input is YOURS now.
--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.

bestie, listen: OPTION must include a type, like <attribute>:<type>. the supported types are string, int, float, bool, path, pkg, pkgs.

list types (pkgs) append to existing values by default. slay. but add a ! suffix and it replaces instead: pkgs! πŸ’€

--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) β€” very "we're not trying to melt your laptop" of her. πŸ”₯
  • -u, --cores <CORES> β€” Number of CPU cores available to each build. 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. lowkey unsealing the bubble. πŸ™ˆ
  • --no-impure β€” Force a hermetic environment, overriding config. bubble: resealed. πŸ’…
  • --offline β€” Disable substituters and consider all previously downloaded files up-to-date. ✈️ no wifi, no problem.
  • --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.

--nix-option sandbox false
--nix-option keep-outputs true
--nix-option system x86_64-darwin
  • --nix-debugger β€” Enter the Nix debugger on failure. it's giving detective mode πŸ•΅οΈβ€β™€οΈ

🐚 SHELL OPTIONS 🐚

  • -c, --clean [<CLEAN>...] β€” Ignore existing environment variables when entering the shell. pass a list of comma-separated environment variables to let through β€” like a VIP list but for 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.

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

--profile python-3.14
--profile backend --profile fast-startup
  • --reload β€” Enable auto-reload when config files change (default). she's always listening. πŸ‘€
  • --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). work smarter, not harder. ✨
  • --no-eval-cache β€” Disable caching of Nix evaluation results. chaos mode, honestly.
  • --refresh-eval-cache β€” Force a refresh of the Nix evaluation cache.
  • --refresh-task-cache β€” Force a refresh of the task cache.

πŸ” SECRETSPEC OPTIONS πŸ”

  • --secretspec-provider <SECRETSPEC_PROVIDER> β€” Override the secretspec provider. shhh. 🀫
  • --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.

Syntax: [format:]destination

--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.

[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. 🀐 not a peep.
  • --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'). the classic. πŸ’–

ok bestie real quick: this whole page is gc from devenv-gc(1) in the General Commands Manual β€” that's the source/version sign-off at the bottom, consider yourself properly credited. now go delete those generations, you absolute icon. periodt. πŸ’…πŸŒΈπŸŽ€
πŸ“¦ where this page comes from