File Dockerfile of Package distrobox-mcepl-packaging
# SPDX-License-Identifier: MIT
#!BuildTag: opensuse/distrobox-mcepl-packaging:latest
#!BuildTag: opensuse/distrobox-mcepl-packaging:%OS_VERSION_ID%
#!BuildTag: opensuse/distrobox-mcepl-packaging:%OS_VERSION_ID%.%RELEASE%
#!ExclusiveArch: x86_64
FROM opensuse/distrobox:latest
LABEL maintainer="Matej Cepl <mcepl@cepl.eu>"
# labelprefix=org.opensuse.distrobox-mcepl-packaging
PREFIXEDLABEL org.opencontainers.image.title="Distrobox openSUSE Packaging container (mcepl version)"
PREFIXEDLABEL org.opencontainers.image.description="Distrobox openSUSE Packaging container"
PREFIXEDLABEL org.opencontainers.image.created="%BUILDTIME%"
PREFIXEDLABEL org.opencontainers.image.version="%OS_VERSION_ID%.%RELEASE%"
PREFIXEDLABEL org.opencontainers.image.vendor="openSUSE Project"
PREFIXEDLABEL org.openbuildservice.disturl="%DISTURL%"
PREFIXEDLABEL org.opensuse.reference="registry.opensuse.org/home/mcepl/moldavite/containers/opensuse/distrobox-mcepl-packaging:%OS_VERSION_ID%.%RELEASE%"
# openSUSE-release included to ensure %OS_VERSION_ID% can be found/used by kiwi-metainfo-helper
# opensuse/distrobox-packaging
RUN zypper --non-interactive install --no-recommends git \
osc \
build \
obs-service-download_files \
obs-service-tar \
obs-service-tar_scm \
obs-service-obs_scm \
obs-service-set_version \
obs-service-recompress \
obs-service-go_modules \
obs-service-cargo \
obs-service-format_spec_file \
openSUSE-release-tools-pkglistgen \
openSUSE-release-tools \
openSUSE-release
# My additions
RUN rpm -qa python311\*
RUN zypper --non-interactive install --recommends \
openSUSE-release jq rsync rclone wl-clipboard make fzf colordiff imv aerc gawk \
dante glibc-locale spec-cleaner make rsync flatpak coreutils-doc vifm \
password-store python3-pass-git-helper password-store pass-otp file \
python3-keyring python3-keyring-keyutils python3-keyring-pass dirmngr \
python3-patatt gitea-tea hub xmlstarlet fuse-zip archivemount-ng hut fish
RUN zypper --non-interactive install --recommends w3m zip unzip quilt \
git-email git-gui git-doc git-lfs git-svn gitk xdg-utils xdg-terminal-exec \
sshfs sqlite3 ripgrep patchutils obs-scm-bridge rpm-build git-delta \
jujutsu obs-git-init par_text
RUN zypper --non-interactive install --no-recommends perl-IO-Compress
RUN zypper --non-interactive install --no-recommends hunspell myspell-en_US myspell-en_GB myspell-cs_CZ \
dictd
RUN zypper --non-interactive install --no-recommends lua-language-server clang \
python3-python-lsp-server python3-pylsp-rope nodejs-bash-language-server \
vale python3-docutils python3-rpm-spec-language-server gopls go typescript \
python3-black python3-isort python3-mypy
RUN zypper --non-interactive install --no-recommends python3-khard python3-khal awk
RUN zypper --non-interactive install --recommends zathura \
zathura-plugin-pdf-poppler zathura-plugin-ps
RUN zypper --non-interactive install --recommends gcc-c++ ShellCheck gdb \
python3-pipx python3-black \
python3-setuptools python3-pip python3-twine python3-build
# RUN zypper --non-interactive install --no-confirm --force-resolution -- -man mandoc
RUN zypper --non-interactive install --force man-pages
RUN zypper --non-interactive addlock kernel\* qemu\*
RUN zypper clean
# Set fish as the default shell for the root user
RUN usermod --shell /usr/bin/fish root
# Ensure the fish shell is used for the user created by distrobox during init
# RUN useradd -D --shell /usr/bin/fish
ENTRYPOINT ["/usr/bin/fish"]