From 66c40a8dec33ea4189369312ea6275b7f67cb3ce Mon Sep 17 00:00:00 2001 From: Ingolf Wagner Date: Thu, 9 Nov 2023 11:57:46 +0100 Subject: [PATCH] Configure OBS-Setup --- nixos/components/media/video.nix | 45 +++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/nixos/components/media/video.nix b/nixos/components/media/video.nix index b9794de..b67c8fb 100644 --- a/nixos/components/media/video.nix +++ b/nixos/components/media/video.nix @@ -3,6 +3,28 @@ with lib; let + obs-cmd = pkgs.unstable.rustPlatform.buildRustPackage + rec { + pname = "obs-cmd"; + version = "v0.15.2"; + src = pkgs.fetchFromGitHub { + owner = "grigio"; + repo = "obs-cmd"; + rev = version; + sha256 = "sha256-RRkP0QLWcJLKv8oqESjMgHGW1QScANG7+fzR/rwSyDI="; + }; + + cargoSha256 = "sha256-JqR7MAt2VNEnZGbn+hExtFG6F7X0KhFM1n7GZ+QaHc0="; + #cargoSha256 = fakeSha256; + + meta = with lib; { + description = "a minimal obs CLI for obs-websocket v5"; + homepage = "https://github.com/grigio/obs-cmd"; + license = licenses.mit; + maintainers = [ maintainers.mrVanDalo ]; + platforms = platforms.all; + }; + }; # Lassulus streaming setup # ------------------------- @@ -88,6 +110,23 @@ in config = mkIf (config.components.media.video.enable) { + + home-manager.sharedModules = [ + { + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + obs-backgroundremoval + obs-vaapi + ]; + }; + } + ]; + + + boot.kernelModules = [ "v4l2loopback" ]; + boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ]; + environment.systemPackages = with pkgs; [ unstable.youtube-dl unstable.yt-dlp @@ -100,12 +139,16 @@ in sanitizeFolder + # obs studio stuff + unstable.obs-cli + v4l-utils + obs-cmd # to record your screen # --------------------- simplescreenrecorder screenKey - obs-studio + #obs-studio # to transcode video material # ---------------------------