wayvr: init at 26.1.2 (#478553)

This commit is contained in:
Florian Klink
2026-01-12 15:20:48 +00:00
committed by GitHub
4 changed files with 98 additions and 189 deletions
@@ -1,83 +0,0 @@
# SPDX-FileCopyrightText: 2025 Hana Kretzer <hanakretzer@gmail.com>
#
# SPDX-License-Identifier: MIT
{
alsa-lib,
cargo-tauri,
fetchFromGitHub,
fetchNpmDeps,
gdk-pixbuf,
glib,
lib,
librsvg,
nodejs,
npmHooks,
openssl,
pkg-config,
pulseaudio,
rustPlatform,
webkitgtk_4_1,
wrapGAppsHook4,
}:
rustPlatform.buildRustPackage rec {
pname = "wayvr-dashboard";
version = "0.3.5";
src = fetchFromGitHub {
owner = "olekolek1000";
repo = "wayvr-dashboard";
tag = version;
hash = "sha256-C23O9EFOpGwamJuKjluBAMFF7YaNDqd61JVDkWyoy+E=";
};
cargoHash = "sha256-aljJ+N47rFSMAxdW4plqhHggLYHD+sJNUCcG/tWzUxU=";
npmDeps = fetchNpmDeps {
inherit src;
hash = "sha256-kyb4xzBkNTCIzOEUTuPeESDOAqfWseoouUkZjqI/NhQ=";
};
nativeBuildInputs = [
cargo-tauri.hook
nodejs
npmHooks.npmConfigHook
pkg-config
wrapGAppsHook4
];
buildInputs = [
alsa-lib
gdk-pixbuf
glib
librsvg
openssl
webkitgtk_4_1
];
preBuild = ''
# using sass-embedded fails at executing node_modules/sass-embedded-linux-x64/dart-sass/src/dart
rm -r node_modules/sass-embedded*
'';
postInstall = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ pulseaudio ]}}"
)
install -Dm644 wayvr-dashboard.svg $out/share/icons/hicolor/scalable/apps/wayvr-dashboard.svg
'';
cargoRoot = "src-tauri";
buildAndTestSubdir = cargoRoot;
meta = {
description = "Work-in-progress overlay application for launching various applications and games directly into a VR desktop environment";
homepage = "https://github.com/olekolek1000/wayvr-dashboard";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
nanoyaki
Scrumplex
];
platforms = lib.platforms.linux;
mainProgram = "wayvr-dashboard";
};
}
+96
View File
@@ -0,0 +1,96 @@
{
alsa-lib,
dbus,
fetchFromGitHub,
lib,
libX11,
libXext,
libXrandr,
libxcb,
libxkbcommon,
nix-update-script,
openssl,
openvr,
openxr-loader,
pipewire,
pkg-config,
procps,
pulseaudio,
rustPlatform,
shaderc,
stdenv,
testers,
wayvr,
withOpenVR ? !stdenv.hostPlatform.isAarch64,
}:
rustPlatform.buildRustPackage rec {
pname = "wayvr";
version = "26.1.2";
src = fetchFromGitHub {
owner = "wlx-team";
repo = "wayvr";
tag = "v${version}";
hash = "sha256-UZ5zcalez6B+212OqCaEXSoRfhaExuy0W8HX8b4flSU=";
};
cargoHash = "sha256-zqB2ybdpQEGdlkNin6mlUfaVRkpOtFl2CVCLAdKDMoQ=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
alsa-lib
dbus
libX11
libXext
libXrandr
libxcb
libxkbcommon
openssl
openxr-loader
pipewire
]
++ lib.optionals withOpenVR [ openvr ];
env.SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib";
postPatch = ''
substituteAllInPlace dash-frontend/src/util/pactl_wrapper.rs \
--replace-fail '"pactl"' '"${lib.getExe' pulseaudio "pactl"}"'
# steam_utils also calls xdg-open as well as steam. Those should probably be pulled from the environment
substituteInPlace dash-frontend/src/util/steam_utils.rs \
--replace-fail '"pkill"' '"${lib.getExe' procps "pkill"}"'
'';
buildNoDefaultFeatures = true;
buildFeatures = [
"openxr"
"osc"
"x11"
"wayland"
]
++ lib.optionals withOpenVR [ "openvr" ];
passthru = {
tests.testVersion = testers.testVersion { package = wayvr; };
updateScript = nix-update-script { };
};
meta = {
description = "Your way to enjoy VR on Linux! Access your Wayland/X11 desktop from SteamVR/Monado (OpenVR+OpenXR support)";
homepage = "https://github.com/wlx-team/wayvr";
license = with lib.licenses; [
gpl3Only
mit # wayvr-ipc
];
maintainers = with lib.maintainers; [ Scrumplex ];
platforms = lib.platforms.linux;
broken = stdenv.hostPlatform.isAarch64 && withOpenVR;
mainProgram = "wayvr";
};
}
-106
View File
@@ -1,106 +0,0 @@
{
alsa-lib,
dbus,
fetchFromGitHub,
fontconfig,
lib,
libGL,
libX11,
libxcb,
libXext,
libXrandr,
libxkbcommon,
makeWrapper,
nix-update-script,
openvr,
openxr-loader,
pipewire,
pkg-config,
pulseaudio,
rustPlatform,
shaderc,
stdenv,
testers,
wayland,
wlx-overlay-s,
# openvr support is broken on aarch64-linux
withOpenVr ? !stdenv.hostPlatform.isAarch64,
}:
rustPlatform.buildRustPackage rec {
pname = "wlx-overlay-s";
version = "25.4.2";
src = fetchFromGitHub {
owner = "galister";
repo = "wlx-overlay-s";
rev = "v${version}";
hash = "sha256-lWUfhiHRxu72p9ZG2f2fZH6WZECm/fOKcK05MLZV+MI=";
};
cargoHash = "sha256-em5sWSty2/pZp2jTwBnLUIBgPOcoMpwELwj984XYf+k=";
# explicitly only add openvr if withOpenVr is set to true.
buildNoDefaultFeatures = true;
buildFeatures = [
"openxr"
"osc"
"x11"
"wayland"
"wayvr"
]
++ lib.optional withOpenVr "openvr";
nativeBuildInputs = [
makeWrapper
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
alsa-lib
dbus
fontconfig
libGL
libX11
libxcb
libXext
libXrandr
libxkbcommon
openxr-loader
pipewire
wayland
]
++ lib.optional withOpenVr openvr;
env.SHADERC_LIB_DIR = "${lib.getLib shaderc}/lib";
postPatch = ''
substituteAllInPlace src/res/watch.yaml \
--replace '"pactl"' '"${lib.getExe' pulseaudio "pactl"}"'
substituteInPlace wlx-overlay-s.desktop \
--replace 'Categories=Utility;' 'Categories=Utility;X-WiVRn-VR;'
# TODO: src/res/keyboard.yaml references 'whisper_stt'
'';
postInstall = ''
install -Dm644 wlx-overlay-s.desktop $out/share/applications/wlx-overlay-s.desktop
install -Dm644 wlx-overlay-s.svg $out/share/icons/hicolor/scalable/apps/wlx-overlay-s.svg
'';
passthru = {
tests.testVersion = testers.testVersion { package = wlx-overlay-s; };
updateScript = nix-update-script { };
};
meta = {
description = "Wayland/X11 desktop overlay for SteamVR and OpenXR, Vulkan edition";
homepage = "https://github.com/galister/wlx-overlay-s";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ Scrumplex ];
platforms = lib.platforms.linux;
broken = stdenv.hostPlatform.isAarch64 && withOpenVr;
mainProgram = "wlx-overlay-s";
};
}
+2
View File
@@ -1746,6 +1746,7 @@ mapAliases {
wasm-strip = throw "'wasm-strip' has been removed due to upstream deprecation. Use 'wabt' instead."; # Added 2025-11-06
wavebox = throw "'wavebox' has been removed due to lack of maintenance in nixpkgs"; # Added 2025-06-24
wavm = throw "wavm has been removed, as it does not build with supported LLVM versions"; # Added 2025-08-10
wayvr-dashboard = throw "'wayvr-dashboard' and 'wlx-overlay-s' have been merged into a single application. Please switch to 'wayvr'"; # Added 2026-01-09
wcurl = throw "'wcurl' has been removed due to being bundled with 'curl'"; # Added 2025-07-04
wdomirror = throw "'wdomirror' has been removed as it is unmaintained upstream, Consider using 'wl-mirror' instead"; # Added 2025-09-04
webfontkitgenerator = webfont-bundler; # Added 2025-07-27
@@ -1759,6 +1760,7 @@ mapAliases {
wineWayland = throw "'wineWayland' has been renamed to/replaced by 'wine-wayland'"; # Converted to throw 2025-10-27
winhelpcgi = throw "'winhelpcgi' has been removed as it was unmaintained upstream and broken with GCC 14"; # Added 2025-06-14
wkhtmltopdf-bin = throw "'wkhtmltopdf-bin' has been renamed to/replaced by 'wkhtmltopdf'"; # Converted to throw 2025-10-27
wlx-overlay-s = throw "'wlx-overlay-s' and 'wayvr-dashboard' have been merged into a single application. Please switch to 'wayvr'"; # Added 2026-01-09
wmii_hg = throw "'wmii_hg' has been renamed to/replaced by 'wmii'"; # Converted to throw 2025-10-27
woof = throw "'woof' has been removed as it is broken and unmaintained upstream"; # Added 2025-09-04
worldengine-cli = throw "'worldengine-cli' has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-04