nix-community.nixvim/tests/no-flake.nix
Matt Sturgeon 4a508ceee2
tests: use callTest pattern
Allows using the `callPackage(s)` pattern on tests.

Rather than using `pkgs.callPackage`, we implement our own variant using
`lib.callPackageWith`.

Our variant (`callTest`) includes additional nixvim-specific stuff
commonly used by our tests.
2024-10-18 20:52:02 +01:00

31 lines
816 B
Nix

{
nixvim ? "${self}",
self ? throw "either supply `self` or `nixvim`",
system,
mkTestDerivationFromNvim,
}:
let
# This simulates the `default.nix`, but in a pure way so because we are currently in a flake.
nixvim' =
(import (
let
lock = builtins.fromJSON (builtins.readFile ../flake.lock);
in
fetchTarball {
url =
lock.nodes.flake-compat.locked.url
or "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
sha256 = lock.nodes.flake-compat.locked.narHash;
}
) { src = nixvim; }).defaultNix;
config = {
colorschemes.gruvbox.enable = true;
};
nvim = nixvim'.legacyPackages."${system}".makeNixvim config;
in
mkTestDerivationFromNvim {
name = "no-flakes";
inherit nvim;
}