🚀
This commit is contained in:
parent
ff66e46165
commit
9cca05f65d
1 changed files with 11 additions and 5 deletions
16
flake.nix
16
flake.nix
|
|
@ -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 @@
|
|||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue