FROM binhex/arch-base:latest AS build

COPY ./aur-packages/srcpkgs/cage-vi/ /tmp/cage/

RUN pacman -Syu --noconfirm base-devel \
 && chown -R nobody: /tmp/cage/ \
 && source /tmp/cage/PKGBUILD && pacman -Syu --noconfirm ${depends[@]} ${makedepends[@]} \
 && runuser -u nobody -- sh -c "cd /tmp/cage/ && makepkg -c --noconfirm" 

FROM binhex/arch-base:latest

COPY --from=build /tmp/cage/*.pkg.tar.zst /tmp/cage/

RUN pacman -Syu --noconfirm mesa mesa-libgl wayvnc seatd \
    xorg-xwayland noto-fonts gnu-free-fonts \
 && pacman -U --noconfirm /tmp/cage/*.pkg.tar.zst \
 && yes y | pacman -Scc >/dev/null 2>&1 \
 && rm -rf /usr/share/man/* /usr/share/doc/* \
    /var/cache/pacman/pkg/* /var/lib/pacman/sync/* \
    /tmp/*

COPY wayvnc.conf /etc/wayvnc/config

ENV PGID=10000 \
    PUID=10000 \
    HOME=/home/user

RUN useradd -U -u ${PGID} -G users,seat,video,render -d "${HOME}" user \
 && mkdir -p /run/user/${PGID} \
 && chown user: /run/user/${PGID} \
 && chmod 7700 /run/user/${PGID}

WORKDIR /