{ description = "ESP32-D0WD-V3 (esp32-hal) Rust dev flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; in { devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ llvm cmake ninja python3 pkg-config git curl wget unzip gcc gnumake rustup cargo-espflash espup mosquitto ]; shellHook = '' echo ">>> ESP32 DevShell (esp-hal only)" if [ ! -d "$HOME/.espup" ]; then echo "Running espup install..." espup install fi # Activate Xtensa Rust toolchain export RUSTUP_TOOLCHAIN=esp export PATH=$HOME/.rustup/toolchains/esp/bin:$PATH # Add GCC/binutils path for xtensa-esp32-elf-gcc export PATH=$HOME/.rustup/toolchains/esp/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin:$PATH echo "Xtensa Rust toolchain ready." rustc --version which xtensa-esp32-elf-gcc || echo "⚠️ xtensa-esp32-elf-gcc not found in PATH" ''; }; }; }