at master 886 B view raw
1{ 2 config, 3 extendModules, 4 lib, 5 ... 6}: 7let 8 inherit (lib) mkOption types; 9 10 unsafeGetAttrPosStringOr = 11 default: name: value: 12 let 13 p = builtins.unsafeGetAttrPos name value; 14 in 15 if p == null then default else p.file + ":" + toString p.line + ":" + toString p.column; 16 17in 18{ 19 options = { 20 result = mkOption { 21 internal = true; 22 default = config; 23 }; 24 }; 25 config = { 26 # Docs: nixos/doc/manual/development/writing-nixos-tests.section.md 27 /** 28 See https://nixos.org/manual/nixos/unstable#sec-override-nixos-test 29 */ 30 passthru.extend = 31 args@{ 32 modules, 33 specialArgs ? { }, 34 }: 35 (extendModules { 36 inherit specialArgs; 37 modules = map (lib.setDefaultModuleLocation ( 38 unsafeGetAttrPosStringOr "<test.extend module>" "modules" args 39 )) modules; 40 }).config.test; 41 }; 42}