51 lines
1.3 KiB
Nix
51 lines
1.3 KiB
Nix
{ pkgs ? import <nixpkgs> {} }:
|
|
|
|
with pkgs; let
|
|
py4McuBoot = python3.withPackages (ps: with ps; [
|
|
cbor
|
|
intelhex
|
|
click
|
|
cryptography
|
|
pillow
|
|
]);
|
|
lv_img_convWrapper = pkgs.writeScriptBin "lv_img_conv" ''
|
|
npm install lv_img_conv
|
|
nodejs node_modules/lv_img_conv/lv_img_conv.js
|
|
'';
|
|
buildInfinitime = pkgs.writeScriptBin "build-infinitime" ''
|
|
mkdir -p build/
|
|
cmake -DARM_NONE_EABI_TOOLCHAIN_PATH=$ARM_NONE_EABI_TOOLCHAIN_PATH \
|
|
-DNRF5_SDK_PATH=$NRF5_SDK_PATH \
|
|
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
|
|
-DBUILD_DFU=$BUILD_DFU \
|
|
-DBUILD_RESOURCES=$BUILD_RESOURCES \
|
|
-DTARGET_DEVICE=$TARGET_DEVICE \
|
|
-S . -B build
|
|
cmake --build build -j6
|
|
'';
|
|
in mkShell {
|
|
packages = [
|
|
gcc-arm-embedded-10
|
|
nrf5-sdk
|
|
cmake
|
|
nodePackages.lv_font_conv
|
|
lv_img_convWrapper
|
|
# lv_img_conv
|
|
nodejs
|
|
py4McuBoot
|
|
clang-tools
|
|
SDL2
|
|
libpng
|
|
adafruit-nrfutil
|
|
buildInfinitime
|
|
# watchmate # wish this worked -- use flatpak run io.gitlab.azymohliad.WatchMate
|
|
];
|
|
|
|
ARM_NONE_EABI_TOOLCHAIN_PATH="${gcc-arm-embedded-10}";
|
|
NRF5_SDK_PATH="${nrf5-sdk}/share/nRF5_SDK";
|
|
CMAKE_BUILD_TYPE="Release";
|
|
BUILD_DFU=1;
|
|
BUILD_RESOURCES=1;
|
|
TARGET_DEVICE="PINETIME";
|
|
}
|