Build arduino sketches like any other nix derivation.
Look at examples/
for how to use it.
Create a nix file that looks something like this:
{ board, pkgs ? import <nixpkgs> {} }:
pkgs.callPackage ../../arduino.nix { } { # path to arduino.nix from this repository
name = "blink"; # name you want for the derivation
board = board; # board name, added to the name
# in this case it is from the command line, but you can also set it here
libraries = []; # libraries from arduino-core, valid names below
src = pkgs.lib.cleanSource ./.; # path to the arduino files, passed to the derivation
}
Then run this: nix-build path/to/file.nix --argstr board "uno"
Or whatever the board is, valid options below. Note that we can do this because the nix file accepts it as an argument.
uno
leonardo
mega
Ethernet
EEPROM
Firmata
GSM
LiquidCrystal
SD
Servo
SPI
SoftwareSerial
Stepper
TFT
WiFi
Wire
This is a work in progress