basic project setup

This commit is contained in:
Clara Dautermann 2025-07-02 16:43:01 +02:00
parent 5507d11fe8
commit dac87a1696
Signed by: clara
GPG key ID: 223391B52FAD4463
10 changed files with 1887 additions and 10 deletions

View file

@ -1,22 +1,59 @@
{
description = "A Nix-flake-based Rust development environment for ESP";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
rust-overlay.url = "github:oxalica/rust-overlay";
};
outputs = { self, nixpkgs }:
outputs = { self, nixpkgs, rust-overlay }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
pkgs = import nixpkgs { inherit system; };
pkgs = import nixpkgs {
inherit system;
overlays = [ rust-overlay.overlays.default ];
};
});
in
{
devShells = forEachSupportedSystem ({ pkgs }: {
default = pkgs.mkShell {
packages = with pkgs; [
devShells = forEachSupportedSystem ({ pkgs }:
let
rust-toolchain = pkgs.rust-bin.fromRustupToolchainFile ./firmware/rust-toolchain.toml;
in
{
default = pkgs.mkShell {
packages = with pkgs; [
rust-toolchain
cargo-flamegraph
espup
];
};
});
ldproxy
gcc
git
gnumake
flex
bison
gperf
python313
cmake
ninja
ccache
dfu-util
libusb1
python313Packages.pip
esp-generate
espflash
probe-rs
];
env = {
LIBCLANG_PATH = "/home/clara/.rustup/toolchains/esp/xtensa-esp32-elf-clang/esp-19.1.2_20250225/esp-clang/lib";
PATH = "/home/clara/.rustup/toolchains/esp/xtensa-esp-elf/esp-14.2.0_20240906/xtensa-esp-elf/bin:$PATH";
};
};
});
};
}