35 lines
1.2 KiB
Docker
35 lines
1.2 KiB
Docker
FROM --platform=linux/amd64 archlinux@sha256:c84ad63503efc5d386e30a5f44945fa8eee10fcb21b3d5fceda260783de394ff
|
|
LABEL maintainer="Jguer,docker@jguer.space"
|
|
|
|
ENV GO111MODULE=on
|
|
WORKDIR /app
|
|
|
|
COPY go.mod .
|
|
|
|
# Disable pacman's landlock/seccomp sandbox: it doesn't work inside BuildKit.
|
|
# asciidoc, doxygen, meson needed for pacman-git.
|
|
RUN set -eux; \
|
|
sed -i 's/^#\?DisableSandbox.*/DisableSandbox/' /etc/pacman.conf || true; \
|
|
sed -i 's/^#\?DownloadUser.*/#DownloadUser = alpm/' /etc/pacman.conf || true; \
|
|
pacman -Syu --noconfirm --needed \
|
|
pacman-contrib zsh git-delta openssh bat go github-cli ripgrep \
|
|
archlinux-keyring git gcc make sudo asciidoc doxygen meson curl nodejs npm; \
|
|
curl -sSfL https://golangci-lint.run/install.sh | sh -s v2.12.2; \
|
|
go mod download; \
|
|
rm -rf /var/lib/pacman/sync/* /var/cache/pacman/* /tmp/* /var/tmp/*; \
|
|
rm -rf /usr/share/man/* /usr/share/doc/* || true
|
|
|
|
RUN useradd -m -s /bin/bash docker \
|
|
&& echo "docker ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/docker
|
|
|
|
USER docker
|
|
|
|
RUN go install github.com/leonelquinteros/gotext/cli/xgotext@latest \
|
|
&& go install golang.org/x/tools/gopls@latest
|
|
|
|
ENV PATH="/app/bin:/home/docker/go/bin:/home/docker/.local/bin:$PATH"
|
|
|
|
WORKDIR /workspace
|
|
|
|
CMD ["zsh"]
|