/devver

Multipurpose development environment.

Primary LanguageEmacs Lisp

Devver

buddy pipeline buddy pipeline

Devver is a fully flavoured development environment based on Docker. Editors of choice are VS Code and Spacemacs which are set up and ready to serve you well with all supported languages and frameworks. Carefully selected tools allow you to code, debug and share your environment easily.

Quickstart

$ cd your/project/path
$ curl -O https://raw.githubusercontent.com/merlinnot/devver/master/docker-compose.yml
$ docker-compose up -d
$ docker-compose exec dev [command]

Aforementioned commands copy latest docker-compose file into your project, which should be then redistributed with the project, then it sets up and connects you to newly created container. Most of configuration is pushed directly to Docker Hub container registry, therefore there's no need to update any files in your projects while Devver evolves.

To run X11 apps make sure to allow Devver to use your local X11 server:

$ xhost +local:root

To check port mapping:

$ docker-compose port dev [port_number]

Languages

  • Python v2.7.12
  • Python v3.5.2
  • GNU Compiler Collection v5.4.0 20160609
  • Clang v3.8.0-2ubuntu4
  • Go v1.9.2
  • Node.js v6.11.5 (nvm)
  • Perl v5.22.1
  • GNU bash v4.3.46

Frameworks, libraries and language-specific tools

Go:

JavaScript:

Command line tools and programs

X-Apps

Tips and tricks

  • e is an alias for Spacemacs, i.e. e package.json
  • Use f if you've screwed up and want to use The Fuck

Update

To update container run the following commands:

$ docker pull merlinnot/devver
$ docker-compose stop
$ docker-compose rm -f

From now on newly created containers will be up to date.

Development

Dockerfile is composed of files in ./modules directory. Composing is made using m4 macro processor. All files included in Dockerfile must be registered in Dockerfile.m4.

Use make dockerfile to compose Dockerfile, make build to build an image.

Troubleshooting

No protocol specified
No protocol specified
rqt: cannot connect to X server unix:0

Solution:

$ xhost +local:root