75 lines
1.6 KiB
Docker
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"]
|
|
|