at master 847 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.programs.immersed; 10in 11{ 12 imports = [ 13 (lib.mkRenamedOptionModule 14 [ 15 "programs" 16 "immersed-vr" 17 ] 18 [ 19 "programs" 20 "immersed" 21 ] 22 ) 23 ]; 24 25 options = { 26 programs.immersed = { 27 enable = lib.mkEnableOption "immersed"; 28 29 package = lib.mkPackageOption pkgs "immersed" { }; 30 }; 31 }; 32 33 config = lib.mkIf cfg.enable { 34 boot = { 35 kernelModules = [ 36 "v4l2loopback" 37 "snd-aloop" 38 ]; 39 extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; 40 extraModprobeConfig = '' 41 options v4l2loopback exclusive_caps=1 card_label="v4l2loopback Virtual Camera" 42 ''; 43 }; 44 45 environment.systemPackages = [ cfg.package ]; 46 }; 47 48 meta.maintainers = pkgs.immersed.meta.maintainers; 49}