FROM mcr.microsoft.com/devcontainers/rust:2-trixie ## Tooling and configuration ARG PKGS_TOOLS="llvm-19 sqlite3 sqlite3-tools" RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y hx starship sudo ${PKGS_TOOLS} \ && ln -s /usr/bin/lldb-dap-19 /usr/local/bin/lldb-dap ## 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 ~/.ssh ~/.gnupg \ && chmod 0700 ~/.ssh ~/.gnupg WORKDIR ${WORKING_DIR}