0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

WSL2上でRust開発環境を整える(1日目)

Posted at

Windowsはずっとゲーム機として使ってきたが、ちょっと思い立って開発環境を整えることにした。
とりあえずターミナルを快適に使えるところまで設定できればと思う。

Windowsでの作業

Windows Terminalをインストール

なにやら便利そうなので、Windows Terminal を入れる。

見た目は大事。
ここから好みのテーマを探す。
個人的には Monokai Cmder が好き。

参考にした記事はこちら

フォントのインストール

フォントは詳しくないが、個人的に見やすくNerd Fontもある白源フォントを使う。

インストールしたらWindows Terminalでフォントの設定をする。
「規定値 > 外観」のフォントフェイスを「HackGenNerd Console」に設定する。
image.png

Nerd Fontはアイコンが含まれたフォントで、基本的に文字を表示するターミナルを、リッチな見た目にするために必要なもの。

win32yankのインストール

ダウンロードして適当なフォルダに放り込む。
Windowsではパスは通さなくてOK。
https://github.com/equalsraf/win32yank/releases

WSL2を使用してUbuntuをインストール

昔いろいろ設定した気がするが、既にWSL2は有効になっていたのでUbuntuをインストールするだけで動いた。

wsl --install -d Ubuntu

最初から設定する場合は以下の記事が参考になるのではなかろうか。

Ubuntuでの作業

とりあえず、Debian系は何も考えず最初にaptの更新をする。

sudo apt update && sudo apt upgrade -y

zshのインストール

仕事用のmacOSのターミナルのログインシェルがzshなので、プライベートでもzshを使う。

sudo apt install -y zsh
chsh -s $(which zsh)

ターミナル再起動すればzshが起動する。
初回起動時に.zshrcを生成するための質問が表示されるが、今回はZimを使うので(0)を選ぶ。

ビープを消す

とにかくうるさいのでビープ音を消していく

/etc/inputrc
# 21行目付近
# 元々コメントアウトされているので有効化する
set bell-style none
~/.zshrc
# 最終行に追加
setopt no_beep
export LESS="$LESS -R -Q"
/etc/vim/vimrc
# 最終行に追加
set visualbell t_vb=

Zimをインストール

curl -fsSL https://raw.githubusercontent.com/zimfw/install/master/install.zsh | zsh

Zimは初めて使うのでよくわからないが、なんとなくerinerが見た目キレイなので使ってみる。
Zimプラグイン?は.zshrcではなく.zimrcに設定を書くようだが、どこに追加したら良いかよくわからない。
とりあえず最終行に追加してみる。
prompt-pwdはerinerのみを追加したときにエラー出たので追加。

~/.zimrc
# 最終行に追加
zmodule eriner
zmodule prompt-pwd

設定を追加したら以下のコマンドでインストールして、シェルを再起動する

zimfw install
exec $SHELL -l

参考にした記事はこちら

少しだけ使ってみたけど、コマンドの終了コードが0以外の場合にインデントがずれてしまうのが気に食わない。
image.png

取り急ぎ、×の表示だけコメントアウトしちゃう。

~/.zim/modules/eriner/eriner.zsh-theme
...

_prompt_eriner_status() {
  local segment=
  # このコードのせいでインデントがずれるのでコメントアウト
  # if (( RETVAL )) segment+=' %F{red}✘'
  if (( EUID == 0 )) segment+=' %F{yellow}⚡'
  if (( $(jobs -l | wc -l) )) segment+=' %F{cyan}⚙'
  if (( RANGER_LEVEL )) segment+=' %F{cyan}r'
  if [[ -n ${VIRTUAL_ENV} ]] segment+=" %F{cyan}${VIRTUAL_ENV:t}"
  if [[ -n ${SSH_TTY} ]] segment+=" %F{%(!.yellow.default)}%n@%m"
  if [[ -n ${segment} ]]; then
    _prompt_eriner_segment ${STATUS_COLOR} "${segment} "
  fi
}

...

ファイル修正後はシェルの再起動が必要

exec $SHELL -l

fzfのインストール

findと組み合わせたり、コマンド履歴検索が楽になったり。
ファジー検索なので脱字しても問題なく検索できるのがとても良い。
aptでもインストールできるが、キーバインドの取り込みがアレだったのでgit cloneして使う。

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

fd-findのインストール

今回の自分の目的はRustの開発環境を整えることなので、fd-findはCargoでインストールするが、一応aptでインストールする方法も記載しておく。
ただ、Cargoでインストールした場合と異なり、fdコマンドではなくfdfindコマンドになってしまいfzfで参照できなさそうなのでシンボリックリンクを作る必要がある。

sudo apt install fd-find
sudo ln -s $(which fdfind) /usr/local/bin/fd

Rustのインストール

開発セットをインストール

sudo apt install -y build-essential

コマンド一発。とても楽。

curl https://sh.rustup.rs -sSf | sh

# .zshrcに設定を追加
echo 'source $HOME/.cargo/env' >> ~/.zshrc
source ~/.zshrc

# 以下が実行できれば大丈夫そう
cargo --version
rustc --version

個人開発なら問題なさそうだけど、チーム開発するならバージョン指定やバージョン切り替えが必要なのでasdfとかで入れた方が良いのかもしれない。

ついでにfd-findも追加

cargo install fd-find

とりあえず今日はここまで。
明日はwin32yank.exeを使えるようにする予定。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?