aboutsummaryrefslogtreecommitdiffstats
path: root/openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md')
-rw-r--r--openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md b/openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md
new file mode 100644
index 0000000..5c07fcd
--- /dev/null
+++ b/openspec/changes/archive/2026-09-21-fix-neovim-plugin-loading/specs/editor-environment/spec.md
@@ -0,0 +1,26 @@
1## Purpose
2
3Governs what the shared home-manager profile provisions for the default editor (Neovim): the package and wrapper itself, non-interference with the user's externally-managed dotfiles editor configuration, and the native build toolchain that natively-built plugins in that configuration need.
4
5## ADDED Requirements
6
7### Requirement: Neovim is provisioned as the default editor
8The shared home-manager profile SHALL install Neovim, set it as the default `$EDITOR`/`$VISUAL`, and provide a `vim` alias pointing to it, identically wherever the profile is activated (standalone or via a NixOS host).
9
10#### Scenario: Neovim available after activation
11- **WHEN** the shared home profile is activated on any supported platform
12- **THEN** the `nvim` binary is on `PATH`, `$EDITOR`/`$VISUAL` resolve to `nvim`, and `vim` invokes `nvim`
13
14### Requirement: Home-manager does not manage Neovim's config directory
15The shared home-manager profile SHALL NOT write its own generated content to the user's Neovim configuration directory (`$XDG_CONFIG_HOME/nvim`), so that a separately-managed, externally-owned configuration (such as a personal dotfiles repository symlinked into place by another mechanism) can occupy that path without conflict.
16
17#### Scenario: Config directory left free for external ownership
18- **WHEN** the shared home profile is activated, independent of whether an external configuration has been placed at `$XDG_CONFIG_HOME/nvim` yet
19- **THEN** no file under `$XDG_CONFIG_HOME/nvim` is created, modified, or symlinked by the home-manager-managed profile itself
20
21### Requirement: A native build toolchain is available for editor plugins
22The shared home-manager profile SHALL provide a C compiler and the `tree-sitter` CLI on `PATH`, so that natively-built Neovim plugins configured by an externally-managed configuration can compile successfully, on every platform this flake targets.
23
24#### Scenario: Compiler and tree-sitter CLI available after activation
25- **WHEN** the shared home profile is activated on NixOS or Darwin
26- **THEN** a working C compiler (`cc`) and the `tree-sitter` CLI are both resolvable on `PATH` without any additional manual installation step