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 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" + ] +}