at 25.11-pre 802 B view raw
1{ 2 config, 3 pkgs, 4 lib, 5 ... 6}: 7 8let 9 cfg = config.programs.alvr; 10in 11{ 12 options = { 13 programs.alvr = { 14 enable = lib.mkEnableOption "ALVR, the VR desktop streamer"; 15 16 package = lib.mkPackageOption pkgs "alvr" { }; 17 18 openFirewall = lib.mkOption { 19 type = lib.types.bool; 20 default = false; 21 description = '' 22 Whether to open the default ports in the firewall for the ALVR server. 23 ''; 24 }; 25 }; 26 }; 27 28 config = lib.mkIf cfg.enable { 29 environment.systemPackages = [ cfg.package ]; 30 31 networking.firewall = lib.mkIf cfg.openFirewall { 32 allowedTCPPorts = [ 33 9943 34 9944 35 ]; 36 allowedUDPPorts = [ 37 9943 38 9944 39 ]; 40 }; 41 }; 42 43 meta.maintainers = with lib.maintainers; [ passivelemon ]; 44}