Commit Graph
4552 Commits
Author SHA1 Message Date
Gaetan Lepage aebff07390 plugins/efmls-configs: add package for htmlhint 2026-05-28 13:08:23 +00:00
nixvim-ci[bot]andGaétan Lepage 580ee31471 generated: Updated efmls-configs-sources.json 2026-05-28 13:08:23 +00:00
nixvim-ci[bot]andGaétan Lepage ce82af0eae flake: Update
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)
  → 'github:NixOS/nixpkgs/f44f7788c891fbe5542177df78374f8cdab10e8f?narHash=sha256-0geHoGiR5f8qiXg%2BgO4rSF6Up6Var%2BkKqiOv9AO/uUc%3D' (2026-05-26)

flake/dev/flake.lock updates:
• Updated input 'home-manager':
    'github:nix-community/home-manager/928d72376949e222ea4f07b44828a55b0136422e?narHash=sha256-n1%2Bl78hJRABp4cQHKeD0BVByT0vZLPqd09Tvoq8Q%2Bd8%3D' (2026-05-21)
  → 'github:nix-community/home-manager/1a95e2efb477959b70b4a14c51035975c0481df6?narHash=sha256-/p37CB5n6Wpw250b0Lq0CYwNq2D8uGKzDoBulyLcQqA%3D' (2026-05-25)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)
  → 'github:NixOS/nixpkgs/f44f7788c891fbe5542177df78374f8cdab10e8f?narHash=sha256-0geHoGiR5f8qiXg%2BgO4rSF6Up6Var%2BkKqiOv9AO/uUc%3D' (2026-05-26)
2026-05-28 13:08:23 +00:00
Matt SturgeonandGaétan Lepage 297f934147 flake/dev/flake.lock: update nix-dawrin url
flake/dev/flake.lock updates:
• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/56c666e108467d87d13508936aade6d567f2a501?narHash=sha256-zXcwYQGCT6pzinK%2B1dBB2ekTVtfxGZAapb3Evdcu4fY%3D' (2026-05-17)
  → 'github:nix-darwin/nix-darwin/56c666e108467d87d13508936aade6d567f2a501?narHash=sha256-zXcwYQGCT6pzinK%2B1dBB2ekTVtfxGZAapb3Evdcu4fY%3D' (2026-05-17)
2026-05-26 17:29:57 +00:00
Matt Sturgeon afec1bae0e flake/dev: mark flake-compat as flake = false
As-per upstream README. No lockfile changes.
2026-05-25 04:30:52 +00:00
Matt Sturgeon 4aa27f5af0 flake/dev: have nuschtosSearch systems input follow nixivm's
flake/dev/flake.lock updates:
• Updated input 'nuschtosSearch/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
  → follows 'nixvim/systems'
2026-05-25 04:30:52 +00:00
Matt Sturgeon 860304dd63 flake/dev: drop dev-nixpkgs for nixvim path ref
flake/dev/flake.lock updates:
• Removed input 'dev-nixpkgs'
• Updated input 'devshell/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
• Updated input 'git-hooks/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
• Updated input 'home-manager/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
• Updated input 'nix-darwin/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
• Added input 'nixvim':
    'path:../..'
• Added input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb?narHash=sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4%3D' (2026-05-13)
• Added input 'nixvim/flake-parts/nixpkgs-lib':
    follows 'nixvim/nixpkgs'
• Added input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)
• Added input 'nixvim/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Updated input 'nuschtosSearch/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
• Updated input 'treefmt-nix/nixpkgs':
    follows 'dev-nixpkgs'
  → follows 'nixvim/nixpkgs'
2026-05-25 04:30:52 +00:00
Matt Sturgeon 01bd278849 modules: drop helpers alias
Deprecated since 25.11.
2026-05-25 00:15:52 +00:00
Matt Sturgeon 909aa0a782 wrappers: pass in existing lib.nixvim
Extracting `specialArgs.lib.nixvim` from the final `programs.nixvim`
configuration is neat, but recursive. In non-lazy scenarios, it can end
up infinitely recursive.

We could extract `specialArgs.lib.nixvim` from another nixvim
configuration, such as one of the earlier `extendModules` evaluations,
however it is better to avoid evaluating multiple configurations
unnecessarily.

Instead, revert back to getting `lib.nixvim` from the same configuration
we get `extendModules` from.
2026-05-24 23:09:56 +00:00
Matt Sturgeon e71dab10a6 tests/platforms: add failing test for #4341
We see infinite recursion when `config.lib` is used to construct or define a `programs.nixvim` module.
2026-05-24 23:09:56 +00:00
Austin Horstman 7259329db1 flake/dev/new-plugin: type scaffold script 2026-05-24 11:19:50 +00:00
Austin Horstman 9032ffde3c flake/dev/new-plugin: reuse plugin template in scaffold
Closes #3722
2026-05-24 11:19:50 +00:00
Adam DinwoodieandMatt Sturgeon cb0107f6e1 modules/nixpkgs: pass lib to config function
Nixpkgs config, for defining things like which licenses are
permitted, can either be an attrset or a function that is passed a
`pkgs` argument.  Evaluating that `pkgs` argument requires computing the
Nixpkgs fixpoint, which requires checking whether the derivations used
in the Nixpkgs bootstrap have valid licenses.  This works provided
nothing tries to use Nixpkgs functions to validate or merge anything
included in the configuration.

f5deefd4631e (config: add and document {allow,block}listedLicenses,
2025-08-31), in #437723, added type checking and merging to the lists of
permitted/forbidden licenses.  That resulted in a recursion loop if a
list of licenses included, say, `pkgs.lib.licenses.bsd0`.

To allow licenses to be specified from Nixpkgs' library, pass `lib` as
well as `pkgs` to any config function.  Computing `lib` doesn't require
working out the full Nixpkgs fixpoint.  The change in #437723 will still
break things for some people, but it at least provides a sensible route
to getting the config working again.

Fixes https://github.com/NixOS/nixpkgs/issues/456994.

Cherry-picks https://github.com/NixOS/nixpkgs/commit/8e94561d62272983c93f6c635919874f8d19d8f9
2026-05-24 05:41:42 +00:00
‮rekcäH nitraM‮andMatt Sturgeon a3dffa03ad modules/nixpkgs: add setting nixpkgs.config.allowUnfreePackages = ["list" "of "packages"]
Inspired by https://github.com/NixOS/nixpkgs/issues/197325 this adds a
new option `nixpkgs.allowUnfreePackages`, which merges additively and can
thus be defined in multiple modules close to where the unfree package is
installed.

I would have liked to name this option
`nixpkgs.config.allowUnfreePackages`, to define it closer to where the
`allowUnfree` and `allowUnfreePredicate` are defined, but I didn't see how
this could be achieved. I would welcome some guidance on how to do this.

Cherry-picks https://github.com/NixOS/nixpkgs/commit/a3c9221d642da4c0b22b9c9576bd2af8dcbb8263
2026-05-24 05:41:42 +00:00
Wolfgang WaltherandMatt Sturgeon ff3cd5fa14 modules/nixpkgs: top-level pkgs now returns __splicedPackages
Cherry-picks https://github.com/NixOS/nixpkgs/commit/f2640ee208003ca7102cbda97740b07871fa7635
2026-05-24 05:41:42 +00:00
Matt Sturgeon 978a84388e Revert "modules/nixpkgs: don't assign elaborated platforms"
This reverts commit f99264c1fb.

Cherry-picks https://github.com/NixOS/nixpkgs/commit/7c251e2b5fda2b42c3ff2983fdcc9eac82f2ced6
2026-05-24 05:41:42 +00:00
Austin Horstman 06a19e0783 modules/output: assert pure rtp needs wrapper 2026-05-24 04:27:26 +00:00
Austin Horstman d82f383100 modules/output: load wrapped config via VIMINIT
Wrapped Nixvim configs previously passed the generated init.lua with -u. Neovim treats that startup path as an explicit user config and skips exrc processing, so project-local .nvim.lua files were not sourced even when users enabled the exrc option.

Load the generated config through a forced VIMINIT instead. This preserves the current wrapped-config precedence while allowing Neovim's normal exrc startup path to run for trusted project config files.

When impureRtp is disabled, clear XDG_CONFIG_DIRS and VIM from an early --cmd before sysinit is checked, then restore them before loading the generated config so runtime code and child processes see the original environment.

Keep the saved startup environment in a short-lived global Lua table shared between the --cmd and VIMINIT chunks, then clear it after restore.

Add a modules-output regression test that checks the wrapper args no longer include -u, verifies VIMINIT is set, confirms trusted .nvim.lua is sourced, blocks sysinit.vim, verifies XDG_CONFIG_DIRS and VIM are restored, and ensures the saved startup state is cleared.

Closes #3506
2026-05-24 04:27:26 +00:00
Matt Sturgeon d5bd4d4e41 modules/doc: disable manpage docs when config.flake is undefined
We currently access all `docs` packages via flake outputs.
2026-05-24 03:05:36 +00:00
Matt Sturgeon e1ad5c4e92 wrappers: encapsulate access to lib.nixvim and lib-overlay
- Pass only `evalNixvim` into standalone.nix.
- Access Nixvim lib via the submodule configuration in _shared.nix.
2026-05-24 03:05:36 +00:00
Matt Sturgeon fca03f1759 lib: allow instantiating without a flake instance
Separate `overlay.nix` and `overlay.internal.nix`, to encapsulate the
`flake` argument. This allows non-flake users to import `./overlay.nix`
without providing a dummy `flake = null` attr.

The read-only `config.flake` option is only defined by `evalNixvim` when
`lib` is extended using the overlay in Nixvim's flake outputs.
2026-05-24 03:05:36 +00:00
Matt Sturgeon f58f056882 modules/nixpgks: warn when nixpkgs.source default is incorrect
Currently, `nixpkgs.source` can be affected by flake input following.
Nixvim is sensitive to the pinned Nixpkgs revision and users often
follow inputs without thinking too much about it, so warn when this is
detected.
2026-05-24 03:05:36 +00:00
Matt Sturgeon 886bd8fd62 modules/nixpkgs: nixpkgs.source fallback when flake undefined 2026-05-24 03:05:36 +00:00
Matt Sturgeon ad628ccbd2 nixpkgs: add file that fetches pinned revision 2026-05-24 03:05:36 +00:00
2kybe3andGaétan Lepage 1a380f1245 plugins/language-servers: fix warning about propagatedBuildInputs
warning: Dependency of package 'python3.13-python-lsp-server-1.14.0' uses a nested list in attribute 'propagatedBuildInputs'.
This is deprecated as of Nixpkgs release 26.05, and support will be removed in a future nixpkgs release.
2026-05-23 16:44:17 +00:00
Austin Horstman 4503b3c5e9 plugins/vectorcode: add codecompanion integration 2026-05-22 02:10:12 +00:00
Austin Horstman 291ae38d9e plugins/claudecode: add module
Closes #3500
2026-05-22 01:47:53 +00:00
Austin HorstmanandMatt Sturgeon 7f6f92a3c9 modules/lsp/onAttach: preserve event scope
Pass the LspAttach autocmd event into the shared onAttach helper so existing configs can still read event.buf and event.data.client_id after dynamic registration support moved the user body out of the autocmd callback.

For registerCapability reruns, provide a synthetic event with the fields Neovim documents for LspAttach that nixvim can still know: buf and data.client_id.

Fixes #4335
2026-05-21 21:32:05 +00:00
Austin Horstman 28eb36007c plugins/cspell: add module
Closes #2812
2026-05-21 21:00:09 +00:00
Austin Horstman a5a46c9447 dependencies: add cspell package 2026-05-21 21:00:09 +00:00
Austin Horstman 3ab66a1b06 plugins/trailblazer: add module
Closes #3453
2026-05-21 21:00:06 +00:00
Austin Horstman 8236161d3b plugins/live-share: add module
Closes #3650
2026-05-21 21:00:02 +00:00
Austin Horstman 0ae783996f plugins/codecompanion-history: add module
Closes #3325
2026-05-21 20:59:58 +00:00
Austin Horstman b2f6193e4e plugins/justice: add module
Closes #4205
2026-05-21 20:59:54 +00:00
Austin Horstman b680cf0ba3 plugins/just: add module
Closes #4204
2026-05-21 20:59:54 +00:00
Austin Horstman aa6fe35cff dependencies: add just package 2026-05-21 20:59:54 +00:00
Austin Horstman 60cbd020f6 plugins/sioyek-highlights: add module
Closes #4259
2026-05-21 20:59:41 +00:00
Austin Horstman fb7de4e724 dependencies: add sioyek package deps 2026-05-21 20:59:41 +00:00
nixvim-ci[bot]andGaétan Lepage 3169a3c545 generated: Update
- Updated conform-formatters.json
- Updated lint-linters.json
2026-05-21 16:11:13 +00:00
nixvim-ci[bot]andGaétan Lepage 798722969c flake: Update
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d233902339c02a9c334e7e593de68855ad26c4cb?narHash=sha256-30sZNZoA1cqF5JNO9fVX%2BwgiQYjB7HJqqJ4ztCDeBZE%3D' (2026-05-15)
  → 'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)

flake/dev/flake.lock updates:
• Updated input 'dev-nixpkgs':
    'github:NixOS/nixpkgs/d233902339c02a9c334e7e593de68855ad26c4cb?narHash=sha256-30sZNZoA1cqF5JNO9fVX%2BwgiQYjB7HJqqJ4ztCDeBZE%3D' (2026-05-15)
  → 'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)
• Updated input 'home-manager':
    'github:nix-community/home-manager/bd868f769a69d3b6091a1da68a75cb83a181033c?narHash=sha256-Cf%2Bp/T4Z3n9Sw0TiR3kQaIwQI%2B/hfvLJcoTzeq6yS3E%3D' (2026-05-19)
  → 'github:nix-community/home-manager/928d72376949e222ea4f07b44828a55b0136422e?narHash=sha256-n1%2Bl78hJRABp4cQHKeD0BVByT0vZLPqd09Tvoq8Q%2Bd8%3D' (2026-05-21)
2026-05-21 16:11:13 +00:00
Austin HorstmanandGaétan Lepage 2d7cf9616b plugins/vectorcode: add module
Closes #3326
2026-05-20 22:55:13 +00:00
Austin HorstmanandGaétan Lepage 5f2f6cecca dependencies: add vectorcode package 2026-05-20 22:55:13 +00:00
Austin HorstmanandGaétan Lepage d633eb629f plugins/lsp-progress: add module
Closes https://github.com/nix-community/nixvim/issues/4296
2026-05-20 22:46:46 +00:00
Austin HorstmanandGaétan Lepage e690fa934f plugins/neotab: add module
Closes #4186
2026-05-20 22:39:02 +00:00
Austin HorstmanandGaétan Lepage 30e1116b64 plugins/codex: add module
Closes #4220
2026-05-20 22:33:52 +00:00
Austin HorstmanandGaétan Lepage 31613daf87 dependencies: add codex package 2026-05-20 22:33:52 +00:00
Austin Horstman aeec62d406 contributing: fix table breaking syntax 2026-05-20 19:49:47 +00:00
Austin Horstman cfa19cd47e contributing: fix inaccurate suggested path
Doesn't match current repo layout or ci check.
2026-05-20 19:49:47 +00:00
Austin Horstman 50dc4dc10f contributing: notes about creating/testing plugin
Specify more clearly how to create a new plugin and test just that
plugin to avoid large nixvim eval and closure sizes.
2026-05-20 19:49:47 +00:00
Austin Horstman c7e82d37c2 modules/lsp/onAttach: handle dynamic registrations
Some LSP servers register capabilities after LspAttach, so the global onAttach body must also run from client/registerCapability for buffers already attached to that client.

Keep the initial LspAttach autocmd for servers that advertise capabilities up front, and preserve the wrapped handler's return value.

Closes #3323
2026-05-20 17:06:06 +00:00