valconomy/firmware/default.nix

40 lines
1012 B
Nix

{
perSystem = { libMy, pkgs, ... }:
let
genImgsPy = pkgs.python3.withPackages (ps: with ps; [ pillow ]);
in
{
devenv.shells.firmware = libMy.withRootdir {
packages = with pkgs; [
esp-idf-esp32s3
picocom
lv_font_conv
imagemagick
];
env = {
# PICO_SDK_PATH = "${pkgs.pico-sdk}/lib/pico-sdk";
};
scripts = {
init.exec = ''
idf.py set-target esp32s3
'';
gen-fonts.exec = ''
for s in 40 180; do
DEBUG='*' lv_font_conv --font assets/Tungsten-Bold.ttf --bpp 4 --size $s -r 0x20-0x7F --no-compress \
--format lvgl --lv-include lvgl.h --lv-font-name lv_font_tungsten_"$s" -o main/font/tungsten_"$s".c
done
'';
gen-imgs.exec = ''
for e in moon star sleep; do
magick assets/''${e}_orig.png -resize 120x120 assets/$e.png
done
${genImgsPy}/bin/python gen-imgs.py
'';
};
};
};
}