terminal_configuration/Dockerfile

75 lines
1.6 KiB
Docker

FROM debian:trixie
RUN apt-get update && apt-get install -y \
locales \
git \
neovim \
man-db \
openssh-client \
passwd \
gcc \
ripgrep \
wl-clipboard \
tmux \
curl \
python3-pip \
python3-venv \
sudo
RUN echo "ko_KR.UTF-8 UTF-8" | sudo tee -a /etc/locale.gen
RUN locale-gen
ARG UID
ARG GID
ARG USERNAME
ARG CONFIG_PREFIX
ENV USERNAME=${USERNAME:-bumpsoo}
ENV UID=${UID:-1000}
ENV GID=${GID:-$UID}
ENV CONFIG_PREFIX=${CONFIG_PREFIX:-personal}
ENV TERM=xterm-256color
RUN set -eux; \
groupadd -g "$GID" "$USERNAME"; \
useradd -m -u "$UID" -g "$USERNAME" -s /bin/bash "$USERNAME"; \
mkdir -p /workspace; \
chown "$USERNAME:$USERNAME" /workspace
RUN echo "$USERNAME ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
WORKDIR /workspace
ENV HOME=/home/${USERNAME}
USER ${USERNAME}
RUN python3 -m venv $HOME/py
ENV PATH="$HOME/.local/bin:$HOME/py/bin:$PATH"
RUN pip install pyright aider-install
RUN $HOME/py/bin/aider-install
ENV NVM_DIR=${HOME}/.nvm
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash \
&& . $NVM_DIR/nvm.sh \
&& nvm install --lts \
&& npm install -g typescript typescript-language-server
COPY --chown=${USERNAME}:${GID} ${CONFIG_PREFIX}.gitconfig /home/${USERNAME}/.gitconfig
COPY --chown=${USERNAME}:${GID} .config/nvim /home/${USERNAME}/.config/nvim
COPY --chown=${USERNAME}:${GID} .tmux.conf /home/${USERNAME}/.tmux.conf
COPY --chown=${USERNAME}:${GID} bin/osc52_copy /home/${USERNAME}/.local/bin/osc52_copy
RUN echo 'export LANG=ko_KR.UTF-8' >> ~/.bashrc \
&& echo 'export LC_ALL=ko_KR.UTF-8' >> ~/.bashrc
CMD ["/bin/bash"]