diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 30a11980b7b6..0df92c7193a8 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -213,6 +213,7 @@ ./programs/iay.nix ./programs/iftop.nix ./programs/i3lock.nix + ./programs/immersed-vr.nix ./programs/iotop.nix ./programs/java.nix ./programs/joycond-cemuhook.nix diff --git a/nixos/modules/programs/immersed-vr.nix b/nixos/modules/programs/immersed-vr.nix new file mode 100644 index 000000000000..57edb3cbaea0 --- /dev/null +++ b/nixos/modules/programs/immersed-vr.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.programs.immersed-vr; +in +{ + + options = { + programs.immersed-vr = { + enable = lib.mkEnableOption "immersed-vr"; + + package = lib.mkPackageOption pkgs "immersed-vr" {}; + }; + }; + + config = lib.mkIf cfg.enable { + boot = { + kernelModules = [ "v4l2loopback" "snd-aloop" ]; + extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; + extraModprobeConfig = '' + options v4l2loopback exclusive_caps=1 card_label="v4l2loopback Virtual Camera" + ''; + }; + + environment.systemPackages = [ cfg.package ]; + }; + + meta.maintainers = pkgs.immersed-vr.meta.maintainers; +}