1
0
Fork 0
ostree-native-containers/containers/Dockerfile.kde
ver4a 1165bdc3e4
Some checks failed
/ Build onc-kde:main (push) Has been cancelled
/ Build onc-kde:main-ver4a (push) Has been cancelled
/ Build onc-kde:main-nvidia (push) Has been cancelled
/ Build onc-kde:main-nvidia-ver4a (push) Has been cancelled
fix: fix-up the kconfig path for csx_lavd
Previous commit added an environment file with command substitution,
which is not possible. This commit fixes that by generating the file
during build. This solution should be reasonably robust, because for
every image there is only a single kernel version.
2026-01-25 19:08:40 +01:00

78 lines
2.6 KiB
Text

FROM quay.io/fedora-ostree-desktops/kinoite:43 AS mpv-build
RUN dnf5 -y install --setopt install_weak_deps=false git-core meson g++ autoconf cmake automake libtool freetype-devel fribidi-devel nasm pipewire-devel wayland-devel wayland-protocols-devel libshaderc-devel libxkbcommon-devel vulkan-loader-devel compat-lua-devel libva-devel openssl-devel lcms2-devel
RUN mkdir /build && cd /build && git clone https://github.com/mpv-player/mpv-build.git
COPY ./mpv_options /build/mpv-build/mpv_options
RUN cd /build/mpv-build && ./rebuild -j$(nproc)
FROM quay.io/fedora-ostree-desktops/kinoite:43 AS scx-build
RUN dnf5 -y install --setopt install_weak_deps=false cargo git-core elfutils-libelf-devel clang rust-libseccomp-devel
RUN mkdir /build && cd /build && git clone https://github.com/sched-ext/scx
RUN mkdir -m 700 /var/roothome
RUN cd /build/scx && cargo build --release -p scx_lavd
FROM quay.io/fedora-ostree-desktops/kinoite:43
COPY --from=mpv-build /build/mpv-build/mpv/build/mpv /bin/mpv
COPY --from=scx-build /build/scx/target/release/scx_lavd /usr/bin/scx_lavd
COPY --from=scx-build /build/scx/services/scx.service /usr/lib/systemd/system/scx.service
# dnf configuration has to be in effect during build
COPY etc/dnf /etc/dnf
# fix-up kconfig path
RUN sed -i "/SCX_FLAGS=/ s/$/ --kconfig \/usr\/lib\/modules\/$(uname -r)\/config/" /etc/default/scx
# Add rpmfusion repositories
RUN dnf5 -y install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# Install ffmpeg (removing all the -free replacements is required)
RUN dnf5 -y install --allowerasing ffmpeg
# Install hardware codecs
RUN dnf5 -y install intel-media-driver
# Install gpu utilities
RUN dnf5 -y install igt-gpu-tools
# Install openh264
RUN dnf5 -y swap noopenh264 openh264 && dnf5 -y install mozilla-openh264
# Bulk of layered packages
RUN dnf5 -y install vim bat btop pv restic zstd nmap-ncat yt-dlp
# Set vim as default editor
RUN dnf5 -y swap nano-default-editor vim-default-editor
# Remove default color prompt (is replaced with a custom one)
RUN dnf5 -y remove bash-color-prompt
# Load the ntsync kernel module on boot
RUN dnf5 -y install ntsync-autoload
# Apply configuration
COPY etc /etc
COPY usr /usr
# Apply hardened firewall configuration
RUN firewall-offline-cmd --set-default-zone public
RUN firewall-offline-cmd --remove-service ssh
# Restrict permissions on quadlet directory
RUN chmod 700 /etc/containers/systemd
# https://github.com/ostreedev/ostree-rs-ext/issues/159
RUN ostree container commit
LABEL quay.expires-after=""