年末ターミナル大掃除〜Alacritty導入編〜
年末でわりと時間もあるし、やっておくか。くらいの軽い気持ちで始めてみました。
あまり技術的な話はなく、雑記程度のものと思っていただければと思います🙏
なお環境は、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 を参考にしてください)
-
.zsh_functions
を.zshrcと同じ階層に作成(ない場合) -
$fpath
に1で作成したディレクトリへのpathを追加 -
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あたりの設定も見直していこうかなと思います。
参考:
Discussion