From f5a82152394fde4d8f740f664ab7737b82861618 Mon Sep 17 00:00:00 2001 From: cashmere Date: Tue, 28 Jul 2026 19:41:16 +0200 Subject: feat: GPUI desktop port foundation - scene crate: full project/scene/element model, serde round-trip proven against the web SerializedProject shape - transfer crate: .ocp zip container, cross-compat with web fflate archives proven in both directions - storage crate: filesystem project store replacing IndexedDB, .ocp import/export - media crate: ffmpeg-next 8 decoder (frames, audio, thumbnails, waveform summaries) - playback crate: wall-clock anchored, frame-rounded playback clock - gpu crate: native texture readback; compositor renders headless offscreen on Vulkan (spike test) - flake devshell: rust toolchain, GPUI native deps, ffmpeg dev, bindgen clang args; GPUI hello-world builds - port plan in notes/gpui-port.md --- flake.nix | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index fab10705..8edaccbc 100644 --- a/flake.nix +++ b/flake.nix @@ -25,7 +25,48 @@ bun just nodejs + + cargo + clippy + rustc + rustfmt + + cmake + pkg-config + + alsa-lib + fontconfig + freetype + libxkbcommon + openssl + vulkan-loader + wayland + libX11 + libxcb + + ffmpeg-headless.dev + llvmPackages.libclang ]; + + env.LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; + + shellHook = '' + export BINDGEN_EXTRA_CLANG_ARGS="$(cat ${pkgs.stdenv.cc}/nix-support/cc-cflags 2>/dev/null) $(cat ${pkgs.stdenv.cc}/nix-support/libc-cflags 2>/dev/null) $BINDGEN_EXTRA_CLANG_ARGS" + export LD_LIBRARY_PATH=${ + pkgs.lib.makeLibraryPath ( + with pkgs; [ + alsa-lib + fontconfig + freetype + libxkbcommon + vulkan-loader + wayland + libX11 + libxcb + ] + ) + }:$LD_LIBRARY_PATH + ''; }; } ); -- cgit v1.3.1