From 8511404afaa06550f97b96b3cff7680974b836f5 Mon Sep 17 00:00:00 2001 From: unai_71 Date: Tue, 10 Mar 2026 16:39:09 +0100 Subject: [PATCH 1/2] feat: added dockerfile for devpod with necessary dependencies (and extras) for cpp and qt develpoment --- .devcontainer/Dockerfile | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .devcontainer/Dockerfile diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..a662537 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,33 @@ +FROM debian:trixie +RUN apt-get update && \ + apt-get install -y \ + build-essential \ + cmake \ + ninja-build \ + qtbase5-dev \ + qt5-qmake \ + qtbase5-dev-tools \ + googletest \ + git \ + curl \ + clangd \ + clang-format \ + nodejs \ + unzip \ + python3-venv \ + zsh \ + ripgrep \ + fd-find \ + npm \ + libgtest-dev \ + pkg-config && \ + rm -rf /var/lib/apt/lists/* + +# Google test is downloaded as source code normally +WORKDIR /usr/src/googletest/googletest +RUN cmake . && make + +# This is only needed for zsh, small quality-of-life upgrade +RUN groupadd -g 1000 dev && useradd -m -u 1000 -g 1000 -s /bin/zsh dev +USER dev +RUN sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended From aea0cbc5e207d5c55386c50d0fe815585bbe956c Mon Sep 17 00:00:00 2001 From: unai_71 Date: Tue, 10 Mar 2026 16:40:15 +0100 Subject: [PATCH 2/2] feat: added devcontainer.json to use the previously uploaded dockerfile in a devpod --- .devcontainer/devcontainer.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..495f406 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,15 @@ +{ + "name": "C++ DEV", + "build": { + "dockerfile": "Dockerfile" + }, + "remoteUser": "dev", + "features": { + "ghcr.io/duduribeiro/devcontainer-features/neovim:1": { + "version": "stable" + } + }, + "mounts": [ + "source=${env:HOME}/.config/nvim,target=/home/dev/.config/nvim,type=bind" + ] +}