nixos/home/programs/obs-studio/default.nix
Torjus Håkestad f95018e7f6
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
Only use obs-backgroundremoval when cuda
2024-07-16 03:57:11 +02:00

41 lines
1.2 KiB
Nix

{ pkgs, lib, osConfig, ... }:
let
withCuda = osConfig.system.name == "gunter";
onnxruntime-gpu = (pkgs.onnxruntime.override {
cudaSupport = withCuda;
}).overrideAttrs
(old: {
# TODO: Remove when fixed in nixpkgs
# https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/libraries/onnxruntime/default.nix#L154
buildInputs = old.buildInputs ++ [ pkgs.cudaPackages.nccl ];
});
obs-backgrounremoval-gpu = ((pkgs.obs-studio-plugins.obs-backgroundremoval.override {
onnxruntime = onnxruntime-gpu;
}).overrideAttrs (old: {
version = "1.1.14-beta";
src = pkgs.fetchFromGitHub {
owner = "occ-ai";
repo = "obs-backgroundremoval";
rev = "94be8c35fe077be93a6f5ef347a802295a36dddd";
hash = "sha256-qnxDNeTWQYiRMqT6jNp8GC8ef6aaAAY+OXAak54dVc8=";
};
cmakeFlags =
if withCuda then
(lib.lists.remove "-DDISABLE_ONNXRUNTIME_GPU=ON" old.cmakeFlags)
else old.cmakeFlags;
}));
in
{
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
obs-pipewire-audio-capture
obs-shaderfilter
] ++ lib.optionals withCuda [
obs-backgrounremoval-gpu
];
};
}