mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-01-06 00:58:16 +00:00
eeb93f9700
These changes effectively make the structure similar to bluefin. bazzite now serves as a base for desktop configurations and now bazzite-deck has been introduced to add changes specific to the Steam Deck and Steam Deck-alike configurations. Also: - Introduce images built from main for non-Nvidia systems - Consolidate structure (remove duplicates, merge Containerfiles)
104 lines
4.1 KiB
Docker
104 lines
4.1 KiB
Docker
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-kinoite}"
|
|
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}"
|
|
ARG SOURCE_IMAGE="${SOURCE_IMAGE:-$BASE_IMAGE_NAME-$IMAGE_FLAVOR}"
|
|
ARG BASE_IMAGE="ghcr.io/ublue-os/${SOURCE_IMAGE}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-38}"
|
|
|
|
FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS bazzite
|
|
|
|
ARG IMAGE_NAME="${IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
|
|
|
|
COPY etc /etc
|
|
COPY usr /usr
|
|
|
|
# Add Copr repos
|
|
RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite/repo/fedora-$(rpm -E %fedora)/kylegospo-bazzite-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
|
|
wget https://copr.fedorainfracloud.org/coprs/kylegospo/system76-scheduler/repo/fedora-$(rpm -E %fedora)/kylegospo-system76-scheduler-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo && \
|
|
wget https://copr.fedorainfracloud.org/coprs/kylegospo/hl2linux-selinux/repo/fedora-$(rpm -E %fedora)/kylegospo-hl2linux-selinux-fedora-$(rpm -E %fedora).repo -O /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo
|
|
|
|
# Install new packages
|
|
RUN rpm-ostree install \
|
|
distrobox \
|
|
steamdeck-kde-themes \
|
|
wallpaper-engine-kde-plugin \
|
|
duperemove \
|
|
kdeconnectd \
|
|
system76-scheduler \
|
|
hl2linux-selinux \
|
|
btop \
|
|
fish \
|
|
kate
|
|
|
|
# Remove unneeded packages
|
|
RUN rpm-ostree override remove toolbox
|
|
|
|
# Cleanup & Finalize
|
|
RUN sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
|
|
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-system76-scheduler.repo && \
|
|
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \
|
|
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/user.conf && \
|
|
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/system.conf && \
|
|
sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \
|
|
systemctl enable rpm-ostreed-automatic.timer && \
|
|
rm -rf \
|
|
/tmp/* \
|
|
/var/* && \
|
|
mkdir -p /var/lib/duperemove && \
|
|
ostree container commit && \
|
|
mkdir -p /var/tmp && \
|
|
chmod -R 1777 /var/tmp
|
|
|
|
FROM bazzite as bazzite-deck
|
|
|
|
ARG IMAGE_NAME="${IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
|
|
|
|
# Add LatencyFlex Copr
|
|
RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/LatencyFleX/repo/fedora-$(rpm -E %fedora)/kylegospo-LatencyFleX-fedora-$(rpm -E %fedora).repo -O \
|
|
/etc/yum.repos.d/_copr_kylegospo-latencyflex.repo
|
|
|
|
# Re-enable Copr
|
|
RUN sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
|
|
sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo
|
|
|
|
# Remove system76-scheduler
|
|
RUN rpm-ostree override remove system76-scheduler
|
|
RUN rm -f /usr/bin/system76-scheduler-dbus-proxy.sh
|
|
|
|
# Remove steamdeck-kde-themes
|
|
RUN rpm-ostree override remove steamdeck-kde-themes
|
|
|
|
COPY deck/etc /etc
|
|
COPY deck/usr /usr
|
|
RUN ln -s /usr/bin/steamos-logger /usr/bin/steamos-info && \
|
|
ln -s /usr/bin/steamos-logger /usr/bin/steamos-notice && \
|
|
ln -s /usr/bin/steamos-logger /usr/bin/steamos-warning
|
|
|
|
# Install new packages
|
|
RUN rpm-ostree install \
|
|
steam \
|
|
gamescope \
|
|
gamescope-session \
|
|
jupiter-fan-control \
|
|
jupiter-hw-support-btrfs \
|
|
steamdeck-kde-presets \
|
|
gamemode \
|
|
latencyflex-vulkan-layer \
|
|
vkBasalt \
|
|
mangohud
|
|
|
|
# Install dock updater, this is done manually as it has proprietary parts and cannot be built in Copr.
|
|
RUN git clone https://github.com/KyleGospo/jupiter-dock-updater-bin.git && \
|
|
mv -v jupiter-dock-updater-bin/packaged/usr/lib/jupiter-dock-updater /usr/lib/jupiter-dock-updater
|
|
|
|
# Cleanup & Finalize
|
|
RUN sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-bazzite.repo && \
|
|
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-latencyflex.repo && \
|
|
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/_copr_kylegospo-hl2linux-selinux.repo && \
|
|
rm -rf \
|
|
/tmp/* \
|
|
/var/* && \
|
|
mkdir -p /var/lib/duperemove && \
|
|
ostree container commit
|