diff options
| -rw-r--r-- | Dockerfile.dev | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..9032790 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,32 @@ +FROM mcr.microsoft.com/devcontainers/rust:2-trixie + +## Tooling and configuration +ARG PKGS_TOOLS="sqlite3 sqlite3-tools" +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y hx starship sudo ${PKGS_TOOLS} + +## Code area configuration +ARG WORKING_DIR="/code" +RUN mkdir -p ${WORKING_DIR} + +## Container user - will override 'vscode', 'users' defaults +ARG USER=sparrow +ARG USER_UID=1000 +ARG USER_GID=1000 +ARG USERS_GID=998 +RUN groupmod -n ${USER} "$(grep ${USER_GID} /etc/group | cut -d: -f1)" \ + && groupmod --gid ${USERS_GID} users \ + && usermod -l ${USER} -m -d /home/${USER} -Gusers "$(grep ${USER_UID} /etc/passwd | cut -d: -f1)" \ + && chown -R ${USER_UID}:${USER_GID} /home/${USER} \ + && echo "${USER} ALL=\(root\) NOPASSWD:ALL" > /etc/sudoers.d/${USER} \ + && chmod 0440 /etc/sudoers.d/${USER} +RUN echo 'eval "$(starship init zsh)"' >> /home/${USER}/.zshrc \ + && chown ${USER}:${USER} ${WORKING_DIR} + +USER ${USER} + +RUN mkdir ~/.gnupg \ + && chmod 0700 ~/.gnupg + +WORKDIR ${WORKING_DIR} |
