devenv-lsp(1)

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

πŸ’… devenv-lsp(1) β€” start the nixd language server for devenv.nix πŸ’…

okay so welcome to the devenv-lsp(1) page, General Commands Manual edition, bestie ✨ this is the whole group chat for starting the nixd language server for devenv.nix, and yes we are keeping every single flag, value, default, env var, example, and warning. no cap.


🌸 NAME 🌸

devenv-lsp β€” Start the nixd language server for devenv.nix.


✨ SYNOPSIS ✨

devenv lsp [--print-config] [--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 πŸ’–

Start the nixd language server for devenv.nix.


πŸŽ€ OPTIONS πŸŽ€

  • --print-config β€” Print nixd configuration and exit.
  • --user-config <USER_CONFIG> β€” Use this user configuration file instead of the XDG default.

πŸ¦‹ INPUT OVERRIDES πŸ¦‹

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

Can be either a filesystem path (with path: prefix) or a flake input reference.

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.

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: 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> β€” Maximum number of Nix builds to run concurrently.

Defaults to 1/4 of available CPU cores (minimum 1).

  • -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.
  • --no-impure β€” Force a hermetic environment, overriding config.
  • --offline β€” Disable substituters and consider all previously downloaded files up-to-date.
  • --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.

Examples:

--nix-option sandbox false
--nix-option keep-outputs true
--nix-option system x86_64-darwin
  • --nix-debugger β€” Enter the Nix debugger on failure.

🐚 SHELL OPTIONS 🐚

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

Examples:

--profile python-3.14
--profile backend --profile fast-startup
  • --reload β€” Enable auto-reload when config files change (default).
  • --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).
  • --no-eval-cache β€” Disable caching of Nix evaluation results.
  • --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.
  • --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

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.

[env: DEVENV_TRACE_TO=] (comma-separated) and [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.
  • -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').

mwah πŸ’‹ and that’s the cute little footer sign-off: source/version footer tea is lsp / devenv-lsp(1), and there’s no date listed in the footer, so the date slot is giving mysterious empty ✨🫢

πŸ“¦ where this page comes from