xbmlz / oh-my-codespace

🧰 oh-my-env is docker image for development environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

oh-my-codespace

GitHub Workflow Status Docker Image Version (latest by date)

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.

  • node - Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

    • nvm - Node Version Manager - Simple bash script to manage multiple active node.js versions
    • pnpm - Fast, disk space efficient package manager
  • 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.

    • pyenv - Simple Python version management
    • poetry - Python dependency management and packaging made easy.
  • java - Java is a general-purpose programming language that is class-based, object-oriented, and designed to have as few implementation dependencies as possible.

    • sdkman - The Software Development Kit Manager
    • maven - Apache Maven is a software project management and comprehension tool.
    • gradle - Gradle is an open-source build automation tool focused on flexibility and performance.

How to use?

  1. create .devcontainer directory in your project root.

  2. create Dockerfile in .devcontainer directory.

FROM xbmlz/on-my-env:latest
  1. 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"
}
  1. open your project in vscode.

  2. install Remote - Containers extension.

  3. click Remote-Containers: Reopen in Container in command palette.

  4. enjoy it.

if you use IntelliJ IDEA, you can use plugin Docker Integration to open your project in docker container.

License

MIT

About

🧰 oh-my-env is docker image for development environment.

License:MIT License


Languages

Language:Dockerfile 69.5%Language:Shell 30.5%