Skip to content

Learn more: How to create a new Development Environment

You can create new Development Environments from containerized tools. The tool images can be present:

  • locally: dem list --local --tool
  • in registry: dem list --all --tool

As an example let's create another, alternative Environment for our target with the following elements:

These tools are available in the axem registry. The cmake and GNU-arm-toolchain are present in the same container image alongside with make: cmake_make_gnu-arm. The stlink-org has its own image: stlink_org.

Obtaining the dummy test tool image

You can use your own tools that you containerized by yourself in Development Environments created with DEM. To see how to do it, we containerize a dummy test tool. (This won't be an actual test environment, just a script that prints "test environment" 🤭.)

Let's create a directory for building the dummy test tool!

mkdir dummy_test
cd dummy_test

Create a shell script that will run inside the container.

echo "test environment"

Set the, file to be executable.

chmod +x

Create a file called Dockerfile (without extension) that describes how to build this dummy image.

FROM debian:latest

ADD /work

Build the Docker container image.

docker build -t dummy_test:latest .

Now run the script inside a container to ensure everything works as expected.

docker run dummy_test /bin/sh -c "./"

Create the new Environment

To start the interactive Development Environment creation you need to use the dem create command.

dem create alt_env

You will see the available tool types. Select all of them with .

Tool type selection

Select next when you finished.

Next, you will go through all the selected tool types one-by-one and you can select the required tool image for all of them, by pressing .

  • build system: axemsolutions/cmake_make_gnu-arm:latest
  • toolchain: axemsolutions/cmake_make_gnu-arm:latest
  • debugger: axemsolutions/stlink_org:latest
  • deployer:axemsolutions/stlink_org:latest
  • test framework:dummy_test:latest

That's it! Now you have a new Development Environment.

Share your new Development Environment

A very important feature of DEM is to provide a reliable way to share Development Environments. To make every member of an organization use the same toolset, the best way is to provide the Development Environment from a catalog.
If you would like to share your Development Environment with someone directly, DEM has your back! A Development Environment descriptor can be exported to a file in JSON format, which then can be loaded to another host.


The exported file only contains the Development Environments descriptor in JSON format. The other host needs access to all required registries for successful installation.

If you'd like to share the newly created alt_env, first export it:

dem export alt_env alt_env.json

This will create the alt_env.json file in your current directory.
On the other host, the Development Environment descriptor can be loaded:

dem load alt_env.json