WSL2 の開発環境を自動構築するセット
以前は、 WSL2 に都度コマンドを打って環境構築していたが似たような環境が複数必要になるため自動化し環境構築にかかる時間を省力化した。
- CLI commands
- bash
- ca-certificates
- curl
- git
- gpg-agent
- man
- mtr
- nano
- sudo
- tcpdump
- traceroute
- unzip
- vim
- wget
Common software | Latest software version |
---|---|
Docker Engine | |
fish-shell | |
asdf | |
mame/wsl2-ssh-agent |
asdf Plugins | asdf Plugin URL | Latest software version |
---|---|---|
assh | zekker6/asdf-assh | |
aws-cli | MetricMike/asdf-awscli | |
fzf | asdf-fzf | |
ghq | kajisha/asdf-ghq | |
poetry | asdf-community/asdf-poetry | |
python | danhper/asdf-python | |
rust | code-lever/asdf-rust | |
aws-sam-cli | amrox/asdf-pyapp | |
starship | gr1m0h/asdf-starship | |
Terraform | asdf-community/asdf-hashicorp | |
Tmux | aphecetche/asdf-tmux |
Rust Tools | Latest release |
---|---|
dua-cli | |
ripgrep | |
topgrade |
Windows Terminal
などで PowerShell を開き下記のコマンドを投入すると最新の GitHub Releases から WSL2 イメージを取得し WSL に登録します
powershell -ExecutionPolicy Unrestricted -Command "Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/naa0yama/devtool-wsl2/main/devtool.ps1' -OutFile 'devtool.ps1'; .\devtool.ps1"
フラグオプションをいくつか用意しています
-skipWSLImport
- WSL へ
Import
を実施しません。 - ダウンロードのみを実施し、スクリプト終了時のダウンロードフォルダークリーンアップ処理も実施しません。
- WSL へ
-skipWSLDefault
- WSL へ
Import
した場合にwsl --set-default <DistributionName>
の実行をしません
- WSL へ
Important
-ImportForce
- 同じ tag の WSL イメージが登録されている場合、登録解除(
wsl --unregister
)を実施し強制的に更新します WSL イメージは削除されますので注意してください
- 同じ tag の WSL イメージが登録されている場合、登録解除(
Import 結果を確認します
dwsl2-<tag>
があれば Import 出来ています。
wsl -l -v
> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
dwsl2-8718ff1 Stopped 2
Ubuntu Stopped 2
実際に起動してみます。
このセクションではデフォルトに設定してないためディストリビューション指定で起動します。
起動出来ると Bash が起動します。
wsl -d dwsl2-8718ff1
user@dead-desk1:~$
asdf が使えるか確認しておきましょう。
asdf current
で確認出来ます。
> asdf current
assh 2.16.0 /home/user/.tool-versions
aws-sam-cli 1.115.0 /home/user/.tool-versions
awscli 2.15.19 /home/user/.tool-versions
fzf 0.50.0 /home/user/.tool-versions
ghq 1.6.1 /home/user/.tool-versions
poetry 1.7.1 /home/user/.tool-versions
python 3.10.12 /home/user/.tool-versions
rust stable /home/user/.tool-versions
starship 1.18.2 /home/user/.tool-versions
terraform 1.1.3 /home/user/.tool-versions
tmux 3.4 /home/user/.tool-versions
この手順では default に設定していないためディストリビューションを指定して起動する必要があります。
手間を省くために defualt に設定すると wsl
コマンドで起動してくる事になります
下記の例では dwsl2-8718ff1
を defualt に設定します。
*
の付いている物が default 起動の WSL です。
> wsl -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
dwsl2-8718ff1 Stopped 2
Ubuntu Stopped 2
> wsl -s dwsl2-8718ff1
この操作を正しく終了しました。
> wsl -l -v
NAME STATE VERSION
* dwsl2-8718ff1 Stopped 2
Ubuntu-22.04 Running 2
Ubuntu Stopped 2
登録解除の場合は下記で ディストリビューションを停止してから --unregister
を実施します
wsl -t dwsl2-8718ff1
wsl --unregister dwsl2-8718ff1