40 lines
1012 B
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
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|