1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-21 17:59:41 +01:00

lib: move enableExceptInTests impl to build.test option

Simplify the `enableExceptInTests` attribute, removing the
`_nixvimTests` argument.

We now do a full re-eval of the nixvim configuration before building the
test, giving us a central place to implement `enableExceptInTests` and
its eventual replacement(s).

This extends support for `enableExceptInTests` to all methods of getting
a nixvim test derivation. Previously, it only worked when using `mkTestDerivationFromNixvimModule`.

In `tests/main.nix`, we avoid the re-eval by doing the initial eval with
a "test mode" lib from the start.
This commit is contained in:
Matt Sturgeon 2025-11-19 07:07:02 +00:00
parent 7754b4eb1b
commit 8d0ca9abc4
7 changed files with 57 additions and 31 deletions

View file

@ -1,7 +1,4 @@
{
lib,
_nixvimTests,
}:
{ lib }:
rec {
/**
Transforms a list to an _"unkeyed"_ attribute set.
@ -23,15 +20,14 @@ rec {
builtins.listToAttrs (lib.lists.imap0 (idx: lib.nameValuePair "__unkeyed-${toString idx}") list);
/**
Usually `true`, except when nixvim is being evaluated by
`mkTestDerivationFromNixvimModule`, where it is `false`.
Usually `true`, except within the `build.test` option, where it is `false`.
This can be used to dynamically enable plugins that can't be run in the
test environment.
*/
# TODO: replace and deprecate
# We shouldn't need to use another instance of `lib` when building a test drv
enableExceptInTests = !_nixvimTests;
enableExceptInTests = true;
/**
An empty lua table `{ }` that will be included in the final lua configuration.