~andrew/qmk

67fac7803e28c485bbd23c47cd5bb92de61e3763 — Nick Brassel 2 years ago c8dcd92
Add support for devcontainers. (#6)

3 files changed, 66 insertions(+), 0 deletions(-)

A .devcontainer/devcontainer.json
A .devcontainer/setup.sh
A .vscode/extensions.json
A .devcontainer/devcontainer.json => .devcontainer/devcontainer.json +33 -0
@@ 0,0 1,33 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
    "name": "QMK CLI",
    // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
    "image": "ghcr.io/qmk/qmk_cli",
    "customizations": {
        "vscode": {
            "extensions": [
                "amodio.toggle-excluded-files",
                "EditorConfig.EditorConfig",
                "xaver.clang-format",
                "llvm-vs-code-extensions.vscode-clangd",
                "bierner.github-markdown-preview",
                "donjayamanne.git-extension-pack",
                "ms-vscode-remote.remote-containers"
            ]
        }
    },
    "postCreateCommand": "/workspaces/qmk_userspace/.devcontainer/setup.sh"

    // Features to add to the dev container. More info: https://containers.dev/features.
    // "features": {},

    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    // "forwardPorts": [],

    // Configure tool-specific properties.
    // "customizations": {},

    // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
    // "remoteUser": "root"
}

A .devcontainer/setup.sh => .devcontainer/setup.sh +21 -0
@@ 0,0 1,21 @@
#!/usr/bin/env bash

set -eEuo pipefail

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
python3 -m pip install qmk
rm get-pip.py

python3 -m pip install --upgrade milc

git config --global --add safe.directory /workspaces/qmk_userspace
git submodule update --init --recursive

[ -d /workspaces/qmk_firmware ] || git clone https://github.com/qmk/qmk_firmware.git /workspaces/qmk_firmware
git config --global --add safe.directory /workspaces/qmk_firmware

qmk config user.qmk_home=/workspaces/qmk_firmware
qmk config user.overlay_dir=/workspaces/qmk_userspace

qmk git-submodule

A .vscode/extensions.json => .vscode/extensions.json +12 -0
@@ 0,0 1,12 @@
// Suggested extensions
{
    "recommendations": [
        "amodio.toggle-excluded-files",
        "EditorConfig.EditorConfig",
        "xaver.clang-format",
        "llvm-vs-code-extensions.vscode-clangd",
        "bierner.github-markdown-preview",
        "donjayamanne.git-extension-pack",
        "ms-vscode-remote.remote-containers"
    ]
}