mirror of
https://github.com/nix-community/nixvim.git
synced 2025-08-05 02:26:15 +02:00
modules/nixpkgs: add overlays
option
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.
This commit is contained in:
parent
b9d17d5e6c
commit
c4ad4d0b2e
3 changed files with 152 additions and 1 deletions
74
tests/test-sources/modules/nixpkgs.nix
Normal file
74
tests/test-sources/modules/nixpkgs.nix
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
# 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"
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue