diff --git a/pkgs/by-name/xr/xrizer/package.nix b/pkgs/by-name/xr/xrizer/package.nix index fd53cea749ca..40796824ac14 100644 --- a/pkgs/by-name/xr/xrizer/package.nix +++ b/pkgs/by-name/xr/xrizer/package.nix @@ -10,6 +10,7 @@ rustPlatform, shaderc, vulkan-loader, + stdenv, }: rustPlatform.buildRustPackage rec { pname = "xrizer"; @@ -52,10 +53,18 @@ rustPlatform.buildRustPackage rec { ''; postInstall = '' - mkdir -p $out/lib/xrizer/bin/linux64 - ln -s "$out/lib/libxrizer.so" "$out/lib/xrizer/bin/linux64/vrclient.so" + mkdir -p $out/lib/xrizer/$platformPath + ln -s "$out/lib/libxrizer.so" "$out/lib/xrizer/$platformPath/vrclient.so" ''; + platformPath = + { + "aarch64-linux" = "bin/linuxarm64"; + "i686-linux" = "bin"; + "x86_64-linux" = "bin/linux64"; + } + ."${stdenv.hostPlatform.system}"; + passthru.updateScript = nix-update-script { }; meta = { @@ -63,9 +72,10 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/Supreeeme/xrizer"; license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ Scrumplex ]; - # TODO: support more systems - # To do so, we need to map systems to the format openvr expects. - # i.e. x86_64-linux -> linux64, aarch64-linux -> linuxarm64 - platforms = [ "x86_64-linux" ]; + platforms = [ + "x86_64-linux" + "i686-linux" + "aarch64-linux" + ]; }; }