Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Configure WSL

Update & Clean all packages:

Terminal window
sudo apt update && \
sudo apt upgrade -y && \
sudo apt autoremove -y && \
sudo apt clean

Install development tools & system utilities:

Terminal window
# Install Git, cURL, wget, unzip, tree, htop
sudo apt update && \
sudo apt install -y git curl wget unzip tree htop && \
sudo apt clean

Install GitHub CLI:

Terminal window
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) && \
sudo mkdir -p -m 755 /etc/apt/keyrings && \
out=$(mktemp) && \
wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg && \
cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null && \
sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null && \
sudo apt update && \
sudo apt install gh -y

Install jq:

Terminal window
# Install jq
sudo apt install -y jq

Install yq:

Terminal window
# Download latest release
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
-O /usr/local/bin/yq && \
sudo chmod +x /usr/local/bin/yq

Install 7-Zip CLI:

Terminal window
# Verify the version at https://7-zip.org/download.html
SEVENZIP_DOWNLOAD_URL='https://7-zip.org/a/7z2409-linux-x64.tar.xz'
rm -rf ./7ztmp && \
mkdir -p ./7ztmp && \
wget "$SEVENZIP_DOWNLOAD_URL" -O - | tar -xJf - -C ./7ztmp && \
sudo mv ./7ztmp/7z* /usr/local/bin/ && \
sudo chmod +x /usr/local/bin/7z* && \
rm -rf ./7ztmp

Install Docker:

Terminal window
sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null
sudo apt update && \
sudo apt install -y ca-certificates curl gnupg lsb-release && \
sudo mkdir -m 0755 -p /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && \
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
# Relogin to apply group changes
su "$(id -un)"
docker run hello-world

Install DockerC & DockerX:

Terminal window
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/matiboux/dockerc/HEAD/install.sh)"
sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/matiboux/dockerx/HEAD/install.sh)"

Either generate a new SSH key pair:

Terminal window
# Run this and follow the instructions.
ssh-keygen -t ed25519

Or copy an existing SSH private key:

Terminal window
cp YOUR_SSH_KEY ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
Terminal window
git config --global user.name "John Doe"
git config --global user.email "john.doe@example.com"