diff --git a/base/common_hardware.nix b/base/common_hardware.nix index 64c8cf4..f8d47c2 100644 --- a/base/common_hardware.nix +++ b/base/common_hardware.nix @@ -2,11 +2,6 @@ let username = config.conf.username; in { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { - extraModulePackages = - [ pkgs.linuxKernel.packages.linux_xanmod_latest.v4l2loopback ]; - kernelModules = [ "v4l2loopback" ]; - }; # Bootloader. boot.loader.systemd-boot = { diff --git a/modules/programs/teams.nix b/modules/programs/teams.nix index ad81ad9..515daed 100644 --- a/modules/programs/teams.nix +++ b/modules/programs/teams.nix @@ -9,9 +9,24 @@ in { description = "Enables teams via a chromium pwa (for the poor souls that have to use this for work)"; }; + loopback = lib.mkOption { + default = true; + example = false; + type = lib.types.bool; + description = "Enables loopback for screensharing -> teams sucks :)"; + }; }; config = lib.mkIf config.mods.teams.enable (lib.optionalAttrs (options ? home.packages) { home.packages = [ (callPackage ../../override/teams.nix { }) ]; - }); + } // (lib.optionalAttrs (options ? boot.kernelModules) { + boot = { + extraModulePackages = + [ pkgs.linuxKernel.packages.linux_xanmod_latest.v4l2loopback ]; + kernelModules = [ "v4l2loopback" ]; + extraModprobeConfig = '' + options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" + ''; + }; + })); }