mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-24 17:58:38 +02:00
Based on the `nixpkgs.overlays` option available in NixOS, allows users to further customize the `pkgs` instance used when evaluating nixvim. The standard module tests are now provided a few extra module args to enable a test where we instantiate a custom nixpkgs instance.
74 lines
1.4 KiB
Nix
74 lines
1.4 KiB
Nix
{
|
|
# TODO: expect not setting `nixpkgs.pkgs` to throw
|
|
|
|
overlays =
|
|
{ pkgs, ... }:
|
|
{
|
|
test.runNvim = false;
|
|
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
foobar = "foobar";
|
|
})
|
|
];
|
|
|
|
assertions = [
|
|
{
|
|
assertion = pkgs.foobar or null == "foobar";
|
|
message = ''
|
|
Expected `pkgs.foobar` to be "foobar"
|
|
'';
|
|
}
|
|
];
|
|
};
|
|
|
|
# Test that overlays from both `nixpkgs.pkgs` _and_ `nixpkgs.overlays` are applied
|
|
stacked_overlays =
|
|
{
|
|
inputs,
|
|
system,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
test.runNvim = false;
|
|
|
|
nixpkgs.pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
(final: prev: {
|
|
foobar = "foobar";
|
|
conflict = "a";
|
|
})
|
|
];
|
|
};
|
|
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
hello = "world";
|
|
conflict = "b";
|
|
})
|
|
];
|
|
|
|
assertions = [
|
|
{
|
|
assertion = pkgs.foobar or null == "foobar";
|
|
message = ''
|
|
Expected `pkgs.foobar` to be "foobar"
|
|
'';
|
|
}
|
|
{
|
|
assertion = pkgs.hello or null == "world";
|
|
message = ''
|
|
Expected `pkgs.hello` to be "world"
|
|
'';
|
|
}
|
|
{
|
|
assertion = pkgs.conflict or null == "b";
|
|
message = ''
|
|
Expected `pkgs.conflict` to be "b"
|
|
'';
|
|
}
|
|
];
|
|
};
|
|
}
|