This is an opinionated environment configuration for VSCode and Docker. It utilizes some of VSCode's built-in functionality (.devcontainer/devcontainer.json) to create a headless Alpine Linux development environment for you to use on any OS. This means you can play with any tool you can use in an Unix-based OS. This configuration is mostly geared toward Windows, but could be adapted to any OS and has some configuration for Mac and Linux already.
I make some assumptions you want to use NodeJS and NPM, but this could be configured at your lesiure. Later I may provide a CLI to configure this on the fly, but for now it's a manual configuration. It includes some of my preferred extensions, themes and icons.
- Turn-key Environment, extensions, theme, settings and terminal config all preinstalled
- NodeJS First & React Friendly
- Beautiful CLI icons & Dracula Theme
- Starship Terminal Prompt
- NeoVim with NvChad configuration
- Powerful CLI tools (bat, fd, exa, tldr, oh-my-zsh)
- Nerd Font (this config uses Victor Mono)
- WSL (Windows Subsystem for Linux)
- Docker Desktop
- VS Code
This is meant to be a plug-and-play env for each project, you can fork the repo with GitHub CLI or you can just clone it per normal in git.
Clone Method
git clone --recurse-submodules https://github.com/emmafaye/vscode-remote-env-config.git <project-name>Fork Method
Note: requires GH CLI
gh repo fork https://github.com/emmafaye/vscode-remote-env-config.git --clone --fork-name <repo-project-name>Once you have the repo folder openned in VS Code, complete the below steps. This will build the container and install all the extensions and settings.
- Copy the
.env.templatefile to.envand fill in the values - Open the Command Palette (Ctrl+Shift+P) ➝ File: Open Workspace from File..
- Open the Command Palette (Ctrl+Shift+P) ➝ Remote-Containers: Open Folder in Container...
- Wait for the container to build and install all the extensions and settings
- ✅ Done! You can now start coding!
Enviroment variables (.env) configuration is built-in, with extension support and template files. There are a handful of preexisting env variables set you can modify.
TZ- TimezoneNODE_ENV- Node EnviromentRUNNING_IN_DOCKERhost- Node Host Addressport- Node Host Port
