All checks were successful
Build containers / changes (push) Successful in 3s
Build containers / base-image (push) Successful in 45s
Build containers / dependent-images (go) (push) Successful in 17s
Build containers / dependent-images (php) (push) Successful in 20s
Build containers / dependent-images (infra) (push) Successful in 54s
36 lines
1.6 KiB
Docker
36 lines
1.6 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 -y --setopt=keepcache=1 --setopt=install_weak_deps=False install \
|
|
bash-completion git-core fzf curl awk jq fd-find unzip which \
|
|
host-spawn \
|
|
npm 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 && \
|
|
curl -sL "https://github.com/neovim/neovim/releases/download/nightly/nvim-linux-x86_64.tar.gz" | tar xz -C /usr/local --strip-components=1 && \
|
|
GO_VERSION=$(curl -sL "https://go.dev/VERSION?m=text" | head -n 1 | tr -d '\r\n') && \
|
|
curl -sL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" | tar xz -C /usr/local/bin --strip-components=2 go/bin/go go/bin/gofmt
|
|
|
|
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
|