Use fedora:latest as base image #1
@ -1,5 +1,18 @@
|
|||||||
FROM registry.fedoraproject.org/fedora-toolbox:39
|
FROM fedora:latest as base
|
||||||
|
LABEL com.github.containers.toolbox="true"
|
||||||
|
|
||||||
|
# Install base packages
|
||||||
|
COPY base-packages.txt /
|
||||||
|
RUN dnf -y upgrade \
|
||||||
|
&& dnf install -y $(<base-packages.txt) \
|
||||||
|
&& dnf clean -y all
|
||||||
|
RUN rm /base-packages.txt
|
||||||
|
|
||||||
|
# Squash image to reduce final size
|
||||||
|
FROM scratch as squashed
|
||||||
|
COPY --from=base / /
|
||||||
|
|
||||||
|
FROM squashed
|
||||||
# Install vscode repo
|
# Install vscode repo
|
||||||
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||||
RUN echo -e "\
|
RUN echo -e "\
|
||||||
@ -12,14 +25,12 @@ gpgkey=https://packages.microsoft.com/keys/microsoft.asc\n\
|
|||||||
" > /etc/yum.repos.d/vscode.repo
|
" > /etc/yum.repos.d/vscode.repo
|
||||||
|
|
||||||
# Install packages
|
# Install packages
|
||||||
RUN dnf update -y \
|
RUN dnf install -y \
|
||||||
&& dnf install -y \
|
|
||||||
code \
|
code \
|
||||||
golang \
|
golang \
|
||||||
neovim \
|
neovim \
|
||||||
pinentry \
|
pinentry \
|
||||||
pipx \
|
pipx \
|
||||||
pre-commit \
|
|
||||||
python3 \
|
python3 \
|
||||||
zsh \
|
zsh \
|
||||||
&& dnf clean -y all
|
&& dnf clean -y all
|
||||||
@ -28,6 +39,7 @@ RUN dnf update -y \
|
|||||||
RUN PIPX_HOME=/usr/local/lib/pipx PIPX_BIN_DIR=/usr/local/bin pipx install \
|
RUN PIPX_HOME=/usr/local/lib/pipx PIPX_BIN_DIR=/usr/local/bin pipx install \
|
||||||
ipython \
|
ipython \
|
||||||
pip-audit \
|
pip-audit \
|
||||||
|
pre-commit \
|
||||||
poetry \
|
poetry \
|
||||||
&& rm -rf /root/.cache
|
&& rm -rf /root/.cache
|
||||||
|
|
||||||
@ -36,6 +48,7 @@ ENV GOBIN=/usr/local/bin
|
|||||||
RUN go install github.com/cweill/gotests/gotests@latest \
|
RUN go install github.com/cweill/gotests/gotests@latest \
|
||||||
&& go install github.com/fatih/gomodifytags@latest \
|
&& go install github.com/fatih/gomodifytags@latest \
|
||||||
&& go install github.com/go-delve/delve/cmd/dlv@latest \
|
&& go install github.com/go-delve/delve/cmd/dlv@latest \
|
||||||
|
&& go install github.com/go-task/task/v3/cmd/task@latest \
|
||||||
&& go install github.com/haya14busa/goplay/cmd/goplay@latest \
|
&& go install github.com/haya14busa/goplay/cmd/goplay@latest \
|
||||||
&& go install github.com/josharian/impl@latest \
|
&& go install github.com/josharian/impl@latest \
|
||||||
&& go install golang.org/x/tools/gopls@latest \
|
&& go install golang.org/x/tools/gopls@latest \
|
||||||
|
46
base-packages.txt
Normal file
46
base-packages.txt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
bc
|
||||||
|
bzip2
|
||||||
|
cracklib-dicts
|
||||||
|
diffutils
|
||||||
|
dnf-plugins-core
|
||||||
|
findutils
|
||||||
|
flatpak-spawn
|
||||||
|
fpaste
|
||||||
|
git
|
||||||
|
gnupg2
|
||||||
|
gnupg2-smime
|
||||||
|
gvfs-client
|
||||||
|
hostname
|
||||||
|
iproute
|
||||||
|
iputils
|
||||||
|
keyutils
|
||||||
|
krb5-libs
|
||||||
|
less
|
||||||
|
lsof
|
||||||
|
mesa-dri-drivers
|
||||||
|
mesa-vulkan-drivers
|
||||||
|
mtr
|
||||||
|
nss-mdns
|
||||||
|
openssh-clients
|
||||||
|
passwd
|
||||||
|
pigz
|
||||||
|
procps-ng
|
||||||
|
psmisc
|
||||||
|
rsync
|
||||||
|
shadow-utils
|
||||||
|
sudo
|
||||||
|
tcpdump
|
||||||
|
time
|
||||||
|
traceroute
|
||||||
|
tree
|
||||||
|
unzip
|
||||||
|
util-linux
|
||||||
|
vte-profile
|
||||||
|
vulkan-loader
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
whois
|
||||||
|
words
|
||||||
|
xorg-x11-xauth
|
||||||
|
xz
|
||||||
|
zip
|
Loading…
Reference in New Issue
Block a user