diff options
| author | 2026-09-21 14:37:21 +0200 | |
|---|---|---|
| committer | 2026-09-21 14:37:21 +0200 | |
| commit | e864d47eca98057890b356fc500f0cab05dc44f5 (patch) | |
| tree | 978f22897b3b520ee166d0868254615e84c0c025 /openspec/changes/fix-mason-installer-deps/proposal.md | |
| parent | 0c7b0c9d7dbb8193fc8e1089c51941e385abd933 (diff) | |
| download | desktop-flake-e864d47eca98057890b356fc500f0cab05dc44f5.tar.gz desktop-flake-e864d47eca98057890b356fc500f0cab05dc44f5.tar.bz2 desktop-flake-e864d47eca98057890b356fc500f0cab05dc44f5.zip | |
Mark fix-mason-installer-deps tasks done, sync specs, archive change
Manual verification (nix flake check, home-manager switch, Mason
reinstall) confirmed on a Nix-capable host. Synced the new
editor-toolchain capability into main specs and archived the change.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn
Diffstat (limited to 'openspec/changes/fix-mason-installer-deps/proposal.md')
| -rw-r--r-- | openspec/changes/fix-mason-installer-deps/proposal.md | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/openspec/changes/fix-mason-installer-deps/proposal.md b/openspec/changes/fix-mason-installer-deps/proposal.md deleted file mode 100644 index 5734f55..0000000 --- a/openspec/changes/fix-mason-installer-deps/proposal.md +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | ## Why | ||
| 2 | |||
| 3 | `mason.nvim` (managed by the externally-owned, Stow-linked Neovim dotfiles config) | ||
| 4 | fails to install several LSP/tooling packages on this flake's Home Manager profile: | ||
| 5 | `pyright`, `bash-language-server`, `yaml-language-server`, | ||
| 6 | `typescript-language-server`, `css-lsp`, and `html-lsp` fail because `npm` is not on | ||
| 7 | `PATH`; `debugpy` fails because no `python3`/`python` is on `PATH`; `terraform-ls` | ||
| 8 | fails because `unzip` is not on `PATH`. `programs.neovim.withPython3 = true` only | ||
| 9 | wires up Neovim's Python *provider* (pynvim) and does not put a `python3` binary on | ||
| 10 | `PATH`, so it does not cover this. `js-debug-adapter` and `lua-language-server` | ||
| 11 | already install successfully and need no change. | ||
| 12 | |||
| 13 | ## What Changes | ||
| 14 | |||
| 15 | - Provision `nodejs` (for `npm`), `python3`, and `unzip` on `PATH` via the shared | ||
| 16 | Home Manager profile, so `mason.nvim`'s installers can find the interpreters/tools | ||
| 17 | they shell out to. | ||
| 18 | |||
| 19 | ## Capabilities | ||
| 20 | |||
| 21 | ### New Capabilities | ||
| 22 | - `editor-toolchain`: The shared home-manager profile provisions the runtime | ||
| 23 | toolchain (interpreters, package managers, archive tools) that the externally | ||
| 24 | Stow-managed Neovim/mason.nvim config depends on to install and run LSP servers | ||
| 25 | and debug adapters, without home-manager owning any of that config itself. | ||
| 26 | |||
| 27 | ### Modified Capabilities | ||
| 28 | (none — `developer-environment` covers general most-used CLI tools, not the | ||
| 29 | Neovim/mason.nvim dependency contract, so a new capability is used instead of | ||
| 30 | overloading that one.) | ||
| 31 | |||
| 32 | ## Impact | ||
| 33 | |||
| 34 | - `modules/home/editor.nix`: extend the existing `home.packages` list (already used | ||
| 35 | for `tree-sitter`/`stdenv.cc`, the same "tools the dotfiles-owned nvim config | ||
| 36 | needs" pattern) with `nodejs`, `python3`, `unzip`. | ||
| 37 | - Applies to both Home Manager configs that import this module — `tom@linux` and | ||
| 38 | `tom@darwin` (per `flake.nix`) — covering all supported systems. | ||
| 39 | - No changes to the externally-managed dotfiles/Neovim Lua config itself. | ||
