シェルのプロンプトをstarshipにしている & cargo-ebuildがすごい

fishを使いはじめた | けんちゃんくんさんのWeb日記 にあるように、プロンプトは独自のものを作って使っていたのだけど、少し前から starship/starship: ☄🌌️ The cross-shell prompt for astronauts. というやつを使っていた。

しばらくデフォルトで使っていたのだけど、いろいろカスマイズできるところが増えてきたので、順番をかえたりいらないモジュールをオフったりしてみたりした。

設定はこちら https://github.com/kenchan/dotfiles/blob/master/config/starship.toml

また、gentooでstarshipを使おうと思うとoverlayに1つだけメンテされてそうなebuildがあるのだけど、せっかくなので自分で作ったりしている。

kenchan/portage-overlay: My Personal Portage Overlay

Rustのeclassって、必要なライブラリを依存するものも含めて全部をバージョン込みで記載する必要があって、このフォーマットがCargo.lockとも微妙に違うので、awkを使って掃き出させたりしていたんだけど、cardoe/cargo-ebuild っていうはちゃめちゃ便利そうなやつを見つけて興奮したりした。cargo-debみたいなのもあるらしく、Rustすごいなぁ。

ちなみに、awkのワンライナーはこんなかんじ。苦しい。

grep checksum Cargo.lock | grep -o -E " \S+ \S+ " | awk -F' ' '{print $1 "-" $2}'