This document outlines the steps taken to initialize the development environment.
- System Tools:
apt,zsh,emacs,ssh - Infrastructure: Docker, Caddy, Tailscale
- Runtimes: Python (via
uv), Bun - Shell Environment: Oh My Zsh
- Applications: Next.js
Configure the core development environment.
# Install Zsh and Emacs
sudo apt install zsh emacs -y
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Note: Shell uses robbyrussell theme with git plugin. Emacs is available for terminal/GUI editing.
Ensure secure access and identity:
- Public keys should be added to
~/.ssh/authorized_keys. - Generate new keys if needed:
ssh-keygen -t rsa -b 4096.
Before installation, configure the external repositories:
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Installation
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start dockersudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
# Installation
sudo apt install caddyTailscale is used for secure mesh networking and exposing local services.
# Installation (standard curl script)
curl -fsSL https://tailscale.com/install.sh | sh
# Expose local development ports
tailscale serve --bg 8000Both runtimes are installed via direct shell scripts for the latest versions.
# Python & Tool Management via UV
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python list
uv run python3.13 -m http.server
# Bun JavaScript Runtime
curl -fsSL https://bun.sh/install | bash
bunx create-next-app ./demo-next
cd demo-next
bun install
bun dev --port 8000