WSLのクリーンインストールして環境構築するまで

2024-12-30

はじめに

環境が散らかってきたので WSL をクリーンインストールすることにした。
毎回手順をググってやるのがめんどくさすぎるのでメモとして残すことにした。

やること

  • WSL のクリーンインストール
  • Homebrew を入れる
  • ZSH を設定する

WSL のクリーンインストール

ここを参考にコマンドを打つ。

01.WSL2 のクリーンインストール|VSCode で極力手を抜いて開発するハンドブック

wsl --list --verbose
wsl --unregister Ubuntu
wsl.exe --list --online
wsl.exe --install Ubuntu

wsl.exe --install Ubuntu で Ubuntu を確認してからインストールする。

そうしたら WSL を起動していつものやつをいれる。

sudo apt update 
sudo apt upgrade

Homebrew いれる

公式のコマンドを叩く。

Homebrew

叩いたらパスを入れるように言われる。

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/sotono/.bashrc
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

現在のシェルは bash だが最終的に zsh にする。
けど、両方に入れておいたほうがトラブル少ない気がするので bash にも書いておく。

(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/sotono/.bashrc

ZSH を設定する

兎にも角にも zsh 本体をインストール。

sudo apt install zsh
chsh -s $(which zsh)
(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/sotono/.zshrc

なんか VScode の設定で Linux のプロファイルを明示的に指定しないと、
VScode のターミナルで zsh に切り替わらなかったので VScode の設定に下記を追記。

{
  "terminal.integrated.defaultProfile.linux": "zsh"
}

シェルを再起動して ZSH になることを確認。

今のところ見た目がよろしくないので設定。
名前が好きなので starship を使います。

Starship: Cross-Shell Prompt

brew install starship
(echo; echo 'eval "$(starship init zsh)"') >> /home/sotono/.zshrc
mkdir -p ~/.config && touch ~/.config/starship.toml

starship.toml はとりあえず下記のようにします。

[character]
format = "[⚡️](bold green) "
success_symbol = "[⚡️](bold green) "
error_symbol = "[⚡️](bold red) "

[directory]
format = "[$path]($style)[$read_only]($read_only_style) "
truncation_length = 4
truncate_to_repo = false
truncation_symbol = "…/"

[git_status]
disabled = true

[hostname]
disabled = true

[time]
disabled = false
time_format = "%Y-%m-%d %H:%M"
utc_time_offset = "+9"

[username]
disabled = true

[git_status]
conflicted = "💥"
ahead = "🏎💨"
behind = "🥲"
diverged = "😵"
untracked = "🌚"
stashed = "📦"
modified = "📝"
staged = '🔦'
renamed = "🏷"
deleted = "🗑"

結果

よし、可愛くなった。Done.

おわりに

とりあえず見た目が気に入らなければ動きたくない人間なので、見た目を整えれたのはでかいです。

本当は dotfiles とかで管理したほうが良いんだと思いますが、まあそれはおいおい対応します。

では。