# ========================================= #
# Containerfile v1.0; job79                 #
# Configure and setup a neovim devcontainer #
# for go and nodejs development.            #
# ========================================= #
FROM quay.io/fedora/fedora:41

# === setup system ===
RUN dnf update -y && \
  dnf copr enable -y atim/lazygit && \
  dnf -y install neovim unzip \
  bash-completion zoxide fd-find chafa lazygit procps \
  git go npm

# === setup container user ===
RUN useradd -ms /bin/bash user && usermod -aG wheel user && sed -i '/NOPASSWD/s/^#//g' /etc/sudoers
RUN mkdir /run/user/1000 && chown user:user /run/user/1000
USER user
WORKDIR /home/user
COPY config/user/bashrc /home/user/.bashrc
COPY config/user/profile /home/user/.bash_profile

# === setup neovim ===
RUN git clone --depth 1 https://github.com/LazyVim/starter ~/.config/nvim
COPY --chown=user:user config/nvim/plugins /home/user/.config/nvim/lua/plugins
COPY --chown=user:user config/nvim/config /home/user/.config/nvim/lua/config
COPY --chown=user:user config/nvim/lazyvim.json /home/user/.config/nvim/lazyvim.json

# === setup container ===
ENV TZ="Europe/Amsterdam"
VOLUME /home/user/.local /home/user/.cache