1
0

Dockerfile 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. FROM ubuntu:21.10 AS devinstall
  2. ARG DEVENV_USER
  3. ARG DEVENV_PASS
  4. ARG DEVENV_EMAIL
  5. ARG DEVENV_LOCALE
  6. ARG DEVENV_PKGS
  7. ENV DEBIAN_FRONTEND=noninteractive
  8. ENV TZ=$DEVENV_TZ
  9. ENV DEVENV_USER=$DEVENV_USER
  10. ENV DEVENV_PASS=$DEVENV_PASS
  11. ENV DEVENV_EMAIL=$DEVENV_EMAIL
  12. ENV DEVENV_LOCALE=$DEVENV_LOCALE
  13. ENV DEVENV_PKGS=$DEVENV_PKGS
  14. ENV LANG=$DEVENV_LOCALE
  15. ENV NVIM_LISTEN_ADDRESS=/home/${DEVENV_USER}/nvimsocket
  16. COPY base/build-install.sh /build-install.sh
  17. RUN /build-install.sh
  18. FROM devinstall AS devbase
  19. COPY base/build-root.sh /build-root.sh
  20. RUN /build-root.sh
  21. FROM devbase AS devinit
  22. USER ${DEVENV_USER}
  23. WORKDIR /home/${DEVENV_USER}
  24. RUN sudo chown -R ${DEVENV_USER}:${DEVENV_USER} /home/${DEVENV_USER}
  25. COPY base/build-init-user.sh /home/${DEVENV_USER}/build-init-user.sh
  26. RUN ./build-init-user.sh
  27. FROM devinit AS devenv
  28. USER ${DEVENV_USER}
  29. WORKDIR /home/${DEVENV_USER}
  30. COPY dotfiles/setup.sh /home/${DEVENV_USER}/setup.sh
  31. COPY base/init.vim /home/${DEVENV_USER}/.config/nvim/init.vim
  32. COPY dotfiles/init.vim /home/${DEVENV_USER}/dotfiles/init.vim
  33. COPY base/build-home.sh /home/${DEVENV_USER}/build-home.sh
  34. RUN /home/${DEVENV_USER}/build-home.sh
  35. COPY base/zshrc /home/${DEVENV_USER}/.zshrc
  36. COPY dotfiles/zshrc /home/${DEVENV_USER}/dotfiles/zshrc
  37. COPY base/start.sh /home/${DEVENV_USER}/start.sh
  38. VOLUME /home/${DEVENV_USER}/host
  39. ENTRYPOINT ["./start.sh"]