This commit is contained in:
Ricardo (XenGi) Band 2026-05-30 19:44:47 +02:00
commit 9cca05f65d
No known key found for this signature in database

View file

@ -22,6 +22,7 @@
flake-utils.lib.eachDefaultSystem (
system:
let
idfVersion = "v6.0.1";
pkgs = import nixpkgs {
inherit system;
overlays = [ (import "${nixpkgs-esp-dev}/overlay.nix") ];
@ -52,7 +53,7 @@
echo "$PORT"
'';
esp-idf = pkgs.esp-idf-full.override {
rev = "v6.0.1";
rev = idfVersion;
sha256 = "sha256-4KJa686qc+u7XkF/GS2o53l1SpwP2EmdqAn/qmlL1yU=";
};
in
@ -60,18 +61,21 @@
apps = {
menuconfig = {
type = "app";
meta.description = "⚙️ Open ESP-IDF configuration menu (sdkconfig)";
program = "${pkgs.writeShellScriptBin "idf-menuconfig" ''
${esp-idf}/tools/idf.py menuconfig
''}/bin/idf-menuconfig";
};
build = {
type = "app";
meta.description = "🧱 Build ESP32 firmware using ESP-IDF ${idfVersion}";
program = "${pkgs.writeShellScriptBin "idf-build" ''
${esp-idf}/tools/idf.py build
''}/bin/idf-build";
};
flash = {
type = "app";
meta.description = "⚡ Flash firmware to ESP32-S3 over auto-detected serial port";
program = "${pkgs.writeShellScriptBin "idf-flash" ''
set -euo pipefail
@ -83,6 +87,7 @@
};
monitor = {
type = "app";
meta.description = "📡 Open serial monitor for ESP32 logs";
program = "${pkgs.writeShellScriptBin "idf-monitor" ''
set -euo pipefail
@ -94,22 +99,24 @@
};
clean = {
type = "app";
meta.description = "🧹 Clean ESP-IDF build directory";
program = "${pkgs.writeShellScriptBin "idf-clean" ''
${esp-idf}/tools/idf.py clean
''}/bin/idf-clean";
};
full = {
type = "app";
meta.description = "🚀 Full pipeline: build → flash → monitor";
program = "${pkgs.writeShellScriptBin "idf-full" ''
set -euo pipefail
PORT=$(${autoSerialPort}/bin/esp-port)
echo "Building..."
echo "🧱 Building..."
${esp-idf}/tools/idf.py build
echo "Flashing on $PORT..."
echo "⚡ Flashing on $PORT..."
${esp-idf}/tools/idf.py -p "$PORT" flash
echo "Starting monitor..."
echo "📡 Starting monitor..."
${esp-idf}/tools/idf.py -p "$PORT" monitor
''}/bin/idf-full";
};
@ -129,4 +136,3 @@
}
);
}