FROM ubuntu:21.10 AS devinstall

ARG DEVENV_USER
ARG DEVENV_PASS
ARG DEVENV_EMAIL
ARG DEVENV_LOCALE
ARG DEVENV_PKGS

ENV DEBIAN_FRONTEND=noninteractive

ENV TZ=$DEVENV_TZ
ENV DEVENV_USER=$DEVENV_USER
ENV DEVENV_PASS=$DEVENV_PASS
ENV DEVENV_EMAIL=$DEVENV_EMAIL
ENV DEVENV_LOCALE=$DEVENV_LOCALE
ENV DEVENV_PKGS=$DEVENV_PKGS
ENV LANG=$DEVENV_LOCALE
ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket


COPY base/build-install.sh /build-install.sh
RUN /build-install.sh


FROM devinstall AS devbase
COPY base/build-root.sh /build-root.sh
RUN /build-root.sh


FROM devbase AS devinit
USER ${DEVENV_USER}
WORKDIR /home/${DEVENV_USER}
RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER}
COPY base/build-init-user.sh /home/${DEVENV_USER}/build-init-user.sh
RUN ./build-init-user.sh


FROM devinit AS devenv
USER ${DEVENV_USER}
WORKDIR /home/${DEVENV_USER}
COPY dotfiles/setup.sh /home/${DEVENV_USER}/setup.sh
COPY base/init.vim /home/${DEVENV_USER}/.config/nvim/init.vim
COPY dotfiles/init.vim /home/${DEVENV_USER}/dotfiles/init.vim
COPY base/build-home.sh /home/${DEVENV_USER}/build-home.sh
RUN /home/${DEVENV_USER}/build-home.sh
COPY base/zshrc /home/${DEVENV_USER}/.zshrc
COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
COPY base/start.sh /home/${DEVENV_USER}/start.sh

VOLUME /home/${DEVENV_USER}/host

ENTRYPOINT ["./start.sh"]

