Rust(ESP32) x Nix
RustのESP32環境をNixで整えようと頑張っていた。
svelterust/esp32が古い問題は自分のforkで毎日Nixを更新する変更を加えたので解決した。
この際nvfetcherを使おうとしたのだけど、Dockerまわりの処理が壊れていて1時前でなんとかすることにした。
Nix式の生成はnixpkgsにnix-prefetch-dockerという便利な代物があったので それでJSONを吐かせた後、予め用意しておいたNix式が書かれたteraのテンプレをtera-cliを使って有効なNix式を生成するという方法を取っている。
やり方は概ねnvfetcherだし、生成するNix式もそれを使うNix式もnvfetcherを参考にしたので、実質nvfetcher。 自分のdotfilesも未だnvfetcherに対応させてないので、そのあたりも対応させて自動化を進めていたい。
あとRust(ESP32)をNixで構築するのが普通にキツくなってきたので、諦めてespupに委ねようかと思い始めた。
明日以降やりたいこと
RustでESP32やるよりNimの方がCの資産を有効に使えて、Nixでも扱いやすくて良いんじゃないかと思い始めた。 Rust以外の方法も考えていきたい。(でもCは使いたくないのでギリギリまで粘るつもり)
Nixで管理できるメリットを優先するか、言語を優先するかはかなり悩ましい...