ArchWSL [1][2][3]ยถ
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
wsl --set-default-version 2
wsl --update --web-download
scoop install archwsl
arch
passwd
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
useradd -m -G wheel -s /bin/bash <username>
passwd <username>
exit
arch config --default-user <username>
arch
Use repository mirror [4]:
sudo vim /etc/pacman.conf
[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
sudo vim /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
# sudo pacman -Sy archlinux-keyring
# sudo pacman-key --init
# sudo pacman-key --populate archlinux
sudo pacman -Sy archlinuxcn-keyring
sudo pacman-key --init
sudo pacman-key --populate
sudo pacman -Syyu
sudo pacman -S --needed base-devel
Install Optsยถ
sudo pacman -S <pkg>
sudo pacman -Syu yay
yay -S <pkg>
yay -S paru
paru <pkg>
For example:
sudo pacman -S \
asciinema \
atuin \
bat \
cargo \
chezmoi \
cmus \
cronie \
curl \
docker \
docker-compose \
eza \
fd \
fzf \
git \
github-cli \
harper \
neovim \
newsboat \
nvm \
openssh \
pandoc-cli \
pnpm \
presenterm \
python-pipx \
rust \
rbenv \
sdcv \
starship \
tere \
tldr \
texlab \
tmux \
tmuxinator \
translate-shell \
uv \
wget \
yq \
zsh
# go
yay -S --noconfirm \
act \
gvm \
lazydocker-bin \
paru \
ruby-build \
texlive-installer \
win32yank
pipx install deep-translator pip_search
cargo install autocast grex pipe-rename tidy-viewer trashy
pnpm add -g clean-css html-minifier js-beautify prettier svgo terser
pnpm add -g degit echo-cli npms-cli markserv open-cli png-to-ico serve
Remove Windows 10โs PATH [5][6]ยถ
Edit ~/.wslconfig
:
[interop]
appendWindowsPath = false
Install fontsยถ
mkdir -p ~/.local/share/fonts
mv <font> ~/.local/share/fonts/
fc-cache -fv
D-Bus [7]ยถ
# sudo pacman -S dbus
sudo mkdir /run/dbus -p
sudo dbus-daemon --system
systemd/systemctl [7]ยถ
vim /etc/wsl.conf
[boot]
systemd=true
WSLgยถ
ln -s /mnt/wslg/runtime-dir/wayland-0* /run/user/1000/
On Windows:
Edit ~/.wslconfig
[wsl2]
guiApplications=false