forked from Job79/devcontainer
34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
FROM quay.io/fedora/fedora:44
|
|
|
|
# === install system packages ===
|
|
RUN --mount=type=cache,id=dnf-cache,target=/var/cache/libdnf5 \
|
|
dnf update -y && \
|
|
dnf copr enable -y agriffis/neovim-nightly && \
|
|
dnf -y --setopt=keepcache=1 --setopt=install_weak_deps=False install \
|
|
bash-completion git fzf curl awk jq fd-find unzip which \
|
|
host-spawn dbus-launch \
|
|
npm neovim wl-copy gcc
|
|
|
|
RUN LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | jq -r .tag_name | sed 's/^v//') && \
|
|
curl -sL "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazygit && \
|
|
curl -sL "https://github.com/jorgerojas26/lazysql/releases/latest/download/lazysql_Linux_x86_64.tar.gz" | tar xz -C /usr/local/bin lazysql
|
|
|
|
COPY config/bin /usr/local/bin
|
|
|
|
# === setup user ===
|
|
RUN useradd -ms /bin/bash user && \
|
|
echo 'user ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/user && \
|
|
mkdir -p /run/user/1000 && \
|
|
chown user:user /run/user/1000
|
|
|
|
USER user
|
|
WORKDIR /home/user
|
|
|
|
RUN mkdir -p .config .local .cache && \
|
|
git clone https://git.plabble.org/Job79/neovim-config.git .config/nvim
|
|
|
|
COPY --chown=user:user config/bashrc .bashrc
|
|
COPY --chown=user:user config/git .config/git/config
|
|
|
|
VOLUME /home/user
|