今日やったこと
Gleam
久々にissueが来てたのでその対応をしていた。
Gleamのiconv wrapperも作ろうとしたけど、wrapする予定だったライブラリが思ったよりも簡単に使えるっぽくてあんまりwrapする旨味がないと感じたので闇に葬った。 次何か作るとしたらmiddle ware詰め合せセットとかかなぁ〜
Nix
GleamのNix overlayがないことに気が付いたのでどうやって作るか検証していた。
RustパッケージをビルドすることになるのでcargoHashが必要なのだけど、それをどうやって自動的に算出させるかがキモだと感じている。
色々調べたところrustPlatform.fetchCargoVendor
という関数を使うと、普通のhashさえ分かればNix側で動的に生成できるっぽいのでPythonでGitHub ReleasesからURLを取得して、nix-prefetch-url
でhashを算出した後JSONに書き出すスクリプトを書いた。
これで生成したJSONをNix側で読み込んで、fetchCargoVendorでcargoHashを生成しつつパッケージを生成すればいけると思う。
Emacs
良い感じになってきた pic.twitter.com/Kh5Nq7YvcK
— こまもか🦊 (@Comamoca_) March 19, 2025
Emacsをいじっていた。
emacs-dashboardで良い感じの画面を作っていた。
その過程でこういうオシャレなロゴを見つけた。そのままだと大きかったので、SVG->PNGしつつ画像サイズを1/2にするPythonスクリプトを書いて自動的にリサイズしたものが所定のディレクトリに保存されるようNixで設定した。
その時にwriters.writePython3Bin
っていう便利関数を見つけた。あとこの関数を使うとビルド事にpep8のチェックが入るので予めフォーマットをかけておくと良い。 注意点として、行の幅に制約があるのでbalckじゃなくてautopep8等のフォーマッタを使った方がスムースにビルドできる。
明日以降やりたいこと
鍵の引き渡しで東京にいくので作業はできなさそう。 最近興味が湧くネタが見付からなくてもんにょりした日々を送っているのでネタ探しをしていきたい。