/wsl2_conf

WSL2 Config

Primary LanguageVim Script

ArchLinux on WSL2

インストール後最初にやること

Mirror listの変更

sed -i.dist \
    -e 's/^Server/#Server/g' \
    -e 's!#Server = \(https\?://.*\?\.jp\)!Server = \1!g' \
    /etc/pacman.d/mirrorlist
sudo pacman -g

PGP鍵の設定

# keyringの初期化
pacman-key --init
 
# keyringのインストール
pacman-key --populate
 
# keyringの更新
pacman -Syy archlinux-keyring

作業用ユーザの作成

export Username=[Username]
 
# ユーザー作成
useradd -md /home/$Username $Username
 
# sudoの設定
cat <<EOT > /etc/sudoers.d/$Username
$Username ALL=(ALL) NOPASSWD: ALL
Defaults:%$Username !requiretty
Defaults:%$Username env_keep += SSH_AUTH_SOCK
EOT
 
chmod 440 /etc/sudoers.d/$Username
 
# パスワードの設定
passwd $Username
  • Powershellで下記を実行し、デフォルトユーザを変更
PS> .\Arch.exe config --default-user [Username]

色々インストールする

> sudo pacman -Syyu
> sudo pacman -S git wget tree nodejs npm neovim zsh tig tmux exa bat openssh pkg-config gcc
> chsh -s /bin/zsh
> mkdir ~/.ssh && cd ~/.ssh && ssh-keygen
> chmod 600 id_rsa*
  • 上記の鍵はgithubに登録する。

Dot Filesの設定

> cd
> mkdir ~/.config
> git clone git@github.com:web3ten0/wsl2_conf.git
> ln -s wsl2_conf/.zshrc .
> ln -s wsl2_conf/.tmux.conf .
> tmux source-file ~/.tmux.conf
> ln -s wsl2_conf/.gitconfig .
> ln -s wsl2_conf/.tigrc .
> ln -s wsl2_conf/.vimrc .
> ln -s wsl2_conf/.zprofile .
> mkdir ~/.config/nvim
> ln -s wsl2_conf/init.vim ~/.config/nvim/.
> sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
> nvim
  • nvimが開いたら、:PlugInstallを実行。

Dockerを作業用ユーザが操作できるようにする

> sudo gpasswd -a $(whoami) docker
> sudo chgrp docker /var/run/docker.sock

node, npm, nのインストール・設定

  • 作業用ユーザが操作できるようにする
> cd && mkdir .npm-global
> npm config set prefix=$HOME/.npm-global 
> npm i -g n
> vim .zprofile
  • .zprofileに下記を追加
export N_PREFIX=$HOME/n
export PATH=$PATH:$N_PREFIX/bin:$HOME/.npm-global/bin
  • 続き
> n latest
> n lts
> sudo pacman -R nodejs npm
  • 上記は、依存しているプログラムを消さないとダメだよエラーが出るので、全部消した上で、改めて上記を実行して、nodejsとnpmを削除する。
  • nを入れているので、あとはnでNode.jsとnpmを入れる。