From 67fac7803e28c485bbd23c47cd5bb92de61e3763 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 23 Feb 2024 22:35:45 +1100 Subject: [PATCH] Add support for devcontainers. (#6) --- .devcontainer/devcontainer.json | 33 +++++++++++++++++++++++++++++++++ .devcontainer/setup.sh | 21 +++++++++++++++++++++ .vscode/extensions.json | 12 ++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/setup.sh create mode 100644 .vscode/extensions.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..2b7b817a40 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -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" +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 0000000000..25c7c5ee9d --- /dev/null +++ b/.devcontainer/setup.sh @@ -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 diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000000..3984e9bedd --- /dev/null +++ b/.vscode/extensions.json @@ -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" + ] +}