This repository has been archived by the owner on May 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: switch to new ublue-os/main image (#59)
- Loading branch information
Showing
6 changed files
with
193 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[Desktop Entry] | ||
Name=Ublue Desktop FirstBoot Setup | ||
Comment=Sets up Ublue Desktop Correctly On FirstBoot | ||
Exec=/usr/bin/ublue-firstboot | ||
Icon=org.gnome.Terminal | ||
Type=Application | ||
Categories=Utility;System; | ||
Name[en_US]=startup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
default: | ||
@just --list | ||
|
||
bios: | ||
systemctl reboot --firmware-setup | ||
|
||
changelogs: | ||
rpm-ostree db diff --changelogs | ||
|
||
distrobox-boxkit: | ||
echo 'Creating Boxkit distrobox ...' | ||
distrobox create --image ghcr.io/ublue-os/boxkit -n boxkit -Y | ||
|
||
distrobox-debian: | ||
echo 'Creating Debian distrobox ...' | ||
distrobox create --image quay.io/toolbx-images/debian-toolbox:unstable -n debian -Y | ||
|
||
distrobox-opensuse: | ||
echo 'Creating openSUSE distrobox ...' | ||
distrobox create --image quay.io/toolbx-images/opensuse-toolbox:tumbleweed -n opensuse -Y | ||
|
||
distrobox-ubuntu: | ||
echo 'Creating Ubuntu distrobox ...' | ||
distrobox create --image quay.io/toolbx-images/ubuntu-toolbox:22.04 -n ubuntu -Y | ||
|
||
setup-flatpaks: | ||
echo 'Installing flatpaks from the ublue recipe ...' | ||
flatpaks=$(dasel -f /etc/ublue-recipe.yml -r yaml -w json -s 'flatpaks') | ||
flatpaks_count=$(echo $flatpaks | dasel -r json -s 'len()') | ||
for i in $(seq 0 $(($flatpaks_count-1))); do | ||
pkg=$(echo $flatpaks | dasel -r json "[${i}]" | tr -d '"') | ||
echo "# Installing ${pkg}" | ||
flatpak install --user --noninteractive flathub $pkg | ||
done | ||
|
||
setup-pwa: | ||
echo 'Giving browser permission to create PWAs (Progressive Web Apps)' | ||
# Add for your favorite chromium-based browser | ||
flatpak override --user --filesystem=~/.local/share/applications --filesystem=~/.local/share/icons com.microsoft.Edge | ||
|
||
setup-gaming: | ||
echo 'Setting up gaming experience ... lock and load.' | ||
flatpak install -y --user \\ | ||
com.discordapp.Discord \\ | ||
com.feaneron.Boatswain \\ | ||
org.freedesktop.Platform.VulkanLayer.MangoHud//22.08 \\ | ||
org.freedesktop.Platform.VulkanLayer.OBSVkCapture//22.08 \\ | ||
org.freedesktop.Platform.VulkanLayer.vkBasalt//22.08 \\ | ||
com.heroicgameslauncher.hgl \\ | ||
com.obsproject.Studio \\ | ||
com.obsproject.Studio.Plugin.OBSVkCapture \\ | ||
com.obsproject.Studio.Plugin.Gstreamer \\ | ||
com.usebottles.bottles \\ | ||
com.valvesoftware.Steam \\ | ||
com.valvesoftware.Steam.Utility.gamescope \\ | ||
net.davidotek.pupgui2 | ||
flatpak override com.usebottles.bottles --user --filesystem=xdg-data/applications | ||
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam | ||
flatpak override --user --env=MANGOHUD=1 com.heroicgameslauncher.hgl | ||
|
||
update: | ||
rpm-ostree update | ||
flatpak update -y | ||
distrobox upgrade -a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
if test "$(id -u)" -gt "0" && test -d "$HOME"; then | ||
if test ! -e "$HOME"/.config/ublue/firstboot-done; then | ||
mkdir -p "$HOME"/.config/autostart | ||
cp -f /etc/skel.d/.config/autostart/ublue-firstboot.desktop "$HOME"/.config/autostart | ||
fi | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
rpms: | ||
flatpaks: | ||
- org.mozilla.firefox | ||
- org.mozilla.Thunderbird | ||
- com.mattjakeman.ExtensionManager | ||
- org.libreoffice.LibreOffice | ||
- org.gnome.DejaDup | ||
- org.gustavoperedo.FontDownloader | ||
- com.github.tchx84.Flatseal | ||
- io.github.celluloid_player.Celluloid |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
#!/bin/sh | ||
|
||
if test -e "$HOME"/.config/ublue/firstboot-done; then | ||
echo "Already ran" | ||
exit 0 | ||
fi | ||
|
||
( | ||
echo "# Waiting for Internet connection" | ||
until /usr/bin/ping -q -c 1 flathub.org; do sleep 1; done | ||
echo "00" | ||
|
||
echo "# Removing Filtered Flathub Repository" | ||
/usr/bin/flatpak remote-delete flathub --force ||: | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Removing Filtered Flathub Repo Failed" | ||
exit 1 | ||
fi | ||
echo "3" | ||
|
||
echo "# Enabling Flathub Repository" | ||
/usr/bin/flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Adding Flathub Repo Failed" | ||
exit 1 | ||
fi | ||
echo "5" | ||
|
||
echo "# Replacing Fedora Flatpaks with Flathub Ones (this may take a while)" | ||
/usr/bin/flatpak install --user --noninteractive org.gnome.Platform//43 | ||
/usr/bin/flatpak install --user --noninteractive --reinstall flathub $(flatpak list --app-runtime=org.fedoraproject.Platform --columns=application | tail -n +1 ) | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Replacing Fedora Flatpaks Failed" | ||
exit 1 | ||
fi | ||
echo "20" | ||
|
||
echo "Removing all preinstalled Flatpaks" | ||
/usr/bin/flatpak remove --system --noninteractive --all ||: | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Removing all preinstalled flatpaks failed" | ||
exit 1 | ||
fi | ||
|
||
echo "# Removing Fedora Flatpak Repository" | ||
/usr/bin/flatpak remote-delete fedora --force ||: | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Removing Fedora Flatpak Repo Failed" | ||
exit 1 | ||
fi | ||
echo "25" | ||
|
||
echo "# Installing flatpaks from recipe" | ||
flatpaks=$(yq '.flatpaks[]' < /etc/ublue-recipe.yml) | ||
flatpaks_count=$(yq '.flatpaks[]' < /etc/ublue-recipe.yml | wc -l) | ||
i=0 | ||
for pkg in $flatpaks; do | ||
echo "# Installing ${pkg}" | ||
/usr/bin/flatpak install --user --noninteractive flathub $pkg | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Installing ${pkg} Failed" | ||
exit 1 | ||
fi | ||
i=$((i+1)) | ||
# Automatically calculates evenly spaced progess using bc, cuts everything after decimal point. | ||
echo "${i}/${flatpaks_count} * (95-30) + 30" | bc -l | cut -d "." -f1 | ||
done | ||
|
||
|
||
|
||
echo "Enabling Flatpak auto update" | ||
/usr/bin/systemctl --user enable --now flatpak-user-update.timer | ||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Setting Flatpak Autoupdate Failed" | ||
exit 1 | ||
fi | ||
echo "100" | ||
|
||
|
||
echo "# Reticulating Final Splines" | ||
mkdir -p "$HOME"/.config/ublue/ | ||
touch "$HOME"/.config/ublue/firstboot-done | ||
cp -n /etc/justfile "$HOME"/.justfile | ||
|
||
) | | ||
|
||
zenity --progress --title="uBlue Desktop Firstboot" --percentage=0 --auto-close --no-cancel --width=300 | ||
|
||
if [ "$?" != 0 ] ; then | ||
zenity --error \ | ||
--text="Firstboot Configuration Error" | ||
fi |