ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-silverblue}" ARG BASE_IMAGE="quay.io/fedora-ostree-desktops/${IMAGE_FLAVOR}" ARG FEDORA_VERSION="${FEDORA_VERSION:-39}" FROM docker.io/mikefarah/yq as yq FROM ghcr.io/getchoo/config:${FEDORA_VERSION} as config FROM ${BASE_IMAGE}:${FEDORA_VERSION} as builder ARG FEDORA_VERSION COPY initial_setup.sh /usr/bin/ COPY packages.yaml /tmp/ COPY --from=yq /usr/bin/yq /tmp/ # remove non-flatpak firefox RUN rpm-ostree override remove firefox firefox-langpacks # setup third party repos RUN rpm-ostree install \ https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-${FEDORA_VERSION}.noarch.rpm \ https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-${FEDORA_VERSION}.noarch.rpm # install software/hardware codecs RUN rpm-ostree override remove mesa-va-drivers --install mesa-va-drivers-freeworld RUN rpm-ostree install mesa-vdpau-drivers-freeworld RUN rpm-ostree install ffmpeg gstreamer1-plugin-libav gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly gstreamer1-vaapi # install third party packages & repos COPY vscode.repo /etc/yum.repos.d/ RUN cd /etc/yum.repos.d/ && \ curl -LO https://pkgs.tailscale.com/stable/fedora/tailscale.repo && \ rpm-ostree install code tailscale && \ systemctl enable tailscaled # install fedora rpms RUN export pkgs=($(/tmp/yq '.install[]' /tmp/packages.yaml)) && \ rpm-ostree install "${pkgs[@]}" # enable automatic updates RUN sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf # install container policy COPY --from=config /rpms /tmp/config RUN rpm-ostree install /tmp/config/container-policy/getchoo-container-policy*.rpm RUN rpm-ostree cleanup -m && \ rm -rf /tmp/* /var/* && \ ostree container commit