2025-12-03 16:09:42 +01:00
|
|
|
FROM archlinux:latest
|
2025-07-11 07:19:44 +02:00
|
|
|
|
2025-12-05 19:32:42 +01:00
|
|
|
# 1) System basis + Nix
|
2025-12-03 16:09:42 +01:00
|
|
|
RUN pacman -Syu --noconfirm \
|
|
|
|
|
&& pacman -S --noconfirm --needed \
|
2025-12-05 19:32:42 +01:00
|
|
|
base-devel \
|
2025-12-03 16:09:42 +01:00
|
|
|
git \
|
2025-12-05 19:32:42 +01:00
|
|
|
nix \
|
2025-12-07 20:54:04 +01:00
|
|
|
rsync \
|
2025-12-03 16:09:42 +01:00
|
|
|
&& pacman -Scc --noconfirm
|
2025-07-11 07:19:44 +02:00
|
|
|
|
2025-12-07 20:58:49 +01:00
|
|
|
ENV NIX_CONFIG="experimental-features = nix-command flakes"
|
|
|
|
|
|
2025-12-05 19:32:42 +01:00
|
|
|
# 2) Unprivileged user for building Arch packages
|
|
|
|
|
RUN useradd -m builder
|
2025-07-11 07:19:44 +02:00
|
|
|
|
2025-12-07 21:43:38 +01:00
|
|
|
# 3) Build-Stage (optional): einmal aus /build bauen, wenn du magst
|
|
|
|
|
WORKDIR /build
|
2025-12-07 20:54:04 +01:00
|
|
|
COPY . .
|
2025-12-05 19:32:42 +01:00
|
|
|
RUN chown -R builder:builder /build \
|
2025-12-07 21:43:38 +01:00
|
|
|
&& su builder -c "cd /build && rm -f package-manager-*.pkg.tar.* && makepkg -sf --noconfirm --clean" \
|
2025-12-05 19:32:42 +01:00
|
|
|
&& pacman -U --noconfirm package-manager-*.pkg.tar.* \
|
|
|
|
|
&& rm -rf /build
|
2025-12-03 16:09:42 +01:00
|
|
|
|
2025-12-07 21:43:38 +01:00
|
|
|
# 4) Runtime-Workingdir für das gemountete Repo
|
2025-12-05 19:32:42 +01:00
|
|
|
WORKDIR /src
|
2025-07-11 07:19:44 +02:00
|
|
|
|
2025-12-07 21:43:38 +01:00
|
|
|
# 5) Entry-Script für „always build from /src“
|
|
|
|
|
COPY scripts/docker-entry-dev.sh /usr/local/bin/docker-entry-dev.sh
|
|
|
|
|
RUN chmod +x /usr/local/bin/docker-entry-dev.sh
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["/usr/local/bin/docker-entry-dev.sh"]
|
2025-07-11 07:19:44 +02:00
|
|
|
CMD ["--help"]
|