{ lib, pkgs }: let defaults = { virtualisation = { memorySize = 2048; cores = 2; }; }; tf = pkgs.callPackage ./tf.nix { }; tfEnv = pkgs.callPackage ./tf-env.nix { }; in lib.mapAttrs (name: test: pkgs.testers.runNixOSTest (test // { inherit name; })) { tf-validate = { inherit defaults; nodes.server = { environment.systemPackages = [ tf tfEnv ]; }; testScript = '' server.wait_for_unit("multi-user.target") server.succeed("${lib.getExe tf} -chdir='${tfEnv}/launch' validate") ''; }; }