diff --git a/system_files/desktop/shared/usr/bin/bazzite-flathub-setup b/system_files/desktop/shared/usr/bin/bazzite-flathub-setup new file mode 100755 index 00000000..d99e7f30 --- /dev/null +++ b/system_files/desktop/shared/usr/bin/bazzite-flathub-setup @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +if grep -qz 'fedora' <<< $(flatpak remotes); then + flatpak remote-delete --user fedora --force +fi +flatpak remote-add --if-not-exists --user flathub /etc/flatpak/remotes.d/flathub.flatpakrepo +flatpak remote-modify --user --enable flathub diff --git a/system_files/desktop/shared/usr/bin/bazzite-user-setup b/system_files/desktop/shared/usr/bin/bazzite-user-setup index 2b535b5d..88d4812f 100755 --- a/system_files/desktop/shared/usr/bin/bazzite-user-setup +++ b/system_files/desktop/shared/usr/bin/bazzite-user-setup @@ -132,11 +132,7 @@ fi timedatectl set-ntp true # Setup Flathub -if grep -qz 'fedora' <<< $(flatpak remotes); then - flatpak remote-delete --user fedora --force -fi -flatpak remote-add --if-not-exists --user flathub /etc/flatpak/remotes.d/flathub.flatpakrepo -flatpak remote-modify --user --enable flathub +pkexec /usr/bin/bazzite-flathub-setup # Prevent future executions echo "Writing state file" diff --git a/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.flathub.policy b/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.flathub.policy new file mode 100644 index 00000000..57ac63d0 --- /dev/null +++ b/system_files/desktop/shared/usr/share/polkit-1/actions/org.bazzite.flathub.policy @@ -0,0 +1,21 @@ + + + + + Bazzite + https://github.com/ublue-os/bazzite/ + + + Enables the flathub user repository automatically + package-x-generic + + yes + yes + yes + + /usr/bin/bazzite-flathub-setup + + + diff --git a/system_files/desktop/shared/usr/share/polkit-1/rules.d/20-flathub.rules b/system_files/desktop/shared/usr/share/polkit-1/rules.d/20-flathub.rules new file mode 100644 index 00000000..bd94a7ec --- /dev/null +++ b/system_files/desktop/shared/usr/share/polkit-1/rules.d/20-flathub.rules @@ -0,0 +1,6 @@ +polkit.addRule(function(action, subject) { + if ((action.id == "org.bazzite.policykit.flathub.setup") && + subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); \ No newline at end of file