tvl-depot/users/glittershark/system/home/modules/obs.nix
Griffin Smith ef64479c9d feat(gs/system): Install obs v4l2loopback
Change-Id: I62db4951969a0978e929f91d62382b1560d1f89c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1348
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-22 16:31:40 +00:00

69 lines
1.7 KiB
Nix

{ config, lib, pkgs, ... }:
with pkgs;
let
libuiohook = stdenv.mkDerivation rec {
pname = "libuiohook";
version = "1.1";
src = fetchFromGitHub {
owner = "kwhat";
repo = "libuiohook";
rev = version;
sha256 = "1isfxn3cfrdqq22d3mlz2lzm4asf9gprs7ww2xy9c3j3srk9kd7r";
};
preConfigure = ''
./bootstrap.sh
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libtool autoconf automake
x11
xorg.libXtst
xorg.libXinerama
xorg.libxkbfile
libxkbcommon
];
};
obs-input-overlay = stdenv.mkDerivation rec {
pname = "obs-input-overlay";
version = "4.8";
src = fetchFromGitHub {
owner = "univrsal";
repo = "input-overlay";
rev = "v${version}";
sha256 = "1dklg0dx9ijwyhgwcaqz859rbpaivmqxqvh9w3h4byrh5pnkz8bf";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio libuiohook ];
postPatch = ''
sed -i CMakeLists.txt \
-e '2iinclude(${obs-studio.src}/cmake/Modules/ObsHelpers.cmake)' \
-e '2ifind_package(LibObs REQUIRED)'
'';
cmakeFlags = [
"-Wno-dev"
];
};
in
{
home.packages = [
obs-studio
obs-input-overlay
];
xdg.configFile."obs-studio/plugins/input-overlay/bin/64bit/input-overlay.so".source =
"${obs-input-overlay}/lib/obs-plugins/input-overlay.so";
xdg.configFile."obs-studio/plugins/input-overlay/data".source =
"${obs-input-overlay}/share/obs/obs-plugins/input-overlay";
xdg.configFile."obs-studio/plugins/obs-v4l2sink/bin/64bit/obs-v4l2sink.so".source =
"${pkgs.obs-v4l2sink}/share/obs/obs-plugins/v4l2sink/bin/64bit/v4l2sink.so";
}