I want to work with devcontainers more coz I'm fed up with setting up build envs I know too little about or adding yet another extension, permission, or utility for something specific to only that task, story, issue, or project.
This repository provides standardized, customizable, preconfigured development environments using Devcontainers and DevPod (or VSCodium), that can be shared effortlessly between team members.
Good Reading:
- Discover devcontainers (2023)
- Where do you run your code part I (2024)
- Where do you run your code part II (2025)
- Install DevPod: devpod.sh
- (Optional) Install VSCodium with the DevPod Containers extension (
3timeslazy.vscodium-devpodcontainers) if running containers locally (on your own Docker engine) from the editor. - (Optional) Remote container extensions for vscode:
mythreyak.open-remote-devcontainer3timeslazy.vscodium-devpodcontainersddorch.codium-devcontainer
This repository contains multiple development environments, organized into subdirectories.
A development environment for working with OpenTofu.
- Features:
- Custom image based off of MS's Ubuntu (
26.04aka resolute) image - OpenTofu CLI (installed and available on
PATH) - Utilities:
curl,git,jq, andwget - VSCodium extension:
opentofu.vscode-opentofufor syntax highlighting, autocomplete, and formatting.
- Custom image based off of MS's Ubuntu (
- Start with DevPod:
devpod up ./dev-opentofu
A development environment for Go development.
- Features:
- Go SDK (Official image)
- VSCodium extension:
golang.gofor autocomplete, linting, formatting, and debugging.
- Start with DevPod:
devpod up ./dev-golang
If you prefer to run containers directly within VSCodium without the DevPod CLI:
- Open VSCodium.
- Open either the
dev-opentofuordev-golangsubdirectory. - Click the green indicator (bottom-left corner) and select Reopen in Container.
Once inside the dev-opentofu container, you can run standard tofu commands:
tofu --version
tofu init
tofu planOnce inside the dev-golang container, you can run standard Go commands:
go version
go run main.go