74 lines
2 KiB
Text
74 lines
2 KiB
Text
FROM python:3.10
|
|
|
|
ENV DEBIAIN_FRONTEND=noninteractive
|
|
ENV PATH="$PATH:/home/smoke/.local/bin:/home/smoke/.cargo/bin"
|
|
ENV SHELL=zsh
|
|
ENV USER=smoke
|
|
ARG SMOKE_UID=1000
|
|
ARG SMOKE_GID=1000
|
|
|
|
RUN groupadd -f -g ${SMOKE_GID} smoke && \
|
|
useradd -d /home/smoke -s /bin/bash -g ${SMOKE_GID} -u ${SMOKE_UID} smoke
|
|
RUN mkdir /home/smoke && chown -R smoke:smoke /home/smoke && mkdir /src && chown smoke:smoke /src
|
|
WORKDIR /home/smoke
|
|
|
|
|
|
|
|
RUN apt update && \
|
|
apt upgrade -y && \
|
|
apt install -y \
|
|
bat \
|
|
ripgrep \
|
|
cmake \
|
|
htop \
|
|
stow \
|
|
zsh
|
|
|
|
USER smoke
|
|
WORKDIR /home/smoke/downloads
|
|
|
|
RUN wget https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage && \
|
|
mkdir -p /home/smoke/.local/bin && \
|
|
chmod u+x /home/smoke/downloads/nvim.appimage && \
|
|
/home/smoke/downloads/nvim.appimage --appimage-extract && \
|
|
rm -rf nvim.appimage && \
|
|
ln -s ~/downloads/squashfs-root/usr/bin/nvim ~/.local/bin/nvim && \
|
|
cd ~ && \
|
|
git clone https://github.com/LazyVim/starter ~/.config/nvim && \
|
|
nvim --headless -c 'quitall'
|
|
|
|
USER root
|
|
|
|
RUN curl -sS https://starship.rs/install.sh | sh -s -- -y
|
|
RUN curl -L zellij.dev/launch | sh -s -- help
|
|
|
|
RUN python3 -m pip install --upgrade pip && \
|
|
python3 -m pip install pipx && \
|
|
python3 -m pip install hatch && \
|
|
python3 -m pipx install ansible-core && \
|
|
python3 -m pipx install lolcat && \
|
|
python3 -m pipx install pyflyby && \
|
|
python3 -m pipx install rich-cli && \
|
|
python3 -m pipx install visidata
|
|
|
|
WORKDIR /app
|
|
|
|
USER smoke
|
|
|
|
## DUPLICATE from Dockerfile
|
|
## building FROM learn-sql-model will cause the cache to bust for every
|
|
## change, it needs to come after the dev installs.
|
|
COPY pyproject.toml /app
|
|
COPY learn_sql_model/__about__.py /app/learn_sql_model/__about__.py
|
|
COPY README.md /app
|
|
RUN pip3 install .
|
|
COPY . .
|
|
RUN python3 -m hatch env create && \
|
|
python3 -m hatch shell
|
|
|
|
RUN stow bin -t /home/smoke/
|
|
|
|
COPY .env.dev.docker /app/.env.dev
|
|
|
|
|
|
ENTRYPOINT /tmp/zellij/bootstrap/zellij
|