{
  pkgs,
  myPkgs,
  lib,
  nixos-lib,
  extraModules,
  sysLib,
  ...
}: {
  name,
  configuration,
  description,
  hash,
  testData,
  testShell ? pkgs.dash,
  alternateScreen ? false,
}:
nixos-lib.runTest {
  hostPkgs = pkgs; # the Nixpkgs package set used outside the VMs

  inherit name;

  node = {
    specialArgs = {
      inherit myPkgs sysLib;
    };
    # Use the nixpkgs as constructed by the `nixpkgs.*` options
    pkgs = null;
  };

  nodes = {
    machine = {config, ...}: {
      imports =
        [
          extraModules.home-manager
          ../../modules/by-name/us/users/module.nix
        ]
        ++ configuration.imports;

      config = lib.modules.mkMerge [
        {
          soispha = {
            users = {
              enable = true;

              # The password is 'test'.
              hashedPassword = "$y$j9T$yYYUpE9OaxmEO8MaPI2jr0$WGpYYWaLySakI.Mwqz4sljGSOetAp4s5CIUa1VUU1l2";
            };
          };
          home-manager.users.soispha.home.stateVersion = "24.11";
        }
        configuration.config
      ];
    };
  };

  testScript = {nodes, ...}: let
    testDir = "${nodes.machine.home-manager.users.soispha.home.homeDirectory}/test";
    goldenFile = "${testDir}/__test_golden";
    logFile = "${testDir}/__test_log";
    testTmux = lib.getExe pkgs.tmux;
  in
    /*
    python
    */
    ''
      start_all()

      __TEST_TMUX="${testTmux}"

      machine.succeed("sudo -u soispha ${pkgs.writeShellScript "mkTestEnvironment" ''
        set -e

        mkdir --parents "${testDir}"
        cd "${testDir}"

        ${
          lib.strings.concatStringsSep "\n\n" (
            builtins.attrValues
            (builtins.mapAttrs
              (name: value: ''
                mkdir --parents "$(dirname '${name}')"
                cp --recursive '${value}' '${name}'
              '')
              testData)
          )
        }
      ''}")

      machine.succeed("sudo -u soispha ${pkgs.writeShellScript "mkGoldenRecord" ''
        set -e

        # HACK: Prevent zsh from complaining about missing configuration.
        # TODO: These tests should probably just run under bash. <2024-11-22>
        touch ~soispha/.zshrc

        cd "${testDir}"

        __TEST_TMUX="${testTmux}"
        __TEST_SHELL="${lib.getExe testShell}"
        __TEST_TMUX_PANE="__TEST_TMUX_PANE"

        __TEST_EVAL_USE_ALTERNATE_SCREEN="${
          if alternateScreen
          then "true"
          else "false"
        }"
        __TEST_EVAL_AWK_CLEAN_FILE="${./clean.awk}"
        __TEST_EVAL_LOG_FILE="${logFile}"
        __TEST_EVAL_GOLDEN_FILE="$(mktemp)"
        printf "%s" "${goldenFile}" >"$__TEST_EVAL_GOLDEN_FILE"

        . ${./driver.sh}

        "$__TEST_TMUX" new-session -d -s "$__TEST_TMUX_PANE" "$__TEST_SHELL"

        # Warm up the shell in the tmux sesssion
        "$__TEST_TMUX" send-keys -t "$__TEST_TMUX_PANE" "echo hi" "Enter" "clear" "Enter"
        sleep 2

        "$__TEST_TMUX" pipe-pane -t "$__TEST_TMUX_PANE" -o 'cat >>${goldenFile}'

        __test_eval "${description}"

        # Remove the pipe
        "$__TEST_TMUX" pipe-pane -t "$__TEST_TMUX_PANE"

        # Check if the golden file was changed.
        if [ "$(cat "$__TEST_EVAL_GOLDEN_FILE")" != "${goldenFile}" ]; then
          mv "$(cat "$__TEST_EVAL_GOLDEN_FILE")" "${goldenFile}"
        fi

        rm "$__TEST_EVAL_GOLDEN_FILE"
      ''}")

      machine.succeed("sudo -u soispha ${pkgs.writeShellScript "testHashOfGolden" (''
          set -e

          cd "${testDir}"
        ''
        + lib.optionalString (hash != null)
        /*
        bash
        */
        ''
          golden_hash="$(sha256sum ${goldenFile} | awk '{print $1}')"

          if [ "$golden_hash" != "${hash}" ]; then
            echo "Hash mismatch."
            echo "Expected '${hash}',"
            echo "but got '$golden_hash'"
            exit 1
          else
            echo "Hash was successfully checked."
          fi
        '')}")


      machine.copy_from_vm("${goldenFile}", "golden")
      machine.copy_from_vm("${logFile}", "log")
    '';
}