{ inputs = { crane.url = "github:ipetkov/crane"; flake-utils.url = "github:numtide/flake-utils"; fenix.url = "github:nix-community/fenix"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; outputs = { self, crane, fenix, flake-utils, nixpkgs, }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; fenixPkgs = fenix.packages.${system}; fenixToolchain = fenixPkgs.fromToolchainFile { dir = ./.; sha256 = "sha256-HAFn+jo7K/dwbCKRHNXQU+x9b+8LJ8xlQGL/tE0rNlE="; }; craneLib = (crane.mkLib pkgs).overrideToolchain fenixToolchain; in { devShells.default = craneLib.devShell { packages = with pkgs; [ elf2uf2-rs fenixPkgs.rust-analyzer ]; RUST_SRC_PATH = "${fenixPkgs.complete.rust-src}/lib/rustlib/src/rust/library"; }; }); }