about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorh7x4 <h7x4@nani.wtf>2024-02-02 11:36:08 +0100
committerGitHub <noreply@github.com>2024-02-02 11:36:08 +0100
commit7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d (patch)
tree0e61337d2778dd65e17d0b86d8c0ae88026653ef /nixos
parent381d7ada6d7ff6d8e4ee625a990acba090fdf6e8 (diff)
parent1d3e2a92bc516a1ead80dafbd48a07fb935f684d (diff)
downloadnixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar.gz
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar.bz2
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar.lz
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar.xz
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.tar.zst
nixlib-7ac5d2ce0c4ad9534688c9c7f6e52feb995a649d.zip
Merge pull request #284154 from PassiveLemon/ALVR
alvr: init at 20.6.1
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/release-notes/rl-2405.section.md2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/alvr.nix35
3 files changed, 38 insertions, 0 deletions
diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md
index e26702f7a61d..06c3e1949b70 100644
--- a/nixos/doc/manual/release-notes/rl-2405.section.md
+++ b/nixos/doc/manual/release-notes/rl-2405.section.md
@@ -71,6 +71,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
 
 - [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
 
+- [ALVR](https://github.com/alvr-org/alvr), a VR desktop streamer. Available as [programs.alvr](#opt-programs.alvr.enable)
+
 - [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
 
 - [systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable).
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 0eb88e7874f6..37f822721f48 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -139,6 +139,7 @@
   ./programs/_1password-gui.nix
   ./programs/_1password.nix
   ./programs/adb.nix
+  ./programs/alvr.nix
   ./programs/appgate-sdp.nix
   ./programs/atop.nix
   ./programs/ausweisapp.nix
diff --git a/nixos/modules/programs/alvr.nix b/nixos/modules/programs/alvr.nix
new file mode 100644
index 000000000000..c01b74ad3a51
--- /dev/null
+++ b/nixos/modules/programs/alvr.nix
@@ -0,0 +1,35 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.alvr;
+in
+{
+  options = {
+    programs.alvr = {
+      enable = mkEnableOption (lib.mdDoc "ALVR, the VR desktop streamer");
+
+      package = mkPackageOption pkgs "alvr" { };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = lib.mdDoc ''
+          Whether to open the default ports in the firewall for the ALVR server.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ 9943 9944 ];
+      allowedUDPPorts = [ 9943 9944 ];
+    };
+  };
+
+  meta.maintainers = with maintainers; [ passivelemon ];
+}