Krótki wpis w którym opiszę sposób na usprawnienie działania Fedora Silverblue.

Zaczęło się od się tego, że przypadkiem natknąłem się na kanał Jorge Castro, który zaczął na bazie Silverblue budować projekt ublueit. Nie będę opisywał czego dotyczy ów projekt, ale w jednym z publicznie dostępnych repozytoriów natknałem się na skrypty usprawniające domyślną instalację Fedory.

Po pierwsze, można odchudzić domyślną gałąź o firefox, potem zainstalujemy wersję z flatpak.

rpm-ostree override remove firefox firefox-langpacks

Po drugie, można na głównej gałęzi zainstalować distrobox. Pozwala w łatwy sposób użwać obrazów wielu popularnych dystrubucji.

rpm-ostree install distrobox

Warto ustawić sobie automatyczne aktualizacje systemu. W przypadku Fedory Silverblue jest to całkowicie bezpieczne. Zawsze można w prosty sposób powrócić na poprzednią generację systemu.

sudo sed -i 's/#AutomaticUpdatePolicy.*/AutomaticUpdatePolicy=stage/' /etc/rpm-ostreed.conf

systemctl enable rpm-ostreed-automatic.timer

Domyślnie Fedora korzysta z własnego repozytorium flatpak. Nie jest to idealne rozwiązanie, bo paru pakietów brakuje, a niektóre są starsze niż na flathub.org. Można rozważyć całkowite zastąpienie zainstalowanych już wersji paczek z repozytorium fedorowego, tym z flathub. Zacząć należy od dodania repozytorium flathub.

flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Poniższe komendy zastąpią nam paczki:

flatpak install --user --noninteractive org.gnome.Platform//44

flatpak install --user --noninteractive --reinstall flathub $(flatpak list --app-runtime=org.fedoraproject.Platform --columns=application | tail -n +1 )

Dla czystości systemu, usuwam również preinstalowane aplikacje oraz repo fedory:

sudo flatpak remove --system --noninteractive --all

sudo flatpak remote-delete fedora --force

Od teraz każdy pakiet instalowany jako flatpak będzie używał domyślnie repo flathub.org. Wracamy teraz do usuniętego firefox.

flatpak install --user firefox

Zawsze instaluję jeszcze bardzo podstawowy pakiet potrzebnych aplikacji.

flatpak install --user --noninteractive flathub org.mozilla.firefox org.gustavoperedo.FontDownloader com.github.tchx84.Flatseal com.mattjakeman.ExtensionManager

Automatyczna aktualizacja systemu za nami, warto ustawić automatyczną aktualizację flatpaków.

mkdir -p ~/.config/systemd/user

Do utworzonego katalogu dodajemy dwa serwisy: flatpak-user-update.service

[Unit]
Description=Flatpak Automatic Update
Documentation=man:flatpak(1)
Wants=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/flatpak --user update -y --noninteractive

[Install]
WantedBy=multi-user.target

flatpak-user-update.timer

[Unit]
Description=Flatpak Automatic Update Trigger
Documentation=man:flatpak(1)

[Timer]
OnBootSec=5m
OnCalendar=0/6:00:00
Persistent=true

[Install]
WantedBy=timers.target

Teraz wystarczy dodać serwis do autostartu

systemctl --user enable --now flatpak-user-update.timer

Po tych wszystkich zabiegach otrzymujemy odchudzoną wersję Fedora Silverblue z przełączonym repozytorium flatpak oraz włączoną automatyczną aktualizcją. Warto wspomnieć, że aktualizacja flatpaków nie wymaga restartu maszyny. Natomiast aktualizacja głównego systemu wymaga restartu. Taki urok immutable OS.