mirror of
https://github.com/nix-community/home-manager.git
synced 2026-10-02 19:49:18 +00:00
The prune option uninstalled all managed Python versions (and tools) and reinstalled them on every activation, which is slow. Instead, resolve each requested version to the install target uv would produce and uninstall only the difference; already-correct versions are left untouched. Resolving to the install target (not every installed match) also prunes superseded patch releases, which uv retains on upgrade. Tools are diffed by PEP 503-normalized package name: requested names are extracted and normalized at build time, and the installed set is read from uv's tool directory, whose entries are already normalized, so no uv output is parsed. Pruning to an empty set still removes everything.
1.9 KiB
1.9 KiB