fix(install): install Mason's runtime prerequisites

A minimal Pop!_OS image doesn't ship nodejs/npm, pip, or luarocks, so
every Mason package that shells out to one of them died with ENOENT or
'externally-managed-environment' (PEP 668). The Arch installer never hit
this because omarchy pulled those in transitively.

Adding to APT_PACKAGES:
  nodejs, npm           - JS-backed LSPs (ts_ls, bashls, html, jsonls,
                          eslint, prettier, ...)
  python3-pip,
  python3-venv          - pip-backed tools (debugpy, ruff, vint).
                          python3-venv lets Mason 1.10+ create per-package
                          venvs and avoid PEP 668.
  luarocks              - luacheck
This commit is contained in:
Claude 2026-06-11 16:16:51 +00:00
parent 291a5faffb
commit 6a47c85e4d
No known key found for this signature in database

View file

@ -23,6 +23,14 @@ APT_PACKAGES=(
# fc-cache / fc-list for the Nerd Font install (lib/fonts.sh)
fontconfig
# Runtimes Mason uses to install LSPs / formatters / linters / DAPs.
# Without these, every npm-/pip-/luarocks-backed Mason package fails.
nodejs # node runtime (for ts_ls, vscode-langservers-extracted, etc.)
npm # JS package manager Mason shells out to
python3-pip # pip for debugpy/ruff/vint/etc.
python3-venv # so Mason can create per-package venvs (PEP 668 on Ubuntu 24.04)
luarocks # for luacheck
)
install_apt_packages() {