🐧

開発環境 on WSL2 で生きていく

2024/06/02に公開

Terminal

Windows Terminalを入れる
https://apps.microsoft.com/detail/9n0dx20hk701?rtc=1&activetab=pivot%3Aoverviewtab&hl=ja-jp&gl=JP

WSL

powershell とかで
wsl --install

user / pass 入力を求められるのでここで決める。これはUbuntuのパスワードとなる

asdf

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0

echo '. "$HOME/.asdf/asdf.sh"' >> .bashrc
echo '. "$HOME/.asdf/completions/asdf.bash"' >> .bashrc
  
source .bashrc

python

sudo apt update
sudo apt upgrade

asdf plugin add python

#ubuntu 24
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev

#ubuntu 22
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl \
libncurses-dev xz-utils tk-dev libffi-dev liblzma-dev

asdf install python 3.10.14
asdf list python
# 結果がおかしければ
asdf reshim python
asdf global python 3.10.14

poetry

curl -sSL https://install.python-poetry.org | python3 -
echo 'export PATH="/home/imaoka/.local/bin:$PATH"' >> .bashrc
source .bashrc

gcloud

curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-477.0.0-linux-x86_64.tar.gz
tar xf google-cloud-cli-477.0.0-linux-x86_64.tar.gz
./google-cloud-sdk/install.sh
rm -rf google-cloud-cli-477.0.0-linux-x86_64.tar.gz

gcloud auth login
gcloud config set project pj-hoge

GPG(import)

gpg4winにてすでに秘密鍵は持っている前提で書いてる。インストールしてないなら先に入れる
秘密鍵は、WSLにも差し込まないとだめっぽいので、秘密鍵をエクスポートしてローカルに保存しておく
保存した秘密鍵をWSL内にコピーする

# 自分の環境に合わせて
cp /mnt/c/User/[your]/Download/my-private-key.asc .
# 秘密鍵インポート&信頼する
gpg --import my-private-key.asc
gpg --list-secret-keys --keyid-format LONG
# key-id をメモしておく
gpg --edit-key [key-id]
 > trust
 > 5 (select)
 > quit

GPG agent

GPGのパスフレーズ入力をどこでやるかの設定。もうLinuxの世界で生きていくならexport GPG_TTY=$(tty)にすれば良い。
git操作とかも VS-Codeに依存するならば、Gpg4win の pinentry を使う。
EditorはVIMを前提のコマンドにしているが、nanoでも何でもOK。

vim ~/.gnupg/gpg-agent.conf

中身は

# pinentry
pinentry-program /mnt/c/Program Files (x86)/Gpg4win/bin/pinentry.exe

git config

git config --global user.name "hoge.fuga"
git config --global user.email "hoge@example.com"
git config --global user.signingkey [key-id]
git config --global commit.gpgSign true

Discussion