Commit Graph
4586 Commits
Author SHA1 Message Date
nixvim-ci[bot]andAustin Horstman e2c3f9f363 flake: Update
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/02e08985a27c65ffd33d434eeb2e660a2e4dc84d?narHash=sha256-QvnceIGTBeDvDd9oCn%2BGvdsnkquliuwbVgpiRH68qaQ%3D' (2026-08-14)
  → 'github:NixOS/nixpkgs/5880666fd9eb563038431edb35c2d0aa595884e6?narHash=sha256-OURZPknrTjQrlNyxPdqzyqmU/81Wes1CUP/Ft1Rv/YI%3D' (2026-08-20)

flake/dev/flake.lock updates:
• Updated input 'home-manager':
    'github:nix-community/home-manager/d4fd24667c8cbef124bb70a20380cab75ec8474d?narHash=sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM%3D' (2026-07-27)
  → 'github:nix-community/home-manager/65258d5c65a250189fde2e35f490d15e064c4c62?narHash=sha256-Sxu1NLTD/Ern6hFGLlZmtKCSct3YQXZI/lls8RE1XeM%3D' (2026-08-22)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/02e08985a27c65ffd33d434eeb2e660a2e4dc84d?narHash=sha256-QvnceIGTBeDvDd9oCn%2BGvdsnkquliuwbVgpiRH68qaQ%3D' (2026-08-14)
  → 'github:NixOS/nixpkgs/5880666fd9eb563038431edb35c2d0aa595884e6?narHash=sha256-OURZPknrTjQrlNyxPdqzyqmU/81Wes1CUP/Ft1Rv/YI%3D' (2026-08-20)
• Updated input 'nuschtosSearch':
    'github:NuschtOS/search/90b23eb8b8ed5703b44e787016e266221496ad7c?narHash=sha256-uKomHYCRIl/xMMTfxKe3ZTenGfIsQSyZhoEede40pWM%3D' (2026-08-01)
  → 'github:NuschtOS/search/fdf7b70e332f918ccf34f4e4a5a47a8c718ea1a9?narHash=sha256-ZTBqKUGK%2B3lya%2BXWgS3XmqF%2BHl7nbC2iLg5bgrqG2Eg%3D' (2026-08-21)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/ae7910970dddc408fe6ab1c8e4b277bb21d72dc0?narHash=sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw%3D' (2026-08-05)
  → 'github:numtide/treefmt-nix/27b3b12a8e6375f28ebe122f07d230ca5459bbfa?narHash=sha256-WSFCsDSE5ffgD2MqzkM2CYjeFiKhRF/dJUN8uedb6YE%3D' (2026-08-16)
2026-08-24 01:58:46 +00:00
nixvim-ci[bot]andGaétan Lepage b397fb9f69 flake: Update
flake.lock updates:
• Updated input 'flake-parts':
    'github:hercules-ci/flake-parts/f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb?narHash=sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4%3D' (2026-05-13)
  → 'github:hercules-ci/flake-parts/427bf4bd9435fdf21321c8cc628c24efc14c0f7a?narHash=sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw%3D' (2026-08-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a0374025a863d007d98e3297f6aa46cc3141c2f0?narHash=sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE%3D' (2026-06-11)
  → 'github:NixOS/nixpkgs/02e08985a27c65ffd33d434eeb2e660a2e4dc84d?narHash=sha256-QvnceIGTBeDvDd9oCn%2BGvdsnkquliuwbVgpiRH68qaQ%3D' (2026-08-14)

flake/dev/flake.lock updates:
• Updated input 'git-hooks':
    'github:cachix/git-hooks.nix/3bbec39bc90eadfa031e6f3b77272f3f60803e39?narHash=sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco%2B3u0%3D' (2026-06-17)
  → 'github:cachix/git-hooks.nix/43b3c1ab9d40fb1dbb008f451988a91e375825e9?narHash=sha256-ReRHaLgr/uVqdD8afFSn%2BmyXIfpHeOhP0yYe0TJqAA8%3D' (2026-07-17)
• Removed input 'git-hooks/gitignore'
• Removed input 'git-hooks/gitignore/nixpkgs'
• Updated input 'home-manager':
    'github:nix-community/home-manager/8355f0a16b2dbb06a97959a918af5b239bbe05ae?narHash=sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M%3D' (2026-06-13)
  → 'github:nix-community/home-manager/d4fd24667c8cbef124bb70a20380cab75ec8474d?narHash=sha256-Rgs2xKnGLFWQscxUaXX07oyZeuMDOHEbqDOsgliLFGM%3D' (2026-07-27)
• Updated input 'nix-darwin':
    'github:nix-darwin/nix-darwin/adda04f0bf4819575b1978c2f8d78401b3c2be12?narHash=sha256-xIbRSwDB1GBAUsWsQZUjudGfAGQt3BOpsWaO/ugVa4w%3D' (2026-06-18)
  → 'github:nix-darwin/nix-darwin/c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74?narHash=sha256-2cp6N3rrwnGYLTx9l6N%2BNI%2BkwrCWxvJUbj5WJhvB29A%3D' (2026-07-11)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb?narHash=sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4%3D' (2026-05-13)
  → 'github:hercules-ci/flake-parts/427bf4bd9435fdf21321c8cc628c24efc14c0f7a?narHash=sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw%3D' (2026-08-01)
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/a0374025a863d007d98e3297f6aa46cc3141c2f0?narHash=sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE%3D' (2026-06-11)
  → 'github:NixOS/nixpkgs/02e08985a27c65ffd33d434eeb2e660a2e4dc84d?narHash=sha256-QvnceIGTBeDvDd9oCn%2BGvdsnkquliuwbVgpiRH68qaQ%3D' (2026-08-14)
• Updated input 'nuschtosSearch':
    'github:NuschtOS/search/a45595bc2e1ed7def0f8bce6e5f6bb9c8a6bbcbe?narHash=sha256-GauOhn1S0TlO7d651kM1Wg/HOx%2BOAAXYFf3YKRAm/lY%3D' (2026-06-18)
  → 'github:NuschtOS/search/90b23eb8b8ed5703b44e787016e266221496ad7c?narHash=sha256-uKomHYCRIl/xMMTfxKe3ZTenGfIsQSyZhoEede40pWM%3D' (2026-08-01)
• Updated input 'nuschtosSearch/ixx':
    'github:NuschtOS/ixx/d7a538df37375683fda931d244ca47aed0296940?narHash=sha256-vLSO1r6UJ8%2B8r2o05ZILtvIQ5vPobGWTKvWXc4hYq%2Bo%3D' (2026-06-07)
  → 'github:NuschtOS/ixx/86a7f2126da859b62d68378e90a052655fa8da01?narHash=sha256-qJjGESnkXp1No6QyI9BjtEHstwtZE8zqLuIBwxE1ugI%3D' (2026-06-20)
• Updated input 'nuschtosSearch/nix-index-database':
    'github:Mic92/nix-index-database/854d04e2368fb2e9c328a36b3c0a04cd713bfae1?narHash=sha256-W7S8O86bVrw2gaomEwkHStOzmPpnFIHQ6lS4Q2HffJ0%3D' (2026-06-14)
  → 'github:Mic92/nix-index-database/058b1f9381fa79fcda49982370a750ff92dbba43?narHash=sha256-ripjZa7BBLwL1uS5VJF3s/VpZpWt5ZIQEvkJ/FJNpQw%3D' (2026-06-28)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/db947814a175b7ca6ded66e21383d938df01c227?narHash=sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM%3D' (2026-05-31)
  → 'github:numtide/treefmt-nix/ae7910970dddc408fe6ab1c8e4b277bb21d72dc0?narHash=sha256-NLSyTCW4K4ofhNBllt3omPasm6QpralXH1DBZOc91Dw%3D' (2026-08-05)
2026-08-16 09:49:33 +00:00
Matt Sturgeon 667c8471f4 ci/pr-merged: explicitly checkout base_ref
This _should_ be the default, but actions/checkout is still complaining
about checking out untrusted PR code.

Technically, this workflow only runs on `merged` PRs, so the PR code _is_
trusted anyway. But currently there's no need to use the PR's code.

(cherry picked from commit be307b6b8f)
2026-07-01 15:32:47 +00:00
Matt Sturgeon 398a33be29 ci/backport: explicitly define persist-credentials
This is the default, but it's best practice to state it explicitly to
avoid security footguns.

(cherry picked from commit 266d5c31d5)
2026-07-01 15:32:47 +00:00
Matt Sturgeon d05080df14 ci/backport: update for checkout v7
We need to specify allow-unsafe-pr-checkout now, to be explicit about
checking out PR code on a privileged workflow.

(cherry picked from commit aeb34e84f6)
2026-07-01 15:32:47 +00:00
Matt Sturgeon 907970c509 ci/backport: specify workflows permission
Needed to create branches that modify workflow files.

(cherry picked from commit 702008d2b3)
2026-07-01 15:31:48 +00:00
Matt Sturgeon 8eefdd6272 modules/nixpkgs: import libForPkgs correctly
(cherry picked from commit 78acb50d9a)
2026-07-01 13:49:49 +00:00
Matt Sturgeon 6355ef0a9b modules/nixpkgs: use libForPkgs for elaborate
`lib.systems.elaborate` is sensitive to Nixpkgs revision, so import a
`lib` instance from the Nixpkgs revision we're constructing.

(cherry picked from commit cc3b773a7a)
2026-07-01 01:57:05 +00:00
Austin HorstmanandMatt Sturgeon ee3cfbdeda modules/nixpkgs: warn about platform specs
Document that fully elaborated platform attrsets from another Nixpkgs instance can be unsafe when Nixvim imports a different nixpkgs.source.

(cherry picked from commit c6a99bb41f)
2026-07-01 01:57:05 +00:00
Austin HorstmanandMatt Sturgeon 63c00fb9d6 wrappers: inherit platform config tuples
Nixvim wrapper modules passed the host nixpkgs' fully elaborated stdenv.{host,build}Platform attrsets into Nixvim's own nixpkgs import.

When the host and Nixvim nixpkgs revisions disagreed, those platform attrsets could be re-elaborated by a different lib.systems, causing eval recursion or platform-schema errors.

Pass only { config = ...; } as the inherited platform spec instead. This keeps ABI/libc details while letting Nixvim's selected nixpkgs elaborate the platform itself.

(cherry picked from commit adfa139f94)
2026-07-01 01:57:05 +00:00
nixvim-ci[bot]andMatt Sturgeon 7afca458f0 flake: Update
flake/dev/flake.lock updates:
• Updated input 'git-hooks':
    'github:cachix/git-hooks.nix/61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a?narHash=sha256-kTwur1wV%2B01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs%3D' (2026-05-11)
  → 'github:cachix/git-hooks.nix/3bbec39bc90eadfa031e6f3b77272f3f60803e39?narHash=sha256-U3yTuGBnmXvXoQI3qkpfEDsn9RovQPAjN7ndRco%2B3u0%3D' (2026-06-17)
• Updated input 'nix-darwin':
    'github:nix-darwin/nix-darwin/f2b3fdb347f91dfd344ad196666a0b0fe8aad05c?narHash=sha256-QRMpLbsmlciMGv4yx75FUoIl54K02JbIX1tgdPHPw1s%3D' (2026-06-11)
  → 'github:nix-darwin/nix-darwin/adda04f0bf4819575b1978c2f8d78401b3c2be12?narHash=sha256-xIbRSwDB1GBAUsWsQZUjudGfAGQt3BOpsWaO/ugVa4w%3D' (2026-06-18)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nuschtosSearch':
    'github:NuschtOS/search/b9092e8a7171f7eb5cbf4f6c34c98ed4bd05a802?narHash=sha256-L9roRFvAq22QIdHfZns6Keo2ZfUfmEMvAVQRvXZ0V2s%3D' (2026-06-16)
  → 'github:NuschtOS/search/a45595bc2e1ed7def0f8bce6e5f6bb9c8a6bbcbe?narHash=sha256-GauOhn1S0TlO7d651kM1Wg/HOx%2BOAAXYFf3YKRAm/lY%3D' (2026-06-18)
2026-06-20 15:56:48 +00:00
David Warde-FarleyandMatt Sturgeon 62019d53fd plugins/sidekick: support non-bool settings.nes.enabled
(cherry picked from commit 82a679abce)
2026-06-20 00:36:31 +00:00
David Warde-FarleyandMatt Sturgeon 89843b4b28 plugins/sidekick: Amend assertion message to match
Co-authored-by: Austin Horstman <khaneliman12@gmail.com>
(cherry picked from commit 24259c0f4f)
2026-06-20 00:36:31 +00:00
David Warde-FarleyandMatt Sturgeon 069f813266 plugins/sidekick: fix incorrect assertion
The calling convention is that the `settings` member will be passed as `opts` to `setup()`, but the assertion expects there to be an `opts` attrset inside `settings`.

(cherry picked from commit 44ba462bec)
2026-06-20 00:36:31 +00:00
Matt Sturgeon 110376ed06 plugins.lsp: restore autostart compatibility
`autostart` was a legacy nvim-lspconfig option controlling whether a
server was automatically started for matching buffers.

Neovim's `vim.lsp.config` API does not have an `autostart` field, but
the `vim.lsp.enable()` function is effectively equivalent.

Alias legacy `plugins.lsp.servers.<name>.autostart` definitions to
`lsp.servers.<name>.activate`, which controls `vim.lsp.enable()`.

(cherry picked from commit caee4e5d41)
2026-06-17 16:32:07 +00:00
MarcelandMatt Sturgeon 12c6b37a31 dev: update search
(cherry picked from commit 0ddc79c660)
2026-06-16 09:00:43 +00:00
nixvim-ci[bot]andMatt Sturgeon a8b820bc72 flake: Update
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6b316287bae2ee04c9b93c8c858d930fd07d7338?narHash=sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4%2BYJCYVmQ7FY%3D' (2026-06-03)
  → 'github:NixOS/nixpkgs/a0374025a863d007d98e3297f6aa46cc3141c2f0?narHash=sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE%3D' (2026-06-11)

flake/dev/flake.lock updates:
• Updated input 'home-manager':
    'github:nix-community/home-manager/e28654b71096e08c019d4861ca26acb646f583d8?narHash=sha256-wnV9ttf4fPWNonBIQmvlrSlNpQYgx5HgWWd007mwIFA%3D' (2026-06-02)
  → 'github:nix-community/home-manager/8355f0a16b2dbb06a97959a918af5b239bbe05ae?narHash=sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M%3D' (2026-06-13)
• Updated input 'nix-darwin':
    'github:nix-darwin/nix-darwin/56c666e108467d87d13508936aade6d567f2a501?narHash=sha256-zXcwYQGCT6pzinK%2B1dBB2ekTVtfxGZAapb3Evdcu4fY%3D' (2026-05-17)
  → 'github:nix-darwin/nix-darwin/f2b3fdb347f91dfd344ad196666a0b0fe8aad05c?narHash=sha256-QRMpLbsmlciMGv4yx75FUoIl54K02JbIX1tgdPHPw1s%3D' (2026-06-11)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/6b316287bae2ee04c9b93c8c858d930fd07d7338?narHash=sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4%2BYJCYVmQ7FY%3D' (2026-06-03)
  → 'github:NixOS/nixpkgs/a0374025a863d007d98e3297f6aa46cc3141c2f0?narHash=sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE%3D' (2026-06-11)
2026-06-15 19:43:44 +00:00
Matt Sturgeon 7c091e0199 modules/output: prevent duplicate vimPlugin assertion locations
It's possible the same plugin-name is defined multiple times in the same
file.

(cherry picked from commit 586286af54)
2026-06-15 13:45:35 +00:00
Matt Sturgeon 660a3efe06 modules/output: make vimPlugin assertions lazier
Delay the `definitionsWithLocations` pipeline until evaluating the
assertion's `message`. The `assertion` condition itself can be a cheaper
`not any isVimPluginPackage`.

(cherry picked from commit 1fb6dccabf)
2026-06-15 13:45:35 +00:00
Matt Sturgeon 0e73e3cb25 modules/output: add source locations to vimPlugin assertions
Include the definition locations of offending vim-plugins in the
`extraPackages` & `extraPackagesAfter` assertion messages.

This makes it easier to track down the plugin declarations,
especially when values originate from multiple modules.

(cherry picked from commit e3c908fdf6)
2026-06-13 22:09:30 +00:00
Matt Sturgeon dd8a364d45 tests/modules/output: use pkgs.emptyDirectory
(cherry picked from commit a6554084d7)
2026-06-13 22:09:30 +00:00
Matt Sturgeon b97cb06360 wrappers: fix _module.check disablement
When passing a string to `disabledModules`, it is appended to
`modulesPath`. To avoid this, explicitly pass a `{key}` module.

Adds an assertion module to the platform-wrapper integration tests:

    Failed assertions:
       - Expected programs.nixvim._module.check to be true. Definitions:
       - In `/nix/store/XXXX-source/flake/wrappers.nix': false

Co-authored-by: MrQubo <jakub.jakub.nowak@gmail.com>
(cherry picked from commit 56f95d1655)
2026-06-13 19:26:14 +00:00
Austin Horstman 4b38626416 modules/output: reject vim plugins in extraPackages
Prevent Vim plugin derivations from being silently treated as PATH packages and point users to extraPlugins instead.

(cherry picked from commit 19a4e5efa1)
2026-06-13 18:50:14 +00:00
Matt SturgeonandAustin Horstman 1160ffd53e modules/test: add "all" expectation predicates
(cherry picked from commit 90ccd43c71)
2026-06-13 18:44:01 +00:00
Matt Sturgeon d5a4ff8534 wrappers/{nixos,hm}: add programs.neovim assertion
`programs.nixvim` and `programs.neovim` are incompatible; both install a
`neovim` package onto the PATH in an arbitrary order.

Home Manager also installs config into `.config/nvim`, which conflicts
with `wrapRc = false` used by default in our Home Manager module.

(cherry picked from commit fec49e7376)
2026-06-12 18:11:35 +00:00
Matt Sturgeon e7ce6708cc modules/nixpkgs: use version-info.toml for source assertion
It may be cheaper to evaluate `(version-info.toml).nixpkgs_rev` instead
of `(nixpkgs.nix).rev` in some scenarios.

I've seen some reports of `builtins.fetchTree` _eagerly_ fetching the
FOD even without forcing `outPath`.

(cherry picked from commit 4d73571e54)
2026-06-09 20:57:33 +00:00
Matt Sturgeon 9ca5364f83 tests/nixpkgs-fetch: cross-check with version-info.toml
(cherry picked from commit 753b1cd663)
2026-06-09 20:57:33 +00:00
jaredmontoyaandMatt Sturgeon 9b20b1c5cb plugins/conflict.nvim: init
(cherry picked from commit 43a7e6f829)
2026-06-09 09:35:44 +00:00
Matt Sturgeon d63c1edbd7 treewide: bump stable 25.11 → 26.05
(cherry picked from commit 19fd9d7d1e)
2026-06-07 20:58:35 +00:00
Matt Sturgeon 9faf7aef9f docs: take defaults from environment variables
When building with --impure, accept the following environment variables
for docs inputs:
- NIXVIM_DOCS_BASE_HREF → baseHref
- NIXVIM_DOCS_AVAILABLE_VERSIONS → availableVersions

This allows simplifying the `website` CI workflow.

(cherry picked from commit 70886b715e)
2026-06-07 20:58:31 +00:00
dependabot[bot]andMatt Sturgeon ded903229b ci: bump actions/upload-pages-artifact in /.github/actions/build-docs
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 5.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 201960ae64)
2026-06-07 16:43:34 +00:00
Matt Sturgeon ef82d28845 ci/version-info: reformat
(cherry picked from commit b7521616f1)
2026-06-06 17:18:35 +00:00
nixvim-ci[bot]andMatt Sturgeon 407d6f5ac8 flake: Update
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b51242d7d43689db2f3be91bd05d5b24fbb469c4?narHash=sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1%2BN6cArVE%3D' (2026-05-31)
  → 'github:NixOS/nixpkgs/6b316287bae2ee04c9b93c8c858d930fd07d7338?narHash=sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4%2BYJCYVmQ7FY%3D' (2026-06-03)

flake/dev/flake.lock updates:
• Updated input 'home-manager':
    'github:nix-community/home-manager/b179bde238977f7d4454fc770b1a727eaf55111c?narHash=sha256-RUkMrREjKDQrA%2BdA9%2BxZviGAxM5W1aVdyOr/bSYpHrE%3D' (2026-05-25)
  → 'github:nix-community/home-manager/e28654b71096e08c019d4861ca26acb646f583d8?narHash=sha256-wnV9ttf4fPWNonBIQmvlrSlNpQYgx5HgWWd007mwIFA%3D' (2026-06-02)
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'nixvim/nixpkgs':
    'github:NixOS/nixpkgs/b51242d7d43689db2f3be91bd05d5b24fbb469c4?narHash=sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1%2BN6cArVE%3D' (2026-05-31)
  → 'github:NixOS/nixpkgs/6b316287bae2ee04c9b93c8c858d930fd07d7338?narHash=sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4%2BYJCYVmQ7FY%3D' (2026-06-03)
2026-06-06 17:18:35 +00:00
nixvim-ci[bot]andAustin Horstman 6b4320f7c8 flake: Update
flake/dev/flake.lock updates:
• Updated input 'nixvim':
    'path:../..'
  → 'path:../..'
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/790751ff7fd3801feeaf96d7dc416a8d581265ba?narHash=sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0%3D' (2026-04-08)
  → 'github:numtide/treefmt-nix/db947814a175b7ca6ded66e21383d938df01c227?narHash=sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM%3D' (2026-05-31)
2026-06-05 16:17:17 +00:00
Gaetan LepageandMatt Sturgeon 167da56c3a tests/all-package-defaults: disable ols on darwin (because of compiler-rt-libc)
(cherry picked from commit 7dbb34738b)
2026-05-31 08:00:53 +00:00
Matt Sturgeon d1b3cba303 flake: pin inputs to 26.05 branches
flake.lock updates:
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d99b013d5d1931ad77fe3912ed218170dec5d9a4?narHash=sha256-7DKWmH23hL2eYdkxCKeqj2i%2ByljTKuU%2B3Nk1UPHOnxc%3D' (2026-05-20)
  → 'github:NixOS/nixpkgs/b51242d7d43689db2f3be91bd05d5b24fbb469c4?narHash=sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1%2BN6cArVE%3D' (2026-05-31)

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/b179bde238977f7d4454fc770b1a727eaf55111c?narHash=sha256-RUkMrREjKDQrA%2BdA9%2BxZviGAxM5W1aVdyOr/bSYpHrE%3D' (2026-05-25)
• 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)
• 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/b51242d7d43689db2f3be91bd05d5b24fbb469c4?narHash=sha256-K5sT4jTpGs15ADhviMKNBH38REpPf5Q6mM1%2BN6cArVE%3D' (2026-05-31)
2026-05-31 08:00:53 +00:00
Diogo CorreiaandMatt Sturgeon ac4e5d370f lsp/servers/packages: add package for phpantom_lsp
The phpantom-lsp package is available in nixpkgs
since https://github.com/NixOS/nixpkgs/pull/504192

(cherry picked from commit 2109e94081)
2026-05-30 19:25:11 +00:00
Matt SturgeonandAustin Horstman d02dc1ae79 github/workflows/lint: run on Merge Queue
(cherry picked from commit bbadbd7319)
2026-05-29 18:43:03 +00:00
Matt Sturgeon b72fa6fa86 github/workflows/lint: run on all PRs
Avoid edge-cases where ignored files can indirectly break formatting.

Some of these exclusions are also outdated, as for example spellcheck
applies to markdown files.

Running this CI unconditionally also allows us to specify it as a
"required status check".

(cherry picked from commit e2caf02e8f)
2026-05-29 16:35:17 +00:00
Matt Sturgeon 9faa8e133e flake/dev: mark flake-compat as flake = false
As-per upstream README. No lockfile changes.

(cherry picked from commit afec1bae0e)
2026-05-25 05:34:46 +01:00
Matt Sturgeon 981d284fb1 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'

(cherry picked from commit 4aa27f5af0)
2026-05-25 05:34:46 +01:00
Matt Sturgeon 7b4d7a529a 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'

(cherry picked from commit 860304dd63)
2026-05-25 05:34:46 +01: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