This is a selection of settings and preferences for my Fedora Silverblue 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://raw.githubusercontent.com/francoism90/dotfiles/main/silverblue.ks
or when using an USB-device labelled LIVE
:
inst.ks=hd:LABEL=LIVE:ks/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/
See the following guides:
- flathub/com.visualstudio.code#426 (comment)
- https://github.com/jorchube/devcontainer-definitions
- VSCodium/vscodium#1487
You may use Flatseal, and set the following overwrites:
- Add to
Other files
:xdg-run/podman:ro
- Add to
Variables
:FLATPAK_ENABLE_SDK_EXT=podman,php83
Current extensions:
$ flatpak run com.visualstudio.code --list-extensions | xargs -L 1 echo vsc --install-extension
vsc --install-extension aaron-bond.better-comments
vsc --install-extension amiralizadeh9480.laravel-extra-intellisense
vsc --install-extension bmewburn.vscode-intelephense-client
vsc --install-extension bradlc.vscode-tailwindcss
vsc --install-extension christian-kohler.npm-intellisense
vsc --install-extension christian-kohler.path-intellisense
vsc --install-extension davidanson.vscode-markdownlint
vsc --install-extension dbaeumer.vscode-eslint
vsc --install-extension devsense.composer-php-vscode
vsc --install-extension eamodio.gitlens
vsc --install-extension editorconfig.editorconfig
vsc --install-extension eriklynd.json-tools
vsc --install-extension esbenp.prettier-vscode
vsc --install-extension github.copilot
vsc --install-extension github.copilot-chat
vsc --install-extension github.github-vscode-theme
vsc --install-extension github.vscode-github-actions
vsc --install-extension jock.svg
vsc --install-extension ms-azuretools.vscode-docker
vsc --install-extension ms-vscode-remote.remote-containers
vsc --install-extension ms-vscode-remote.remote-ssh
vsc --install-extension ms-vscode-remote.remote-ssh-edit
vsc --install-extension ms-vscode-remote.remote-wsl
vsc --install-extension ms-vscode-remote.vscode-remote-extensionpack
vsc --install-extension ms-vscode.atom-keybindings
vsc --install-extension ms-vscode.remote-explorer
vsc --install-extension ms-vscode.remote-server
vsc --install-extension onecentlin.laravel-blade
vsc --install-extension pkief.material-icon-theme
vsc --install-extension quicktype.quicktype
vsc --install-extension redhat.vscode-yaml
vsc --install-extension shd101wyy.markdown-preview-enhanced
vsc --install-extension sleistner.vscode-fileutils
vsc --install-extension streetsidesoftware.code-spell-checker
vsc --install-extension stylelint.vscode-stylelint
vsc --install-extension visualstudioexptteam.intellicode-api-usage-examples
vsc --install-extension visualstudioexptteam.vscodeintellicode
vsc --install-extension wmaurer.change-case
To apply transparency (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
Follow https://starship.rs/guide/.
See https://itsfoss.com/flatpak-app-apply-theme/ instructions for Flatpak theming.
To install Gnome Tweak:
rpm-ostree install gnome-tweak-tool