valconomy/firmware/default.nix

40 lines
1012 B
Nix
Raw Normal View History

2024-11-30 21:08:22 +00:00
{
2024-12-12 01:19:02 +00:00
perSystem = { libMy, pkgs, ... }:
let
genImgsPy = pkgs.python3.withPackages (ps: with ps; [ pillow ]);
in
{
2024-11-30 21:08:22 +00:00
devenv.shells.firmware = libMy.withRootdir {
packages = with pkgs; [
esp-idf-esp32s3
picocom
2024-12-11 21:18:18 +00:00
lv_font_conv
2024-12-13 04:01:54 +00:00
imagemagick
2024-11-30 21:08:22 +00:00
];
env = {
# PICO_SDK_PATH = "${pkgs.pico-sdk}/lib/pico-sdk";
};
scripts = {
init.exec = ''
idf.py set-target esp32s3
'';
2024-12-11 21:18:18 +00:00
gen-fonts.exec = ''
2024-12-13 02:29:01 +00:00
for s in 40 180; do
2024-12-11 21:18:18 +00:00
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
'';
2024-12-13 04:01:54 +00:00
gen-imgs.exec = ''
2024-12-13 16:32:53 +00:00
for e in moon star sleep; do
magick assets/''${e}_orig.png -resize 120x120 assets/$e.png
done
2024-12-13 04:01:54 +00:00
${genImgsPy}/bin/python gen-imgs.py
'';
2024-11-30 21:08:22 +00:00
};
};
};
}