1
0
Fork 0
nix-configuration/modules/apps/recording.nix

37 lines
1.1 KiB
Nix
Raw Normal View History

2024-02-29 09:53:34 -05:00
{ config, lib, ... }:
let
cfg = config.host.apps.recording;
2024-02-29 09:53:34 -05:00
in
with lib;
{
options = {
host.apps.recording.enable = mkEnableOption (mdDoc "Enables video editing tools");
};
2024-02-29 09:53:34 -05:00
config = mkIf cfg.enable {
host.ui.flatpak.enable = true;
2024-02-29 09:53:34 -05:00
services.flatpak = {
packages = [
"com.obsproject.Studio"
"com.obsproject.Studio.Plugin.DroidCam"
"org.kde.kdenlive"
];
};
2024-02-29 09:53:34 -05:00
# Add a virtual camera to use with Droidcam
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback.out ];
kernelModules = [ "v4l2loopback" ];
# Note on v4l2loopback kernel module parameters:
# exclusive_caps: Skype, Zoom, Teams etc. will only show device when actually streaming. This MUST be set to 1 for Chrome to detect virtual cameras.
# card_label: Name of virtual camera, how it'll show up in Skype, Zoom, Teams
# https://github.com/umlaeute/v4l2loopback
extraModprobeConfig = ''
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
'';
};
};
}