aboutsummaryrefslogtreecommitdiff
path: root/.devcontainer
diff options
context:
space:
mode:
Diffstat (limited to '.devcontainer')
-rw-r--r--.devcontainer/x86-64/Containerfile38
-rw-r--r--.devcontainer/x86-64/devcontainer.json26
2 files changed, 53 insertions, 11 deletions
diff --git a/.devcontainer/x86-64/Containerfile b/.devcontainer/x86-64/Containerfile
new file mode 100644
index 0000000..eb03057
--- /dev/null
+++ b/.devcontainer/x86-64/Containerfile
@@ -0,0 +1,38 @@
+FROM registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:16.1.0-3-py3.14
+
+RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install --yes --no-install-recommends \
+ acpica-tools \
+ clangd-22 \
+ clang-tidy-22 \
+ cmake \
+ g++-16 \
+ gcc-16 \
+ gdb \
+ git \
+ git-lfs \
+ grub2-common \
+ grub-pc \
+ libcatch2-dev \
+ locales \
+ mtools \
+ ninja-build \
+ python3-poetry \
+ qemu-system-x86 \
+ ssh \
+ wget \
+ xorriso \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
+ dpkg-reconfigure --frontend=noninteractive locales && \
+ update-locale LANG=en_US.UTF-8
+
+RUN update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-16 100 && \
+ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-16 100 && \
+ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-16 100 && \
+ update-alternatives --install /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-16 100 && \
+ update-alternatives --install /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-16 100 && \
+ update-alternatives --install /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-16 100 && \
+ update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-16 100 && \
+ update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-22 100 && \
+ update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-22 100
diff --git a/.devcontainer/x86-64/devcontainer.json b/.devcontainer/x86-64/devcontainer.json
index ec50ecb..dc70596 100644
--- a/.devcontainer/x86-64/devcontainer.json
+++ b/.devcontainer/x86-64/devcontainer.json
@@ -1,25 +1,29 @@
{
"name": "TeachOS on x86-64",
- "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-2",
- "features": {
- "ghcr.io/devcontainers/features/git:1": {},
- "ghcr.io/devcontainers/features/git-lfs:1": {},
- "ghcr.io/devcontainers-extra/features/apt-packages:1": {
- "packages": "cmake,grub2-common,grub-pc,mtools,ninja-build,qemu-system-x86,ssh,xorriso"
- }
+ "build": {
+ "dockerfile": "Containerfile"
},
+ "remoteUser": "ubuntu",
"customizations": {
"vscode": {
"extensions": [
"basdp.language-gas-x86",
"gruntfuggly.todo-tree",
"llvm-vs-code-extensions.vscode-clangd",
+ "matepek.vscode-catch2-test-adapter",
"ms-vscode.cmake-tools",
"KylinIdeTeam.cppdebug",
- "zixuanwang.linkerscript"
+ "zixuanwang.linkerscript",
+ "ms-vscode.hexeditor"
]
}
},
- "remoteUser": "ubuntu",
- "updateRemoteUserUID": true
-}
+ "containerEnv": {
+ "DEBUGINFOD_URLS": "NOSUCHURL"
+ },
+ "remoteEnv": {
+ "LANG": "en_US.UTF-8",
+ "LC_ALL": "en_US.UTF-8",
+ "TERM": "xterm-256color"
+ }
+} \ No newline at end of file