aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Nick Brassel2024-02-23 22:35:45 +1100
committerGravatar GitHub2024-02-23 22:35:45 +1100
commit67fac7803e28c485bbd23c47cd5bb92de61e3763 (patch)
treef83afc8bcebb9b69172357b3330f4ece55964002
parentc8dcd9291beb7ad4ff6570d4a9c11b4efcf58024 (diff)
downloadmy-keymaps-67fac7803e28c485bbd23c47cd5bb92de61e3763.tar.gz
my-keymaps-67fac7803e28c485bbd23c47cd5bb92de61e3763.zip
Add support for devcontainers. (#6)
-rw-r--r--.devcontainer/devcontainer.json33
-rwxr-xr-x.devcontainer/setup.sh21
-rw-r--r--.vscode/extensions.json12
3 files changed, 66 insertions, 0 deletions
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..2b7b817
--- /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 0000000..25c7c5e
--- /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 0000000..3984e9b
--- /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"
+ ]
+}