{pkgs, vulkan-tutorial, ...}:
pkgs.nixosTest ({
  name = "test";
  nodes = {
    machine = { config, pkgs, ...}: {
      environment = {
        systemPackages = with pkgs; [
          vulkan-tutorial
          git
          shaderc
          vulkan-loader
          vulkan-validation-layers
        ];
        sessionVariables = {
          VK_LAYER_PATH="${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
          SDL_VULKAN_LIBRARY="${pkgs.vulkan-loader}/lib/libvulkan.so";
        };
      };
      hardware.opengl = {
        enable = true;
        driSupport = true;
        driSupport32Bit = true;
      };
      services.xserver = {
        enable = true;
        displayManager.sddm.enable = true;
        desktopManager.cinnamon.enable = true;
      };
      users.users.test = {
        password = "test";
        extraGroups = [
          "wheel"
        ];
        isNormalUser = true;
      };
    };
  };

  skipLint = true;

  testScript = ''
    start_all()

    machine.shell_interact()
  '';
})
