summaryrefslogtreecommitdiff
path: root/base/Containerfile
diff options
context:
space:
mode:
Diffstat (limited to 'base/Containerfile')
-rw-r--r--base/Containerfile66
1 files changed, 66 insertions, 0 deletions
diff --git a/base/Containerfile b/base/Containerfile
new file mode 100644
index 0000000..ae51051
--- /dev/null
+++ b/base/Containerfile
@@ -0,0 +1,66 @@
+ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-silverblue}"
+ARG BASE_IMAGE="quay.io/fedora-ostree-desktops/${IMAGE_FLAVOR}"
+ARG FEDORA_VERSION="${FEDORA_VERSION:-39}"
+
+FROM ${BASE_IMAGE}:${FEDORA_VERSION}
+ARG FEDORA_VERSION="${FEDORA_VERSION:-39}"
+
+
+COPY initial_setup.sh /usr/bin/
+COPY packages.yaml /tmp/
+COPY --from=docker.io/mikefarah/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 \
+ libavcodec-free \
+ libavfilter-free \
+ libavformat-free \
+ libavutil-free \
+ libpostproc-free \
+ libswresample-free \
+ libswscale-free && \
+ rpm-ostree install \
+ mesa-va-drivers-freeworld \
+ mesa-vdpau-drivers-freeworld \
+ gstreamer1-plugin-libav \
+ gstreamer1-plugins-bad-free-extras \
+ gstreamer1-plugins-bad-freeworld \
+ gstreamer1-plugins-ugly \
+ gstreamer1-vaapi \
+ ffmpeg
+
+
+# install third party packages & repos
+RUN cd /etc/yum.repos.d/ && \
+ curl -LO https://pkgs.tailscale.com/stable/fedora/tailscale.repo \
+ echo -e '\
+ [code]\n\
+ name=Visual Studio Code\n\
+ baseurl=https://packages.microsoft.com/yumrepos/vscode\n\
+ enabled=1\n\
+ gpgcheck=1\n\
+ gpgkey=https://packages.microsoft.com/keys/microsoft.asc\
+ ' > vscode.repo && \
+ rpm-ostree install code tailscale && \
+ systemctl enable tailscaled
+
+
+# install fedora rpms
+RUN readarray -td '' pkgs < <(/tmp/yq '.install[]' /tmp/packages.yaml) && \
+ rpm-ostree install "${pkgs[@]}"
+
+RUN sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf
+
+
+RUN rpm-ostree cleanup -m && \
+ rm -rf /tmp/* /var/* && \
+ ostree container commit