This repository provides a fully automated containerized development environment using VS Code Dev Containers. It offers a comprehensive, pre-configured workspace with modern development tools, programming languages, and IDE integrations for efficient software development.
- Container Image: Microsoft Dev Containers Debian base image
- Architecture: Runs with privileged access for Docker operations
- User Configuration: Pre-configured
vscodeuser with appropriate permissions - Persistence: Container configured with
shutdownAction: nonefor persistent sessions
- Node.js: Latest version with npm package manager
- Python: Python 3 with pip package manager
- Docker-in-Docker: Full Docker support within the container for containerized development
- Zsh: Advanced shell automatically installed and configured
- Oh My Zsh: Framework for managing Zsh configuration
- Powerlevel10k Theme: Pre-configured modern terminal theme with full customization
- Tmux: Terminal multiplexer for managing multiple sessions
- GitHub CLI (gh): Command-line interface for GitHub operations
- Miniforge: Conda package manager with conda-forge defaults (auto-initialized)
- UV: Fast Python package manager written in Rust
- Claude Code CLI: Anthropic's official CLI for AI-assisted development
- Essential Build Tools: curl, wget, git, build-essential, jq, and more
- Roo Cline: AI-powered coding assistant
- GistFS: Direct access to GitHub Gists in VS Code
- GitHub Copilot: AI pair programming assistant
- GitHub Copilot Chat: Interactive AI assistance
- Claude Code: Anthropic's official VS Code extension
- Claude Code Extension: Enhanced Claude features and cost tracking
- CC Usage: Claude Code usage monitoring
- Docker: Docker Desktop or Docker Engine must be installed and running
- VS Code: Visual Studio Code with Dev Containers extension
- Git: Git for cloning the repository
-
Clone this repository:
git clone <repository-url> cd workspace_pod
-
Open the folder in VS Code:
code . -
When prompted by VS Code, click "Reopen in Container" or use the command palette (F1) and select "Dev Containers: Reopen in Container"
-
Wait for the container to build and start. The post-create script will automatically install all development tools.
-
Install DevPod CLI from https://devpod.sh/docs/getting-started/install
-
Create and start the development pod:
devpod up <repository-url>
-
Connect to the pod:
devpod ssh <pod-name>
The container automatically configures everything during creation. Once started:
-
Verify Installation: Check the installation report:
cat .devcontainer/installation-report.md
-
Shell Configuration: Zsh with Powerlevel10k is automatically configured. The terminal will show the Powerlevel10k prompt immediately.
-
Configure GitHub CLI (one-time setup):
gh auth login
-
Customize Terminal Theme (optional):
p10k configure
Note: A comprehensive P10k configuration is already applied automatically.
-
Test Installed Tools:
# Python environments conda --version mamba --version uv --version # Development tools tmux -V gh --version claude --version
If any tools fail to install automatically during container creation, you can run the installation script manually:
bash .devcontainer/install-tools.shThis will attempt to install all missing tools and generate a detailed report.
workspace_pod/
├── .devcontainer/
│ ├── devcontainer.json # Dev container configuration
│ ├── install-tools.sh # Automated tool installation script
│ ├── p10k.zsh # Powerlevel10k configuration file
│ └── installation-report.md # Generated installation report (after setup)
├── .gitignore # Git ignore rules
└── README.md # This file
- RAM: Minimum 4GB allocated to Docker
- Storage: 10GB available disk space
- Network: Internet connection for package downloads
- OS: Windows, macOS, or Linux with Docker support
- Ensure Docker is running
- Check Docker has sufficient resources allocated
- Verify no port conflicts exist
- Run the installation script manually:
bash .devcontainer/install-tools.sh - Check the installation report:
cat ~/installation-report.md - Ensure internet connectivity for package downloads
- The container runs with privileged access
- User
vscodehas sudo privileges - For Docker operations, ensure Docker socket is accessible
- Shell Setup: Automatically configures Zsh as the default shell with Oh My Zsh framework
- Theme Application: Applies a fully customized Powerlevel10k theme configuration on first run
- Path Configuration: Automatically adds all tool paths (Miniforge, UV, cargo) to the shell
- Conda Initialization: Miniforge/conda is automatically initialized for both bash and zsh
- Powerlevel10k Prompt: Shows git status, Python/Node versions, execution time, and more
- Shell Plugins: Git, Docker, Python, and Node plugins enabled in Oh My Zsh
- Terminal Experience: Professional, clean appearance without emojis in system messages
You can customize the development environment by modifying:
.devcontainer/devcontainer.json: Add more VS Code extensions or Dev Container features.devcontainer/install-tools.sh: Add additional tools or configurations.devcontainer/p10k.zsh: Modify the Powerlevel10k theme configuration- After container creation: Run
p10k configurefor interactive theme customization
For issues or questions:
- Check the installation report for any errors
- Review the troubleshooting section
- Consult VS Code Dev Containers documentation
- Submit issues to the repository issue tracker