{ 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 ''; }; }; }; }