Nixduino: build arduino sketches using nix

I have created a proof of concept for a system to build arduino sketches like any other nix derivation. It can build for different boards using arduino-makefile.
The next things to do, are to add support for libraries and add an optional wrapper script to flash the binary.
Here is the repository: GitHub - boredom101/nixduino: Nix based tool to help build arduino sketches.
And here is a demonstration using github actions: https://github.com/boredom101/nixduino/runs/2169966303 (notice how it caches builds in the workflow)
Does this look useful? If so, what do you want added?

4 Likes

I have improved the documentation and confirmed including libraries worked.
I was wondering if it would make sense to add this project to the nix-community organization on GitHub.

At the very least to GitHub - nix-community/awesome-nix: 😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]

2 Likes

Good call, I created a pull request

I’m definitely all for adding more stuff to that awesome list. The more stuff people have used and find awesome, the better.

I am thinking about adding support for not avr arduinos, but this will require writing new makefiles to replace https://github.com/sudar/Arduino-Makefile. Is this something people would use? If so, I will try to implement it, but otherwise it feels like too much work.

In case you didn’t already know the project: arduino-copilot from Joey Hess tries to achieve something similar atop the copilot haskell DSL.