From d45cf74d39890960a5ee65526cf0f5c7828b1fbb Mon Sep 17 00:00:00 2001 From: Thomas Duckworth Date: Sun, 29 Mar 2026 19:20:05 +1100 Subject: [PATCH] Ship our own kde-mimeapps.list file Allows us to easily assign systemwide default applications for KDE Linux. This is required for Package Compatibility Helper to work, and saves us editing the packaged kde-mimeapps.list in place to set Firefox as the default web browser. See https://specifications.freedesktop.org/mime-apps/latest/file.html for the lookup order. --- .../usr/share/applications/kde-mimeapps.list | 17 +++++++++++++++++ mkosi.finalize.d/40-core.sh.chroot | 3 --- mkosi.postinst.chroot | 4 ++++ 3 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 mkosi.extra/usr/share/applications/kde-mimeapps.list diff --git a/mkosi.extra/usr/share/applications/kde-mimeapps.list b/mkosi.extra/usr/share/applications/kde-mimeapps.list new file mode 100644 index 0000000..c01b13b --- /dev/null +++ b/mkosi.extra/usr/share/applications/kde-mimeapps.list @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: CC0-1.0 +# SPDX-FileCopyrightText: None + +[Default Applications] + +# Assign unsupported package types to Package Compatibility Helper +application/x-ms-dos-executable=org.kde.package-compatibility-helper.desktop +application/x-msi=org.kde.package-compatibility-helper.desktop +application/x-ms-shortcut=org.kde.package-compatibility-helper.desktop +application/vnd.microsoft.portable-executable=org.kde.package-compatibility-helper.desktop +application/x-msdownload=org.kde.package-compatibility-helper.desktop +application/x-rpm=org.kde.package-compatibility-helper.desktop +application/vnd.debian.binary-package=org.kde.package-compatibility-helper.desktop + +# Set Firefox as the default web browser +x-scheme-handler/http=org.mozilla.firefox.desktop +x-scheme-handler/https=org.mozilla.firefox.desktop diff --git a/mkosi.finalize.d/40-core.sh.chroot b/mkosi.finalize.d/40-core.sh.chroot index b6426a2..1e5c765 100755 --- a/mkosi.finalize.d/40-core.sh.chroot +++ b/mkosi.finalize.d/40-core.sh.chroot @@ -133,9 +133,6 @@ rm -rf \ /usr/lib/modules/*/vdso \ /usr/src/* -## Replace Falkon with Firefox as the default browser, since that's what we pre-install. -sed -i 's/org.kde.falkon.desktop/org.mozilla.firefox.desktop/' /usr/share/applications/kde-mimeapps.list - # Prevent tuned from messing with the vm.swappiness parameter we already set sed --in-place 's|^vm.swappiness.*||' /usr/lib/tuned/profiles/*/* diff --git a/mkosi.postinst.chroot b/mkosi.postinst.chroot index dbec13d..cd9d9df 100755 --- a/mkosi.postinst.chroot +++ b/mkosi.postinst.chroot @@ -141,6 +141,10 @@ for theme in $(plymouth-set-default-theme --list); do fi done +# Rename the packaged kde-mimeapps.list to mimeapps.list +# This allows our kde-mimeapps.list to take precedence. +mv -v /usr/share/applications/kde-mimeapps.list /usr/share/applications/mimeapps.list + cd /tmp /usr/lib/rebuild-efi mv -v ./*.efi /