{ appstream-glib, cairo, cargo, desktop-file-utils, fetchFromGitLab, gdb, gdk-pixbuf, git, glib, gtk4, gtksourceview5, lib, libadwaita, libgit2, libusb1, meson, ninja, nix-update-script, openssl, openxr-loader, pango, pkg-config, rustPlatform, rustc, stdenv, vte-gtk4, wrapGAppsHook4, zlib, }: stdenv.mkDerivation (finalAttrs: { pname = "envision-unwrapped"; version = "0-unstable-2024-09-21"; src = fetchFromGitLab { owner = "gabmus"; repo = "envision"; rev = "41e9af1676d3cfd458939a34b5c8b06d84c3f764"; hash = "sha256-qk9xlHWbkCRpve3SZMtq5ojfS2tRwyXsckqu7fs/Lm0="; }; strictDeps = true; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { "libmonado-rs-0.1.0" = "sha256-xztevBUaYBm5G3A0ZTb+3GV3g1IAU3SzfSS5BBqfp1Y="; "openxr-0.18.0" = "sha256-ktkbhmExstkNJDYM/HYOwAwv3acex7P9SP0KMAOKhQk="; }; }; nativeBuildInputs = [ appstream-glib desktop-file-utils cargo git meson ninja pkg-config rustPlatform.cargoSetupHook rustc wrapGAppsHook4 ]; buildInputs = [ cairo gdk-pixbuf glib gtk4 gtksourceview5 libadwaita libgit2 libusb1 openssl openxr-loader pango vte-gtk4 zlib ]; postInstall = '' wrapProgram $out/bin/envision \ --prefix PATH : "${lib.makeBinPath [ gdb ]}" ''; passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch=main" ]; }; meta = { description = "UI for building, configuring and running Monado, the open source OpenXR runtime"; homepage = "https://gitlab.com/gabmus/envision"; license = lib.licenses.agpl3Only; mainProgram = "envision"; maintainers = with lib.maintainers; [ pandapip1 Scrumplex ]; platforms = lib.platforms.linux; }; })