commit
7ac5d2ce0c
4 changed files with 74 additions and 0 deletions
|
@ -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).
|
- [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.
|
- [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).
|
- [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).
|
||||||
|
|
|
@ -139,6 +139,7 @@
|
||||||
./programs/_1password-gui.nix
|
./programs/_1password-gui.nix
|
||||||
./programs/_1password.nix
|
./programs/_1password.nix
|
||||||
./programs/adb.nix
|
./programs/adb.nix
|
||||||
|
./programs/alvr.nix
|
||||||
./programs/appgate-sdp.nix
|
./programs/appgate-sdp.nix
|
||||||
./programs/atop.nix
|
./programs/atop.nix
|
||||||
./programs/ausweisapp.nix
|
./programs/ausweisapp.nix
|
||||||
|
|
35
nixos/modules/programs/alvr.nix
Normal file
35
nixos/modules/programs/alvr.nix
Normal file
|
@ -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 ];
|
||||||
|
}
|
36
pkgs/by-name/al/alvr/package.nix
Normal file
36
pkgs/by-name/al/alvr/package.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
pname = "alvr";
|
||||||
|
version = "20.6.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/alvr-org/ALVR/releases/download/v${version}/ALVR-x86_64.AppImage";
|
||||||
|
hash = "sha256-IYw3D18xUGWiFu74c4d8d4tohZztAD6mmZCYsDNxR+A=";
|
||||||
|
};
|
||||||
|
|
||||||
|
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mv $out/bin/alvr-${version} $out/bin/alvr
|
||||||
|
|
||||||
|
install -Dm444 ${appimageContents}/alvr.desktop -t $out/share/applications
|
||||||
|
substituteInPlace $out/share/applications/alvr.desktop \
|
||||||
|
--replace 'Exec=alvr_dashboard' 'Exec=alvr'
|
||||||
|
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Stream VR games from your PC to your headset via Wi-Fi";
|
||||||
|
homepage = "https://github.com/alvr-org/ALVR/";
|
||||||
|
changelog = "https://github.com/alvr-org/ALVR/releases/tag/v${version}";
|
||||||
|
license = licenses.mit;
|
||||||
|
mainProgram = "alvr";
|
||||||
|
maintainers = with maintainers; [ passivelemon ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue