nixpkgs/nixos/modules/programs/alvr.nix

34 lines
750 B
Nix

{ config, pkgs, lib, ... }:
let
cfg = config.programs.alvr;
in
{
options = {
programs.alvr = {
enable = lib.mkEnableOption "ALVR, the VR desktop streamer";
package = lib.mkPackageOption pkgs "alvr" { };
openFirewall = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to open the default ports in the firewall for the ALVR server.
'';
};
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
networking.firewall = lib.mkIf cfg.openFirewall {
allowedTCPPorts = [ 9943 9944 ];
allowedUDPPorts = [ 9943 9944 ];
};
};
meta.maintainers = with lib.maintainers; [ passivelemon ];
}