{ pkgs ? import {}, crane ? builtins.getFlake "github:ipetkov/crane", fenix ? builtins.getFlake "github:nix-community/fenix", }: let fenixPkgs = fenix.packages.${pkgs.system}; toolchain = fenixPkgs.complete.withComponents [ "rustc" "rust-std" "cargo" "rust-docs" "rustfmt" "clippy" "rust-src" ]; craneLib = (crane.mkLib pkgs).overrideToolchain toolchain; # Rust dev tools (for P3) rustPackages = with pkgs; [ pkg-config fontconfig wayland wayland-protocols wayland-scanner vulkan-loader libxkbcommon xorg.libxcb xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr xorg.libXxf86vm ]; in craneLib.devShell { packages = rustPackages ++ [ fenixPkgs.rust-analyzer # C dev tools pkgs.gcc pkgs.llvmPackages_21.clang-tools ]; LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath rustPackages}"; }