Python
Options
languages.python.enable
Whether to enable tools for Python development.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.package
The Python package to use.
Type: package
Default:
pkgs.python3
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.directory
The Python project’s root directory. Defaults to the root of the devenv project. Can be an absolute path or one relative to the root of the devenv project.
Type: string
Default:
config.devenv.root
Example:
"./directory"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.libraries
Additional libraries to make available to the Python interpreter.
This is useful when you want to use Python wheels that depend on native libraries.
Type: list of absolute path
Default:
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.manylinux.enable
Whether to install manylinux2014 libraries.
Enabled by default on linux;
This is useful when you want to use Python wheels that depend on manylinux2014 libraries.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.patches.buildEnv.enable
Whether to apply fixes to Python’s buildEnv for correct runtime initialization:
- Executables use
--inherit-argv0to ensure Python initializes with correctsys.prefixandsys.base_prefix - Python package scripts are unwrapped to invoke the environment’s interpreter directly
Without these fixes, venvs cannot access environment packages via --system-site-packages.
Enabled by default for nixpkgs versions prior to 25.11. Newer nixpkgs releases include upstream fixes that make this patch obsolete.
Type: boolean
Default:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.enable
Whether to enable poetry.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.package
The Poetry package to use.
Type: package
Default:
pkgs.poetry
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.activate.enable
Whether to activate the poetry virtual environment automatically.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.enable
Whether to enable poetry install during devenv initialisation.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.allExtras
Whether to install all extras. See --all-extras.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.allGroups
Whether to install all groups. See --all-groups.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.compile
Whether poetry install should compile Python source files to bytecode.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.extras
Which extras to install. See --extras.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.groups
Which dependency groups to install. See --with.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.ignoredGroups
Which dependency groups to ignore. See --without.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.installRootPackage
Whether the root package (your project) should be installed. See --no-root
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.onlyGroups
Which dependency groups to exclusively install. See --only.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.onlyInstallRootPackage
Whether to only install the root package (your project) should be installed, but no dependencies. See --only-root
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.quiet
Whether poetry install should avoid outputting messages during devenv initialisation.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.poetry.install.verbosity
What level of verbosity the output of poetry install should have.
Type: one of “no”, “little”, “more”, “debug”
Default:
"no"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.enable
Whether to enable uv.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.package
The uv package to use.
Type: package
Default:
pkgs.uv
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.enable
Whether to enable uv sync during devenv initialisation.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.packages
Sync for specific packages in the workspace. See --package.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allExtras
Whether to install all extras. See --all-extras.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allGroups
Whether to install all groups. See --all-groups.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.allPackages
Sync all packages in the workspace. See --all-packages.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.arguments
Command line arguments pass to uv sync during devenv initialisation.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.extras
Which extras to install. See --extra.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.uv.sync.groups
Which dependency groups to install. See --group.
Type: list of string
Default:
[ ]
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.venv.enable
Whether to enable Python virtual environment.
Type: boolean
Default:
false
Example:
true
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.venv.quiet
Whether pip install should avoid outputting messages during devenv initialisation.
Type: boolean
Default:
false
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.venv.requirements
Contents of pip requirements.txt file.
This is passed to pip install -r during devenv shell initialisation.
Type: null or strings concatenated with “\n” or absolute path
Default:
null
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python
languages.python.version
The Python version to use.
This automatically sets the languages.python.package using nixpkgs-python.
Type: null or string
Default:
null
Example:
"3.11 or 3.11.2"
Declared by: - https://github.com/cachix/devenv/blob/main/src/modules/languages/python