diff options
| author | 2026-05-14 11:31:44 +0100 | |
|---|---|---|
| committer | 2026-05-14 11:31:44 +0100 | |
| commit | fc30488896710667e5d4fd970de81d9daa3cdf88 (patch) | |
| tree | fe67f6752782f1f358d46c0bdb47da0c05e121f7 /remote-dev/home.nix | |
| parent | 78630287855397723fd5d81a7995c3eea4b25c12 (diff) | |
| download | dotfiles-fc30488896710667e5d4fd970de81d9daa3cdf88.tar.gz dotfiles-fc30488896710667e5d4fd970de81d9daa3cdf88.tar.bz2 dotfiles-fc30488896710667e5d4fd970de81d9daa3cdf88.zip | |
fix(nvim,remote-dev): fall back to PATH node + provide JRE/shellharden/python3-venv
copilot.lua was hard-coding the chezmoi-pinned Node 24 at
~/.local/share/copilot-node/bin/node, which only exists on the Arch
host where chezmoi runs run_onchange_after_install-copilot-node.sh.
On the remote-dev VM the path is absent, so copilot-language-server
spawned with cmd[0]=<missing> and printed 'Could not determine
Node.js version'. Probe the pinned path with vim.fn.executable() and
fall back to 'node' from PATH otherwise.
For the VM PATH 'node' to be a supported version, switch home.nix
from the rolling 'nodejs' alias to 'nodejs_24' (the version the
chezmoi script also pins on the host).
Address the cluster of Mason install failures on the VM:
- autotools-language-server, codespell, mdformat,
nginx-language-server, systemdlint -- pip-installed; fail because
Ubuntu's python3 ships without venv. bootstrap.sh now apt-installs
python3-venv; README documents the manual command for existing VMs.
- groovy-language-server -- needs a JRE. Add 'jre' to home.packages.
- shellharden -- Mason's cargo fallback can't run under our
leaf-tools policy. Provide the binary via nix-profile instead so
Mason finds it on PATH.
Diffstat (limited to 'remote-dev/home.nix')
| -rw-r--r-- | remote-dev/home.nix | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/remote-dev/home.nix b/remote-dev/home.nix index 98376a4..d178eca 100644 --- a/remote-dev/home.nix +++ b/remote-dev/home.nix @@ -82,8 +82,14 @@ in clang-tools # Editor/AI agent runtimes — NOT for project builds (see policy above) - nodejs # Mason npm LSPs; system python3 stays at /usr/bin/python3 - uv # Mason python LSPs in isolated venvs; brings `uv`/`uvx` only + nodejs_24 # Mason npm LSPs + copilot-language-server (needs Node 24, see ai.lua) + uv # Mason python LSPs in isolated venvs; brings `uv`/`uvx` only + jre # for Mason's groovy-language-server (headless Java runtime) + + # Mason fallbacks: Mason's pip/cargo installers can't run on this VM + # under our leaf-tools policy, so we provide these binaries on PATH and + # let nvim/Mason find them there instead of trying to build them. + shellharden # AI coding agents claude-code |
