my-ostree-OS/Dockerfile

70 lines
3.7 KiB
Text
Raw Normal View History

2023-07-13 19:35:04 +02:00
ARG IMAGE_NAME="${IMAGE_NAME:-kinoite}"
ARG SOURCE_IMAGE="${SOURCE_IMAGE:-kinoite}"
ARG BASE_IMAGE="quay.io/fedora-ostree-desktops/${SOURCE_IMAGE}"
2024-01-02 00:08:54 +01:00
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-39}"
2023-07-13 19:35:04 +02:00
2023-09-16 11:03:01 +02:00
2024-01-02 00:08:54 +01:00
FROM ghcr.io/andersrh/my-ostree-os-kernel-akmods:main-39 AS builder
2023-07-13 19:35:04 +02:00
ARG CACHEBUST=0
2023-07-13 19:35:04 +02:00
ARG IMAGE_NAME="${IMAGE_NAME}"
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
2023-09-19 17:38:57 +02:00
RUN cd /tmp && \
rpm-ostree install ksshaskpass cronie distrobox fish flatpak-builder libcap-ng-devel libvirt-daemon-driver-lxc libvirt-daemon-lxc lld nvtop procps-ng-devel seadrive-gui virt-manager kerver pulseaudio-utils hfsplus-tools VirtualBox && \
2023-07-25 10:29:39 +02:00
# install Mullvad VPN
mkdir /var/opt && rpm-ostree install https://mullvad.net/da/download/app/rpm/latest && \
mv "/opt/Mullvad VPN" /usr/lib/opt/ && \
2023-09-07 15:57:24 +02:00
# enable automatic updates
sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf && \
2023-09-07 16:54:05 +02:00
# change auto update interval
2023-09-26 23:37:21 +02:00
sed -i 's/OnUnitInactiveSec.*/OnUnitInactiveSec=1h\nOnCalendar=*-*-* 06:40:00\nPersistent=true/' /usr/lib/systemd/system/rpm-ostreed-automatic.timer
2023-09-25 18:08:51 +02:00
# Install TeamViewer
2023-10-15 16:18:33 +02:00
RUN rpm-ostree install https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm && \
mv "/opt/teamviewer" /usr/lib/opt/
2023-10-16 13:34:27 +02:00
# Disable Teamviewerd by default
RUN systemctl disable teamviewerd
2023-10-30 07:23:47 +01:00
RUN systemctl enable rpm-ostreed-automatic.timer
2023-09-25 18:08:51 +02:00
# Change ZRAM max to 16GB
RUN sed -i 's/zram-size.*/zram-size = min(ram, 16384)/' /usr/lib/systemd/zram-generator.conf
2023-11-09 14:44:17 +01:00
# Add docker-compose dependency for "podman compose" command
RUN rpm-ostree install docker-compose
# Add docker -> podman alias for docker-compose to work properly
RUN ln -s /usr/bin/podman /usr/bin/docker
2023-12-16 17:29:50 +01:00
# Disable SELinux
RUN sed -i "s/^SELINUX=.*$/SELINUX=permissive/g" /etc/sysconfig/selinux && sed -i "s/^SELINUX=.*$/SELINUX=permissive/g" /etc/selinux/config
# pipewire clang
RUN cd /etc/yum.repos.d/ && wget https://copr.fedorainfracloud.org/coprs/trixieua/pipewire-clang/repo/fedora-$(rpm -E %fedora)/trixieua-pipewire-clang-fedora-$(rpm -E %fedora).repo && rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:trixieua:pipewire-clang pipewire pipewire-libs pipewire-pulseaudio pipewire-alsa pipewire-utils pipewire-gstreamer pipewire-jack-audio-connection-kit pipewire-jack-audio-connection-kit-libs
# Xwayland clang
RUN cd /etc/yum.repos.d/ && wget https://copr.fedorainfracloud.org/coprs/trixieua/Xwayland/repo/fedora-$(rpm -E %fedora)/trixieua-Xwayland-fedora-$(rpm -E %fedora).repo && rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:trixieua:Xwayland xorg-x11-server-Xwayland
# add Haruna media player to host for better VAAPI performance
RUN rpm-ostree install haruna
2024-01-03 17:11:14 +01:00
# software to be replaced with clang version
RUN rpm-ostree override replace --experimental --from repo=fedora-clang podman tar kpipewire NetworkManager-libnm NetworkManager NetworkManager-vpnc NetworkManager-wwan NetworkManager-wifi NetworkManager-ppp NetworkManager-bluetooth NetworkManager-config-connectivity-fedora wayland-utils xz xz-libs gzip bzip2-libs bzip2 libzip firefox firefox-langpacks libarchive rsync libva dbus-broker dbus-glib wget dbusmenu-qt
# Get latest Ledger Live AppImage
RUN wget https://download.live.ledger.com/latest/linux -O /usr/bin/ledgerlive && chmod +x /usr/bin/ledgerlive
2024-01-14 16:29:29 +01:00
# Install AppImageLauncher
RUN rpm-ostree install https://github.com/TheAssassin/AppImageLauncher/releases/download/continuous/appimagelauncher-2.2.0-gha111.d9d4c73.x86_64.rpm
2023-09-25 18:08:51 +02:00
# Copy config files
COPY etc /etc
# Copy /usr
COPY usr /usr
2023-09-25 18:08:51 +02:00
2023-12-16 20:37:26 +01:00
# Enable /nix mount service
RUN systemctl enable mount-nix-prepare.service
# Clear cache, /var and /tmp and commit ostree
RUN rm -rf /tmp/* /var/* && mkdir -p /var/tmp && chmod -R 1777 /var/tmp && \
ostree container commit