diff options
| author | 2026-05-14 12:12:55 +0100 | |
|---|---|---|
| committer | 2026-05-14 12:12:55 +0100 | |
| commit | 5071c9ed1063e1739f26b8227c521d070ef525d6 (patch) | |
| tree | 83eff2fb9b94c04532d97e6673f9c1566d22ffe2 /remote-dev/home.nix | |
| parent | 1589910f1319c1806bbfaf47c73a80cbcee8fafb (diff) | |
| download | dotfiles-5071c9ed1063e1739f26b8227c521d070ef525d6.tar.gz dotfiles-5071c9ed1063e1739f26b8227c521d070ef525d6.tar.bz2 dotfiles-5071c9ed1063e1739f26b8227c521d070ef525d6.zip | |
fix(remote-dev): switch python3.11 source from deadsnakes PPA to uv
The deadsnakes PPA may not be reachable on every VM (corporate apt
proxy, Ubuntu derivatives that add-apt-repository misdetects, etc.).
`uv python install 3.11` works on any distro: it fetches a portable
python-build-standalone CPython into ~/.local/share/uv/python/, which
is manylinux-wheel-compatible.
Symlink the resulting binary to ~/.local/bin/python3.11 (already on
PATH from zprofile). Move the step to after `home-manager switch`
since uv comes from the nix profile.
Diffstat (limited to 'remote-dev/home.nix')
| -rw-r--r-- | remote-dev/home.nix | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/remote-dev/home.nix b/remote-dev/home.nix index 576e6d8..1a1b98f 100644 --- a/remote-dev/home.nix +++ b/remote-dev/home.nix @@ -86,14 +86,14 @@ in uv # Mason python LSPs in isolated venvs; brings `uv`/`uvx` only jre # for Mason's groovy-language-server (headless Java runtime) - # NB: python3.11 for Mason is NOT installed here — see bootstrap.sh. - # Nix's python disables manylinux wheel support by design (its libc is - # patched and doesn't satisfy any manylinux policy), so pip in a - # nix-python venv falls back to source builds for packages like - # `nodejs-wheel-binaries` (pulled in by basedpyright). That source build - # then fails on Ubuntu 20.04's gcc 9.4 (no C++20). Bootstrap installs - # `python3.11` via the deadsnakes PPA instead — Ubuntu-native binary - # with full manylinux wheel acceptance. + # NB: python3.11 for Mason is NOT installed here — see bootstrap.sh + # step 4. Nix's python disables manylinux wheel support by design + # (its libc is patched and doesn't satisfy any manylinux policy), so + # pip in a nix-python venv falls back to source builds for packages + # like `nodejs-wheel-binaries` (pulled in by basedpyright). That + # source build then fails on Ubuntu 20.04's gcc 9.4 (no C++20). + # Bootstrap uses `uv python install 3.11` to fetch a portable + # manylinux-aware CPython and symlinks it to ~/.local/bin/python3.11. # Rust toolchain for Mason packages whose only install source is # `cargo install` (shellharden). The host has these via the Arch |
