{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; rust-overlay.url = "github:oxalica/rust-overlay"; esp-rs.url = "github:leighleighleigh/esp-rs-nix"; }; outputs = { self, rust-overlay, nixpkgs, esp-rs, }: let overlays = [ (import rust-overlay) ]; pkgs = import nixpkgs { system = "x86_64-linux"; inherit overlays; }; in { packages.x86_64-linux.elf2uf2-rs = pkgs.callPackage ./elf2uf2.nix { }; devShell.x86_64-linux = pkgs.mkShell { buildInputs = with pkgs; [ espflash esptool esp-rs.packages.${system}.default cargo-espmonitor # (pkgs.rust-bin.selectLatestNightlyWith ( # toolchain: # toolchain.default.override { # targets = [ # "thumbv6m-none-eabi" # "xtensa-esp32-none-eabi" # ]; # extensions = [ "rust-src" ]; # } # )) pkgs.rust-analyzer pkgs.flip-link pkgs.probe-rs-tools self.packages.x86_64-linux.elf2uf2-rs pkgs.rustfmt # pkgs.picotool ]; }; }; }