1{ lib
2, nixos
3, expect
4, testers
5}:
6let
7 node-forbiddenDependencies-fail = nixos ({ ... }: {
8 system.forbiddenDependenciesRegex = "-dev$";
9 environment.etc."dev-dependency" = {
10 text = "${expect.dev}";
11 };
12 documentation.enable = false;
13 fileSystems."/".device = "ignore-root-device";
14 boot.loader.grub.enable = false;
15 });
16 node-forbiddenDependencies-succeed = nixos ({ ... }: {
17 system.forbiddenDependenciesRegex = "-dev$";
18 system.extraDependencies = [ expect.dev ];
19 documentation.enable = false;
20 fileSystems."/".device = "ignore-root-device";
21 boot.loader.grub.enable = false;
22 });
23in
24lib.recurseIntoAttrs {
25 test-forbiddenDependencies-fail = testers.testBuildFailure node-forbiddenDependencies-fail.config.system.build.toplevel;
26 test-forbiddenDependencies-succeed = node-forbiddenDependencies-succeed.config.system.build.toplevel;
27}