6 changed files with 113 additions and 0 deletions
@ -0,0 +1,43 @@ |
|||||||
|
ARG VARIANT=debian-12 |
||||||
|
FROM mcr.microsoft.com/devcontainers/base:${VARIANT} |
||||||
|
USER root |
||||||
|
|
||||||
|
# Install APT packages |
||||||
|
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ |
||||||
|
&& apt-get -y install tar curl zip unzip bash-completion build-essential ripgrep htop \ |
||||||
|
ninja-build ccache g++ mold gdb clang-format clang-tidy \ |
||||||
|
rpm pkg-config cmake git smpq gettext libsdl2-dev libsdl2-image-dev libsodium-dev \ |
||||||
|
libpng-dev libbz2-dev libfmt-dev libgtest-dev libgmock-dev libsimpleini-dev zsh \ |
||||||
|
qtbase5-dev qt6-base-dev ristretto \ |
||||||
|
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* |
||||||
|
|
||||||
|
# Install devilutionx-graphics-tools |
||||||
|
RUN git clone https://github.com/diasurgical/devilutionx-graphics-tools.git /tmp/devilutionx-graphics-tools && \ |
||||||
|
cd /tmp/devilutionx-graphics-tools && \ |
||||||
|
cmake -S. -Bbuild-rel -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF && \ |
||||||
|
cmake --build build-rel -j $(getconf _NPROCESSORS_ONLN) && \ |
||||||
|
cmake --install build-rel --component Binaries && \ |
||||||
|
rm -rf /tmp/devilutionx-graphics-tools |
||||||
|
|
||||||
|
# Install devilutionx-mpq-tools |
||||||
|
RUN git clone https://github.com/diasurgical/devilutionx-mpq-tools.git /tmp/devilutionx-mpq-tools && \ |
||||||
|
cd /tmp/devilutionx-mpq-tools && \ |
||||||
|
cmake -S. -Bbuild-rel -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF && \ |
||||||
|
cmake --build build-rel -j $(getconf _NPROCESSORS_ONLN) && \ |
||||||
|
cmake --install build-rel && \ |
||||||
|
rm -rf /tmp/devilutionx-mpq-tools |
||||||
|
|
||||||
|
# Install d1-graphics-tool |
||||||
|
RUN curl -O -L https://github.com/diasurgical/d1-graphics-tool/releases/latest/download/D1GraphicsTool-Linux-x64.deb && \ |
||||||
|
dpkg -i D1GraphicsTool-Linux-x64.deb && \ |
||||||
|
rm D1GraphicsTool-Linux-x64.deb |
||||||
|
|
||||||
|
# Download spawn.mpq and fonts.mpq |
||||||
|
RUN curl --create-dirs -O -L --output-dir /usr/local/share/diasurgical/devilutionx/ \ |
||||||
|
https://github.com/diasurgical/devilutionx-assets/releases/latest/download/spawn.mpq && \ |
||||||
|
curl --create-dirs -O -L --output-dir /usr/local/share/diasurgical/devilutionx/ \ |
||||||
|
https://github.com/diasurgical/devilutionx-assets/releases/latest/download/fonts.mpq && \ |
||||||
|
chown -R vscode: /usr/local/share/diasurgical/ |
||||||
|
|
||||||
|
# Desktop environment configuration |
||||||
|
COPY fluxbox /home/vscode/.fluxbox/ |
||||||
@ -0,0 +1,30 @@ |
|||||||
|
{ |
||||||
|
"build": { |
||||||
|
"dockerfile": "Dockerfile" |
||||||
|
}, |
||||||
|
"customizations": { |
||||||
|
"vscode": { |
||||||
|
"extensions": [ |
||||||
|
"github.vscode-github-actions", |
||||||
|
"ms-vscode.cmake-tools" |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
"features": { |
||||||
|
// https://github.com/devcontainers/features/tree/main/src/desktop-lite |
||||||
|
"ghcr.io/devcontainers/features/desktop-lite:1": { |
||||||
|
"webPort": 6080, |
||||||
|
"password": "vscode" |
||||||
|
}, |
||||||
|
"ghcr.io/devcontainers-contrib/features/zsh-plugins:0": {}, |
||||||
|
"ghcr.io/stuartleeks/dev-container-features/shell-history:0": {} |
||||||
|
}, |
||||||
|
"forwardPorts": [ |
||||||
|
6080 |
||||||
|
], |
||||||
|
"portsAttributes": { |
||||||
|
"6080": { |
||||||
|
"label": "desktop" |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,7 @@ |
|||||||
|
[transient] (role=GtkFileChooserDialog) |
||||||
|
[Dimensions] {70% 70%} |
||||||
|
[Position] (CENTER) {0 0} |
||||||
|
[end] |
||||||
|
[app] (name=AppRun) (class=tiled) |
||||||
|
[Fullscreen] {yes} |
||||||
|
[end] |
||||||
@ -0,0 +1,20 @@ |
|||||||
|
[begin] ( Application Menu ) |
||||||
|
[exec] (File Manager) { nautilus /workspaces/devilutionX } </usr/share/icons/gnome/32x32/apps/file-manager.png> |
||||||
|
[exec] (D1 Graphics Tool) { D1GraphicsTool } <> |
||||||
|
[exec] (Text Editor) { mousepad } <> |
||||||
|
[exec] (Terminal) { tilix -w ~ -e $(readlink -f /proc/$$/exe) -il } <> |
||||||
|
[exec] (Web Browser) { x-www-browser --disable-dev-shm-usage } <> |
||||||
|
[submenu] (System) {} |
||||||
|
[exec] (Set Resolution) { tilix -t "Set Resolution" -e bash /usr/local/bin/set-resolution } <> |
||||||
|
[exec] (Edit Application Menu) { mousepad ~/.fluxbox/menu } <> |
||||||
|
[exec] (Passwords and Keys) { seahorse } <> |
||||||
|
[exec] (Top Processes) { tilix -t "Top" -e htop } <> |
||||||
|
[exec] (Disk Utilization) { tilix -t "Disk Utilization" -e ncdu / } <> |
||||||
|
[exec] (Editres) {editres} <> |
||||||
|
[exec] (Xfontsel) {xfontsel} <> |
||||||
|
[exec] (Xkill) {xkill} <> |
||||||
|
[exec] (Xrefresh) {xrefresh} <> |
||||||
|
[end] |
||||||
|
[config] (Configuration) |
||||||
|
[workspaces] (Workspaces) |
||||||
|
[end] |
||||||
|
After Width: | Height: | Size: 20 KiB |
@ -0,0 +1,13 @@ |
|||||||
|
# Developing with GitHub Codespaces |
||||||
|
|
||||||
|
A GitHub codespace container with all dependencies and several useful tools preinstalled is configured in the `.devcontainer` directory. |
||||||
|
|
||||||
|
You can go to https://github.dev/diasurgical/devilutionX/ and immediately begin developing. |
||||||
|
|
||||||
|
To view the graphical desktop of the container, click Ports > Browser. |
||||||
|
|
||||||
|
The password is `vscode`. |
||||||
|
|
||||||
|
 |
||||||
|
|
||||||
|
For more information about the deskopt envorinonment, see https://github.com/devcontainers/features/tree/main/src/desktop-lite |
||||||
Loading…
Reference in new issue