-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathContainerfile
More file actions
40 lines (33 loc) · 1.48 KB
/
Copy pathContainerfile
File metadata and controls
40 lines (33 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ARG BASE_IMAGE=ghcr.io/ublue-os/bazzite-gnome:stable
# Allow build scripts to be referenced without being copied into the final image
FROM scratch AS buildctx
COPY build_files /ctx/
FROM ${BASE_IMAGE} AS base
COPY system_files/etc/ /etc/
COPY system_files/usr/ /usr/
# Import upstream DMS Niri defaults into skel.
# This intentionally fails if DMS changes its config layout.
RUN git clone --depth=1 https://github.com/AvengeMedia/DankMaterialShell.git /tmp/dms && \
test -f /tmp/dms/core/internal/config/embedded/niri.kdl && \
install -d /etc/skel/.config/niri/dms && \
git -C /tmp/dms rev-parse HEAD > /etc/skel/.config/niri/.dms-config-commit && \
install -Dm644 \
/tmp/dms/core/internal/config/embedded/niri.kdl \
/etc/skel/.config/niri/config.kdl && \
for f in /tmp/dms/core/internal/config/embedded/niri-*.kdl; do \
name="$(basename "$f")"; \
name="${name#niri-}"; \
install -Dm644 "$f" "/etc/skel/.config/niri/dms/$name"; \
done && \
rm -rf /tmp/dms
### MODIFICATIONS
## make modifications desired in your image and install packages by modifying the build.sh script
## the following RUN directive does all the things required to run "build.sh" as recommended.
RUN --mount=type=bind,from=buildctx,source=/ctx,target=/ctx \
--mount=type=cache,dst=/var/cache \
--mount=type=cache,dst=/var/log \
--mount=type=tmpfs,dst=/tmp \
/ctx/build.sh
### LINTING
## Verify final image and contents are correct.
RUN bootc container lint