{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [
# Rust toolchain
rustc
cargo
rustfmt
clippy
# GTK4 and related libraries
gtk4
glib
gdk-pixbuf
pango
cairo
graphene
# Development tools
pkg-config
# Additional GTK4 dependencies
gobject-introspection
wrapGAppsHook4
];
# Set environment variables for pkg-config
PKG_CONFIG_PATH = "${pkgs.lib.makeSearchPath "lib/pkgconfig" [
pkgs.gtk4
pkgs.glib
pkgs.gdk-pixbuf
pkgs.pango
pkgs.cairo
pkgs.graphene
pkgs.gobject-introspection
]}";
# Additional environment variables that might be needed
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
}