blob: 3811d96ae9a059686fd631e2a0537e42600a591c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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 override remove libavcodec-free libavfilter-free libavformat-free libavutil-free libpostproc-free libswresample-free libswscale-free
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
|