aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/fix-mason-installer-deps/proposal.md
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <tom@vanderlee.io>2026-09-21 14:37:21 +0200
committerGravatar Tom van der Lee <tom@vanderlee.io>2026-09-21 14:37:21 +0200
commite864d47eca98057890b356fc500f0cab05dc44f5 (patch)
tree978f22897b3b520ee166d0868254615e84c0c025 /openspec/changes/fix-mason-installer-deps/proposal.md
parent0c7b0c9d7dbb8193fc8e1089c51941e385abd933 (diff)
downloaddesktop-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.md39
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)
4fails 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`
8fails because `unzip` is not on `PATH`. `programs.neovim.withPython3 = true` only
9wires 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`
11already 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
29Neovim/mason.nvim dependency contract, so a new capability is used instead of
30overloading 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.