Change emoji of prompt by each host name

.zshrcをDropboxに置いて、そこにシンボリックリンクを貼ることでどのマシンでも同じ環境になるようにしている

その代償として、ぱっと見どのホストにいるのかわかりづらくなった(自分の場合host名が違うけど、ぱっと見文字の違いって案外わかりづらい。そこ以外色とか同じだし)

ので、プロンプトに絵文字を置いて、ホストごとにその絵文字が変わるように雑に設定した

Solution

こんなかんじでhostnameコマンドでホスト名拾って自分の各マシンのホスト名ごとに条件分岐している

あと、絵文字のコード見ても何の絵文字かさっぱりなのでコメントで絵文字名を入れている

どれにも一致しない場合は、ブタ鼻!

if   [[ $(hostname | cut -d'.' -f1) == 'hogehoge' ]]; then
  local emoji=$'\xF0\x9F\x8D\xA3' # sushi
elif [[ $(hostname | cut -d'.' -f1) == 'piyopiyo' ]]; then
  local emoji=$'\xF0\x9F\x8D\x84' # mushroom
else
  local emoji=$'\xF0\x9F\x90\xBD' # pig_nose
fi

これでPROMPT="$emoji %F{cyan}%n@%m%f $ "みたいに指定すれば、ホストごとに異なる絵文字がプロンプトに表示される

ホスト名どのマシンも同じだよ!って人はマシンごとに.individualityみたいなの用意してif [[ $(hostname | cut -d'.' -f1) == 'hogehoge' ]];の部分変えて分岐作ればいいんじゃないですかね(適当)

Result

ホストごとに絵文字が変わる

かわいいでしょ〜♡