feat: OBS Studio virtual camera
This commit is contained in:
parent
d5fcc2cf5f
commit
24afd66d64
5 changed files with 20 additions and 27 deletions
|
|
@ -6,15 +6,9 @@
|
|||
}:
|
||||
let
|
||||
browser = "firefox-nightly";
|
||||
noOffloadBrowser = "${browser} -P noOffload -no-remote";
|
||||
iconPrefix = ".local/share/icons/hicolor/scalable/apps";
|
||||
newWindow = "${browser} --new-window";
|
||||
mkIconPkg = pkgs.callPackage ../../utils/make-icon.nix { };
|
||||
googleMeetIcon = mkIconPkg {
|
||||
name = "googleMeet";
|
||||
url = "https://fonts.gstatic.com/s/i/productlogos/meet_2020q4/v1/web-512dp/logo_meet_2020q4_color_1x_web_512dp.png";
|
||||
sha256 = "sha256-LL33KhQTv4VVdPRBm7nzsHtPoQ2ArHwjwVxq2p8VdM4=";
|
||||
};
|
||||
in
|
||||
{
|
||||
# Update icon cache
|
||||
|
|
@ -50,10 +44,6 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
googleMeetIcon
|
||||
];
|
||||
|
||||
xdg.desktopEntries = {
|
||||
notion = {
|
||||
name = "Notion";
|
||||
|
|
@ -67,17 +57,5 @@ in
|
|||
"Utility"
|
||||
];
|
||||
};
|
||||
|
||||
googleMeet = {
|
||||
name = "Google Meet";
|
||||
genericName = "Community";
|
||||
exec = "${noOffloadBrowser} https://meet.google.com";
|
||||
comment = "Google Meet";
|
||||
icon = "googleMeet";
|
||||
terminal = false;
|
||||
categories = [
|
||||
"Network"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@ let
|
|||
in
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
mpvpaper # Video Wallpaper
|
||||
yt-dlp
|
||||
hyprpaper
|
||||
hyprcursor
|
||||
ewwWayland
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ in
|
|||
obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
obs-backgroundremoval
|
||||
obs-pipewire-audio-capture
|
||||
];
|
||||
|
|
|
|||
|
|
@ -46,9 +46,15 @@ in
|
|||
|
||||
# Enable bluetooth
|
||||
boot = {
|
||||
extraModulePackages = with config.boot.kernelPackages; [ xpadneo ];
|
||||
extraModulePackages = with config.boot.kernelPackages; [
|
||||
xpadneo
|
||||
v4l2loopback # OBS Virtual Camera
|
||||
];
|
||||
extraModprobeConfig = ''
|
||||
options bluetooth disable_ertm=Y
|
||||
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
|
||||
'';
|
||||
};
|
||||
|
||||
security.polkit.enable = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,9 +23,12 @@ let
|
|||
offload = import ./offload.nix { inherit pkgs; };
|
||||
in
|
||||
lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
|
||||
environment.systemPackages = [
|
||||
environment.systemPackages = with pkgs; [
|
||||
offload
|
||||
pkgs.nvtopPackages.nvidia
|
||||
nvtopPackages.nvidia
|
||||
vulkan-loader
|
||||
vulkan-validation-layers
|
||||
vulkan-tools
|
||||
];
|
||||
|
||||
# Enable nvidia on wayland or xserver
|
||||
|
|
@ -56,7 +59,7 @@ lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
|
|||
|
||||
nvidia.nvidiaSettings = true;
|
||||
nvidia.dynamicBoost.enable = true;
|
||||
nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
nvidia.prime =
|
||||
(
|
||||
|
|
@ -90,6 +93,8 @@ lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
|
|||
enable32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
nvidia-vaapi-driver
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -97,8 +102,9 @@ lib.checkListOfEnum "Nvidia Prime Mode" validModes [ nvidia-mode ] {
|
|||
environment.variables = {
|
||||
# GPU
|
||||
LIBVA_DRIVER_NAME = "nvidia";
|
||||
# __GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||
NVD_BACKEND = "direct";
|
||||
GBM_BACKEND = "nvidia-drm";
|
||||
MOZ_DISABLE_RDD_SANDBOX = 1;
|
||||
OGL_DEDICATED_HW_STATE_PER_CONTEXT = "ENABLE_ROBUST";
|
||||
INTEL_GPU_MIN_FREQ_ON_AC = "500";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue