mirror of
https://github.com/nix-community/home-manager.git
synced 2026-10-02 19:49:18 +00:00
Add programs.uv.python.{versions,default,prune} and
programs.uv.tool.{packages,prune} to install uv-managed Python versions
and tools during activation.
Install requests are passed verbatim to uv. Unpinned entries track the
latest release on each activation while pinned ones stay put: Python
requests without a patch component are installed with `uv python install
--upgrade` (exact patches, which uv refuses to upgrade, get a plain
install), and tools are refreshed with `uv tool upgrade <packages>`
scoped to the configured list. Both upgrades are scoped to the managed
entries, so installs Home Manager does not own are left untouched. prune
makes a set declarative by running `uv ... uninstall --all` before
reinstalling the listed entries.
The activation blocks run after linkGeneration so uv sees the freshly
linked uv.toml, and a null programs.uv.package is rejected once the
module emits activation commands.
12 lines
410 B
Nix
12 lines
410 B
Nix
{
|
|
uv-default-not-installed-assertion = ./default-not-installed-assertion.nix;
|
|
uv-duplicate-assertion = ./duplicate-assertion.nix;
|
|
uv-example-settings = ./example-settings.nix;
|
|
uv-no-settings = ./no-settings.nix;
|
|
uv-package-null-assertion = ./package-null-assertion.nix;
|
|
uv-python = ./python.nix;
|
|
uv-python-prune = ./python-prune.nix;
|
|
uv-tool = ./tool.nix;
|
|
uv-tool-prune = ./tool-prune.nix;
|
|
}
|