-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2023-02-22 - asdf の rust clone である rtx の感触がとても良い #212
Comments
mise とかいう名前に変わってた |
今は asdf でも mise でもなく Nix を9割の用途に使っている。ワンバイナリではなく nix も package 無くて asdf plugin はあるみたいなごく一部の用途で便利だから mise はいつでも使えるようにしているんだけど、とはいえ 過去に作った plugin の #198 とか3つぐらいはもう自分で使う機会も殆ど無くなった。そもそも nixpkgs のカバー範囲は基本的にasdfより広いのでこういう用途はあんま発生しない。過去に出たのは crystalline ももうマージされたし、podman (あるけど動かない)ぐらいかなー。しかも podman はgoでバイナリ配布形態だし別に管理ソフト無くてもなんとかなりはする もう一個の方法が https://github.com/mise-plugins で、こっちは逆にガチガチに固める方向で一度移したらリポジトリのコミット権すら剥奪される。 どちらにせよ、今はプラグイン側でなるべく両対応させようとしてるけれど片方に移すともう片方に対する互換性維持みたいなのがいずれ捨てられるだろうというのがうーむだ |
コミット権は奪うけど、必要な更新PRは君たちが引き続き作り続けなさいという感じだとすると、引き渡す側のメリットは別にないような気もする・・・ |
https://github.com/orgs/mise-plugins/discussions/13 Done! ✅ asdf-plugins と renovate の登録名に関しても更新PRは送っておいたので、asdf関係の話をこれで忘れることが出来る・・・ とはならず、nixpkgs の podman が nixos 以外では動かないのに macos以外?は podman-remote を入れてくれないのでこの部分だけ(とはいうものの割とクリティカルな部分で)は使っているのだ・・・ |
後はツール本家がインストーラーを用意していない時にサクッと github actions で prebuilt binary をインストールしやすいということで、オーナーシップを手放した後で https://github.com/mise-plugins/asdf-yamlfmt をよく使う様になってきた。yamlfmt 本家だと go install でのやり方が紹介されているけど action でそれ使うと13秒かかるインストールが1秒ぐらいで済むようになるのと、そもそも yamlfmt は go 1.20 以上に上げたとき謎のバグ報告が相次いだから 1.8 にビルドを固定しているという事情があるので pre built のが一番安心感あるといえなくもない(nixpkgs側のgoはぽんぽんあがってしまっている) |
GitHub の仕組み上なのかリポジトリ移譲したあとも related レベルだと CI落ちのアラートとか上がってきて厄介なので完全通知オフにしないとだめだった。 最近増えたエラーは luizm/asdf-shellcheck@a2a1c48 で shellcheck 側のプラグイン側でパッチを取り入れてもらえたけれど、こんな感じの状態が続くと何も良いことが無いので完全通知オフの方が良さそう・・・ そういえば asdf の方はメンテナの方が golang で書き直してるから他を放置してる的な事書いてたけど、miseがある状態でasdf側を別言語でリライトするメリットがあんまよくわかってはいない |
大体の依存性管理を Nix で行うようになった。 8割方のユースケースがラクラク完了でとても重宝しているんだけど、たまに引っかかる
バグっぽい物に関しては大体 macos で引っかかるので、そもそも macos では必ず lima に入ってから使えば当面は凌げるのかなー。今メイン機としては使ってないし
しかし細分化されたバージョンスイッチに関しては仕様の話だと思うので、 https://github.com/bobvanderlinden/nixpkgs-ruby みたいなのをユースケース毎に個別に探さないといけないとなるとちょっと厄介なのでは。開発中バージョンのビルドとかも、最近は全然してないけどたまにやりたくなって出来ないとちょっと困る・・・
ビルド時間に関してはそもそもプロジェクトのコンパイルとかテストにそれなりの時間がかかるなら1分程度の増減は気にならないかもだけど、それまで5秒とかで終わってた物から見ると長く感じる
asdf とやっぱり併用かな~
と思ってた時に良さげなのを見つけた。 https://github.com/jdxcode/rtx 最近流行りの? rust で高機能なシングルバイナリ系で、 asdf の クローンを作ったという物みたい。
asdf 仕様で書かれた .tool-versions をそのままロードしつつ、asdf 向けに書かれた plugins をそのまま流用しながら、再設計されたコマンド体系で使わせてくれるらしい。実際使ってみるとかなり快適・・・ 個人的には
rtx exec
を使うと、rtx 経由でバージョン指定しながら対象ツールを使えるという機能が嬉しかった。メインではなくサブで asdf を使おうとしてる状態だと、これぐらいのノリで叩けるのが程よいかもgithub actions に関しては作成中っぽかったので自前でゴリゴリ書いてたんだけど、https://github.com/asdf-vm/actions の asdf-vm/actions/install 相当の物を丁度完成してくれたらしく、 乗り換えに不安が無さそうな状態に kachick/dotfiles#141 (comment)
plugin test に関しても、組み合わせればなんとでもなりそうだなー
The text was updated successfully, but these errors were encountered: