1{
2 lib,
3 buildFHSEnv,
4 arduino-core-unwrapped,
5 withGui ? false,
6 withTeensyduino ? false,
7}:
8let
9 arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; };
10in
11buildFHSEnv {
12 pname = "arduino";
13 inherit (arduino-core-unwrapped) version;
14
15 targetPkgs =
16 pkgs:
17 (with pkgs; [
18 ncurses
19 arduino-unwrapped
20 zlib
21 (python3.withPackages (
22 p: with p; [
23 pyserial
24 ]
25 ))
26 ]);
27
28 extraInstallCommands = ''
29 ${lib.optionalString withGui ''
30 # desktop file
31 mkdir -p $out/share/applications
32 cp ${arduino-core-unwrapped.src}/build/linux/dist/desktop.template $out/share/applications/arduino.desktop
33 substituteInPlace $out/share/applications/arduino.desktop \
34 --replace '<BINARY_LOCATION>' "$out/bin/arduino" \
35 --replace '<ICON_NAME>' "$out/share/arduino/icons/128x128/apps/arduino.png"
36 # icon file
37 mkdir -p $out/share/arduino
38 cp -r ${arduino-core-unwrapped.src}/build/shared/icons $out/share/arduino
39 ''}
40 '';
41
42 runScript = "arduino";
43
44 meta = arduino-core-unwrapped.meta;
45}