1{ ... }:
2
3{
4 name = "obs-studio";
5
6 nodes.machine =
7 { pkgs, ... }:
8 {
9 imports = [
10 ./common/x11.nix
11 ./common/user-account.nix
12 ];
13
14 programs.obs-studio = {
15 enable = true;
16 plugins = with pkgs.obs-studio-plugins; [
17 wlrobs
18 obs-vkcapture
19 ];
20 enableVirtualCamera = true;
21 };
22 };
23
24 testScript = ''
25 machine.wait_for_x()
26 machine.succeed("obs --version")
27
28 # virtual camera tests
29 machine.succeed("lsmod | grep v4l2loopback")
30 machine.succeed("ls /dev/video1")
31 machine.succeed("obs --startvirtualcam >&2 &")
32 machine.wait_for_window("OBS")
33 machine.sleep(5)
34
35 # test plugins
36 machine.succeed("which obs-vkcapture")
37 '';
38}