🚀

年末ターミナル大掃除〜Alacritty導入編〜

2022/12/25に公開

年末でわりと時間もあるし、やっておくか。くらいの軽い気持ちで始めてみました。
あまり技術的な話はなく、雑記程度のものと思っていただければと思います🙏

なお環境は、MacBooc(intel)です。

ターミナルエミュレーターアプリ

僕は今まで Hyperを使っていました。
Vercel製のTerminalアプリでなんとなくイケてそう、くらいの理由で使っていたのですが、大してカスタマイズもしておらず、HotKey呼び出しくらいのために利用していました。
AlacrittyというRust製のターミナルエミュレーターが気になっているため、今回はそちらに移行しようかなと思います。

Alacritty導入

こちらのページ を参考にmanual installを試してみます。

リポジトリをcloneし、移動します。

git clone https://github.com/alacritty/alacritty.git
cd alacritty

ここで必要があれば rustup をinstallします。僕の環境ではすでに入っているのでここは飛ばしました。
念の為手順に従い、下記のコマンドを実行しrustupを最新に更新します。

rustup override set stable
rustup update stable

手順にしたがい、下記のコマンドを実行してビルドします。

make app

ビルド後、Applicationsディレクトリにコピーします。

cp -r target/release/osx/Alacritty.app /Applications/

無事、Alacrittyを導入できました。まだまだ設定がたりていなさそうな見た目をしています。可愛いですね。

あとこれはめちゃくちゃどうでも良いのですが、Alacrittyの綴り難しくないですか...
読み方は「アラクリッティ」であっているのか...

Alacritty導入後

install手順書によると、install後も正常に動作させるためにいくつかの確認が必要なようなのでやっていきます。

Terminfo

alacrittyか、alacritty-directというterminfoが必要なようです。

infocmp alacritty

を実行するとエラーが帰ってきてしまったので、下のコマンドでinstallしておきます。

sudo tic -xe alacritty,alacritty-direct extra/alacritty.info

Manual Page

Manual pageを下のコマンドでinstallしました。

sudo mkdir -p /usr/local/share/man/man1
gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
gzip -c extra/alacritty-msg.man | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null

自動補完の設定

Alacrittyの自動補完を使うには追加設定が必要なようです。(例はzshの場合です。他シェルを利用している場合は、https://github.com/alacritty/alacritty/blob/master/INSTALL.md を参考にしてください)

  1. .zsh_functions を.zshrcと同じ階層に作成(ない場合)
  2. $fpathに1で作成したディレクトリへのpathを追加
  3. cp extra/completions/_alacritty ${ZDOTDIR:-~}/.zsh_functions/_alacritty を実行

ようやくinstallが完了したので、諸々設定していきます。

Alacrittyの設定

Alacrittyはinstall時には設定ファイルは作成しないらしく、自分で下記のいずれかに作成する必要があるようです。

  • $XDG_CONFIG_HOME/alacritty/alacritty.yml
  • $XDG_CONFIG_HOME/alacritty.yml
  • $HOME/.config/alacritty/alacritty.yml
  • $HOME/.alacritty.yml

設定ファイルの雛形はリリースページから取得できました。(alacritty.yml)

雛形を対象ディレクトリにコピーし、設定していきます。

font

powerlevel10kのアイコンがtofuになっちゃっているのでこれを解消していきます。
fontでgrepすると該当箇所があったので、こんな感じで設定してみました。

# Font configuration
font:
  normal:
    family: "Hack Nerd Font"
    style: Regular
  bold:
    family: "Hack Nerd Font"
    style: Bold
  italic:
    family: "Hack Nerd Font"
    style: Italic
  bold_italic:
    family: "Hack Nerd Font"
    style: Bold Italic

  # Point size
  size: 11.0

True color

こちらの記事 を参考にさせていただきました🙏
alacritty.ymlに下記を設定し、true colorの設定は完了です。

 env:
   TERM: xterm-256color

Theme

Alacritty Themeを入れていきます。
いくつかやり方があるそうなのですが、手軽なyamlの内容をコピーして貼り付ける、で設定しました。
Themeは慣れ親しんだHyperにしました。いろいろなThemaが用意されているので、後で色々試してみたいですね。

おわり

ようやくAlacrittyの設定は完了かなと思うので、続いてzsh, tmux, vimあたりの設定も見直していこうかなと思います。

参考:
https://www.pandanoir.info/entry/2019/11/02/202146
https://yiskw713.hatenablog.com/entry/2022/05/20/203540

Discussion