Skip to content

devenv.yaml

clean.enabled

Clean the environment when entering the shell.

Type: boolean · Default: false · Added in 1.0

clean.keep

A list of environment variables to keep when cleaning the environment.

Type: list of string · Default: [] · Added in 1.0

imports

A list of relative paths, absolute paths, or references to inputs to import devenv.nix and devenv.yaml files. See Composing using imports.

Type: list of string · Default: []

impure

Relax the hermeticity of the environment.

Type: boolean · Default: false · Added in 1.0

inputs

Map of Nix inputs. See Inputs.

Type: attribute set of input · Default: inputs.nixpkgs.url: github:cachix/devenv-nixpkgs/rolling

inputs.<name>.flake

Does the input contain flake.nix or devenv.nix.

Type: boolean · Default: true

inputs.<name>.follows

Another input to "inherit" from by name. See Following inputs.

Type: string

inputs.<name>.inputs.<name>.follows

Override nested inputs by name. See Following inputs.

Type: string

inputs.<name>.overlays

A list of overlays to include from the input. See Overlays.

Type: list of string · Default: []

inputs.<name>.url

URI specification of the input. See Supported URI formats.

Type: string

nixpkgs.android_sdk.accept_license

Accept the Android SDK license. Can also be set via the NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 environment variable.

Type: boolean · Default: false

nixpkgs.allow_broken

Allow packages marked as broken.

Type: boolean · Default: false · Added in 1.7

nixpkgs.allow_non_source

Allow packages not built from source.

Type: boolean · Default: true (nixpkgs default)

nixpkgs.allow_unsupported_system

Allow packages that are not supported on the current system.

Type: boolean · Default: false · Added in 2.0.5

nixpkgs.allow_unfree

Allow unfree packages.

Type: boolean · Default: false · Added in 1.7

nixpkgs.allowlisted_licenses

A list of license names to allow. Uses nixpkgs license attribute names (e.g. gpl3Only, mit, asl20). See nixpkgs license list.

Type: list of string · Default: []

nixpkgs.blocklisted_licenses

A list of license names to block. Uses nixpkgs license attribute names (e.g. unfree, bsl11). See nixpkgs license list.

Type: list of string · Default: []

nixpkgs.cuda_capabilities

Select CUDA capabilities for nixpkgs.

Type: list of string · Default: [] · Added in 1.7

nixpkgs.cuda_support

Enable CUDA support for nixpkgs.

Type: boolean · Default: false · Added in 1.7

nixpkgs.rocm_support

Enable ROCm support for nixpkgs.

Type: boolean · Default: false · Added in 2.0.7

nixpkgs.permitted_insecure_packages

A list of insecure permitted packages.

Type: list of string · Default: [] · Added in 1.7

nixpkgs.permitted_unfree_packages

A list of unfree packages to allow by name.

Type: list of string · Default: [] · Added in 1.9

nixpkgs.per_platform.<system>

Per-platform nixpkgs configuration. Accepts the same options as nixpkgs.

Type: attribute set of nixpkgs config · Added in 1.7

profile

Default profile to activate. Can be overridden by --profile CLI flag. See Profiles.

Type: string · Added in 1.11

reload

Enable auto-reload of the shell when files change. Can be overridden by --reload or --no-reload CLI flags.

Type: boolean · Default: true · Added in 2.0

secretspec.enable

Enable secretspec integration.

Type: boolean · Default: false · Added in 1.8

secretspec.profile

Secretspec profile name to use.

Type: string · Added in 1.8

secretspec.provider

Secretspec provider to use.

Type: string · Added in 1.8

strict_ports

Error if a port is already in use instead of auto-allocating the next available port. Can be overridden by --strict-ports or --no-strict-ports CLI flags.

Type: boolean · Default: false

require_version

Require a specific devenv CLI version. Set to true to enforce that the CLI version matches the modules version (from the devenv input), or use a constraint string with operators.

# Enforce CLI matches modules version (recommended for teams)
require_version: true

# Or use an explicit constraint
require_version: ">=2.1"

Supported constraint operators: >=, <=, >, <, =, or a bare version for exact match.

When set to true, the check happens during Nix evaluation and compares the CLI version against the version embedded in the devenv input. This keeps versions in sync automatically after running devenv update.

Type: boolean | string · Default: not set

New in version 2.1