oh-my-codespace
What is oh-my-codespace?
oh-my-codespace
is docker image for development environment.
Features
-
ubuntu - Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.
-
git - Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
-
oh-my-zsh - A delightful community-driven framework for zsh.
- zsh-autosuggestions - Fish-like autosuggestions for zsh.
- zsh-syntax-highlighting - Fish shell like syntax highlighting for Zsh.
- zsh-z - A smarter cd command for zsh.
-
node - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
-
golang - Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
-
rust - Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.
-
python - Python is an interpreted, high-level and general-purpose programming language.
-
java - Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible.
How to use?
-
create
.devcontainer
directory in your project root. -
create
Dockerfile
in.devcontainer
directory.
FROM xbmlz/on-my-env:latest
- create
devcontainer.json
in.devcontainer
directory.
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.194.0/containers/docker-existing-dockerfile
{
"name": "OhMyEnv",
"dockerFile": "Dockerfile",
"context": "..",
"extensions": [],
"runArgs": [],
"containerEnv": {},
"mounts": [
"source=config,target=/root/.config,type=volume",
"source=vscode-extensions,target=/root/.vscode-server/extensions,type=volume",
"source=ssh,target=/root/.ssh,type=volume",
"source=go-bin,target=/root/go/bin,type=volume",
"source=pnpm-bin,target=/root/.local/share/pnpm,type=volume",
"source=gradle-cache,target=/root/.gradle,type=volume",
"source=maven-cache,target=/root/.m2,type=volume"
],
"remoteUser": "root"
}
-
open your project in vscode.
-
install
Remote - Containers
extension. -
click
Remote-Containers: Reopen in Container
in command palette. -
enjoy it.
if you use IntelliJ IDEA, you can use plugin Docker Integration to open your project in docker container.