]> git.otsuka.systems Git - qmk-keymaps/commitdiff
Add support for devcontainers. (#6)
authorNick Brassel <nick@tzarc.org>
Fri, 23 Feb 2024 11:35:45 +0000 (22:35 +1100)
committerGitHub <noreply@github.com>
Fri, 23 Feb 2024 11:35:45 +0000 (22:35 +1100)
.devcontainer/devcontainer.json [new file with mode: 0644]
.devcontainer/setup.sh [new file with mode: 0755]
.vscode/extensions.json [new file with mode: 0644]

diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644 (file)
index 0000000..2b7b817
--- /dev/null
@@ -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 (executable)
index 0000000..25c7c5e
--- /dev/null
@@ -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 (file)
index 0000000..3984e9b
--- /dev/null
@@ -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"
+    ]
+}