Skip to content

feat(nixvim): add the nixvim integration - #100

Merged
clhodapp merged 1 commit into
feat/nvffrom
feat/nixvim
Oct 18, 2026
Merged

clhodapp merged 1 commit into
feat/nvffrom
feat/nixvim

Conversation

@clhodapp

@clhodapp clhodapp commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Adds caisson.nixvim. This PR is based on #99 in the GitHub stack.

A nixvim configuration is a Neovim written as nixvim modules. It is evaluated per system, once for each system in force, on the selected package set.

nixvim's public evalNixvim runs evalModules over modules/top-level, on a library that carries lib.nixvim, which the nixvim flake adds through its published lib.overlay. caisson makes the same evaluation on the composed library extended with that overlay. As for nvf, the composed library is laid back over the extension. The nixvim flake is passed as flake and nixpkgs.pkgs is set to the selected package set. ecosystemSrc is the nixvim flake, resolved under the name nixvim.

The output package is config.build.package. The configuration is published as nixvimConfigurations.<system>.<name>, the name the nixvim flake uses for its own configurations. The pinned-world test checks that the package is the derivation evalNixvim builds from the same module and package set.

Checks

  • nix flake check passes, the eval-weight check included.
  • No workspace consumer refers to nixvim.

🤖 Generated with Claude Code

A nixvim configuration is a Neovim written as nixvim modules, evaluated
at every system in force on the selected package set. caisson makes the
evaluation `evalNixvim` makes, `evalModules` over `modules/top-level`
with the flake as `flake`, on the composed library extended with the
overlay nixvim publishes and with `nixpkgs.pkgs` set to the selected
package set. The output `package` is the Neovim; the configuration is
published as `nixvimConfigurations.<system>.<name>`, where nixvim's
flake publishes its own. The pinned-world suite checks the package is
the derivation `evalNixvim` builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@clhodapp
clhodapp merged commit 825a72c into main Oct 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant