58 lines
1.3 KiB
Nix
58 lines
1.3 KiB
Nix
{
|
|||
|
|
pkgs,
|
||
|
|
nixpkgs,
|
||
|
|
system,
|
||
|
|
}:
|
||
|
|
let
|
||
|
|
packageSet = (import ./quixos-package-helpers.nix).packageSet;
|
||
|
|
shared = {
|
||
|
|
marker = "shared";
|
||
|
|
};
|
||
|
|
environment = {
|
||
|
|
inherit system;
|
||
|
|
nixpkgsSource = toString nixpkgs;
|
||
|
|
pkgs = shared;
|
||
|
|
narHash = nixpkgs.narHash;
|
||
|
|
};
|
||
|
|
standard = {
|
||
|
|
inherit nixpkgs system;
|
||
|
|
context.buildEnvironment = environment;
|
||
|
|
};
|
||
|
|
fallback = packageSet { inherit nixpkgs system; };
|
||
|
|
in
|
||
|
|
assert packageSet standard == shared;
|
||
|
|
assert
|
||
|
|
packageSet (
|
||
|
|
standard
|
||
|
|
// {
|
||
|
|
context.buildEnvironment = environment // {
|
||
|
|
nixpkgsSource = "same-content-under-another-name";
|
||
|
|
};
|
||
|
|
}
|
||
|
|
) == shared;
|
||
|
|
assert
|
||
|
|
(packageSet (
|
||
|
|
standard
|
||
|
|
// {
|
||
|
|
context.buildEnvironment = environment // {
|
||
|
|
system = "another-system";
|
||
|
|
};
|
||
|
|
}
|
||
|
|
)).path == fallback.path;
|
||
|
|
assert
|
||
|
|
(packageSet (
|
||
|
|
standard
|
||
|
|
// {
|
||
|
|
context.buildEnvironment = environment // {
|
||
|
|
nixpkgsSource = "another-source";
|
||
|
|
narHash = "another-hash";
|
||
|
|
};
|
||
|
|
}
|
||
|
|
)).path == fallback.path;
|
||
|
|
assert
|
||
|
|
(packageSet (standard // { overlays = [ (_: _: { marker = "overlay"; }) ]; })).marker == "overlay";
|
||
|
|
assert (packageSet (standard // { config.allowBroken = true; })).config.allowBroken;
|
||
|
|
pkgs.runCommand "camino-package-set-check" { } ''
|
||
|
|
touch "$out"
|
||
|
|
''
|