docs: Devcontainers-cli enhancement (#2548)

* docs: Split local toolchain setup for Docker in two separated approaches.

This includes adding a new dropdown for Docker which lists overall steps
that have to be done when setting up the environment. Furthermore, the
previous documentation is no listed under VSCode and new documentation
for the Devcontainer CLI has been added.

Since the described approaches for VS Code and Dev Container CLI varied
quiet a bit a more unified way of setting them up was added. Due to
that, the documentation for building and flashing could be simplified as
well.

* docs: Update documentation for building and flashing for devcontainers.

Moved information about creating volumes for Docker containers into the
overall Docker setup documentation. Add warning for changing build
directory or adding options for building at the top of the page.

* feat(devcontainers): Add new volume for mounting modules.

---------

Co-authored-by: Nicolas Munnich <98408764+Nick-Munnich@users.noreply.github.com>
This commit is contained in:
Pauiii
2024-10-27 20:17:41 +01:00
committed by GitHub
parent 7d8dd64cdc
commit cb5e605906
6 changed files with 381 additions and 109 deletions

View File

@@ -4,17 +4,27 @@ sidebar_label: Getting Started
---
:::tip
We recommend reading through the setup process before following it step by step, to ensure that you are happy with installing the required dependencies.
We recommend reading through the setup process before following it step by step,
to ensure that you are happy with installing the required dependencies.
:::
## Environment Setup
There are two ways to set up the ZMK development environment:
- [Docker](docker.md): \
A self-contained development environment. It uses the same [Docker image which is used by the GitHub action](https://github.com/zmkfirmware/zmk-docker) for local development. Beyond the benefits of [dev/prod parity](https://12factor.net/dev-prod-parity), this approach may be easier to set up for some operating systems. No toolchain or dependencies are necessary when using Docker; the container image has the toolchain installed and set up to use.
- [Docker or Podman](container.mdx): \
A self-contained development environment. It uses the same
[Docker image which is used by the GitHub action](https://github.com/zmkfirmware/zmk-docker)
for local development. Beyond the benefits of
[dev/prod parity](https://12factor.net/dev-prod-parity), this approach may be
easier to set up for some operating systems. No toolchain or dependencies are
necessary when using a container; the image has the toolchain installed and
set up to use.
- [Native](native.mdx):\
This uses your operating system directly. Usually runs slightly faster than the Docker approach, and can be preferable for users who already have the dependencies on their system.
- [Native](native.mdx): \
This uses your operating system directly. Usually runs slightly faster than
the container approach, and can be preferable for users who already have the
dependencies on their system.
Please see the [Docker](docker.md) instructions or [native](native.mdx) instructions to continue setup.
Please see the [container](container.mdx) or [native](native.mdx) instructions
to continue the setup.