Here is a first review:
What is Fedora libostree (Silverblue/Kinoite/Sericia)?
In general we don’t use the “libostree” name that much and not for those variants. We use “Fedora ostree based desktops” or “Fedora immutable desktops” for now until we have a better name.
It fetches the image and “layers” it on top of the current one during an upgrade, providing more robust and reliable system upgrades.
Each new deployment (version of the system) that is installed is created from scratch, it is not layered on an existing one.
Although it is not as customizable as Fedora Workstation.
You are free to change anything in Silverblue. It is not done the same way as it is in Workstation but you can still do it.
System Update
For Silverblue & Kinoite we should probably recommend using GNOME Software or Plasma Discover to update the system and then fall back to the command line if it does not work for any reason.
The first thing users should do after the installation is apply updates and reboot immediately.
Mount External Drives
This section is not specific to Silverblue/Kinoite. Users will also likely mount their external drives using the graphical file manager.
If we keep this section then we should add notes about the paths that should preferably be used on Silverblue (anything under /var).
It is also recommended to add the nofail
option to those fstab entries to avoid breaking the boot if the device is not plugged in.
Flatpak Setup
Flathub is now unfiltered by default in Fedora: Changes/UnfilteredFlathub - Fedora Project Wiki
The user should be prompted to enable it on first boot. Updating users may not have it fully unfiltered.
Fedora has its own Flatpak repository where it filters some of the applications
This is not a filter. Only some applications are available from the Fedora remote because they are not copy/pasted from Flathub, they are built differently, from RPMs.
Afer this, do the first reboot.
You don’t need to reboot after setting up a flatpak remote.
Reinstalling Versioned Third-Party Repositories
This is Simplifying updates for RPM Fusion packages (and other packages shipping their own RPM repos) but in a super vague way. Not sure users will understand that this apply to them.
Theming on libostree systems
Since Flatpaks are sandboxed, they cannot access the GTK theme you’ve installed in your system. One solution is to install the Flatpak version of the GTK theme you are using, which you can find with:flatpak search gtk3
Or override the themes directory which depends on how the theme was installed:choose one, you can do all of them but I don’t recommend doing it
if installed in home dir
sudo flatpak override --system --filesystem=$HOME/.themes # if installed in home dirif layered in your system
sudo flatpak override --system --filesystem=/usr/share/themesor whatever
sudo flatpak override --system --filesystem=xdg-data/themes
This needs confirmation from a GTK specialist. Otherwise it’s What Not to Recommend to Flatpak Users | TheEvilSkeleton
Permissions on libostree systems
As another Reddit user (u/IceOleg) suggested, you can disable the access to home and host dir with:
Applications that request those permissions are usually doing so for a good reason, and usually because they are not yet fully compatible with the Flatpak way of doing things (using portals). Suggesting user remove those permissions will create weird issues for them that they may not know how to fix.
Focusing on Flatseal is a better experience than using the command line to change permissions.
Theming Extended
See What Not to Recommend to Flatpak Users | TheEvilSkeleton
Disable dm-crypt workqeues for SSD user to improve performance on libostree systems
There are two ways to disable this in Fedora Silverblue:
Option A: /ETC/CRYPTTAB
I do not recommend this method
If we do not recommend something then we should not include it :). Let’s document only the method we recommend.
Removing base image packages on libostree systems
I do not recommend this, but you can do this if you want to.
Again, if we don’t recommend something, then we don’t include it.
Removing packages from the base image is usually not a good idea, and gains nothing in terms of disk space.
Set battery threshold for laptop users
There is graphical support to set that in Kinoite. Not sure about Silverblue & Sericea. This is not something specific to rpm-ostree based systems.
Keyboard backlight
This is not something specific to rpm-ostree based systems.
then you use brightnessctl which is already installed.
It’s not installed on Kinoite, have not checked on other variants yet.
Set suspend to deep sleep
sudo grubby --update-kernel=ALL --args=“mem_sleep_default=deep”
This will not work. This needs to use rpm-ostree kargs ...
Use Fish as default shell
sudo usermod --shell /usr/bin/fish $USER
We do not recommend changing the default shell on Silverblue as it may lead to unexpected issues: [BUG] using lchsh to change the shell brings user back to fedora setup · Issue #307 · fedora-silverblue/issue-tracker · GitHub. You probably want something like [BUG] using lchsh to change the shell brings user back to fedora setup · Issue #307 · fedora-silverblue/issue-tracker · GitHub instead.
Customize Fish (basics)
This is not something specific to rpm-ostree based systems.
touch $HOME/.local/share/applications/code.desktop
You should probably copy the one installed by the app in /usr/share/applications/code.desktop and then modify it.
Since the filesystem is immutable, you cannot import the GPG
We have documentation to add external repos and GPG keys to Silverblue: Troubleshooting :: Fedora Docs
rpm-ostree refresh-md
Not needed.
Block telemetry
OK, but it’s not Silverblue specific? Maybe we should recommend VSCodium instead?