{ pkgs ? import <nixpkgs> {} }:
with pkgs; mkShell rec {
  buildInputs = [
    cargo
    rustc
    rust-analyzer
    pkg-config
    openimageio
    wayland
    libGL
    libxkbcommon
    egl-wayland
    vulkan-loader
    gtk4
    gsettings-desktop-schemas
  ];

  shellHook = ''
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${lib.makeLibraryPath (buildInputs) }
    export XDG_DATA_DIRS=${pkgs.gtk4}/share/gsettings-schemas/${pkgs.gtk4.name}:$XDG_DATA_DIRS
  '';

  WINIT_UNIX_BACKEND="wayland";
}
