Table of Contents
This is exactly as the title suggest - setting up Fedora Workstation, feel free to follow my guide tweaking where necessary.
By default DNF is slow (maybe DNF5 might change that in the future), to fix that we shall add a DNF flag to allow more than one download at a time and set yes as the default option for future DNF commands.
echo 'max_parallel_downloads=10' | sudo tee -a /etc/dnf/dnf.conf echo 'defaultyes=True' | sudo tee -a /etc/dnf/dnf.conf
sudo dnf update -y
Enable RPM Fusion
This will give us access to way more apps/software that are not available on the standard Fedora repository.
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf groupupdate core
For more information, check out the RPM Fusion website
Older Fedora versions ship with a filtered Flathub enabled,therefore, we need to add unfiltered Flathub to use their store.
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install Media Codecs
After setting up RPM Fusion, you can add these multimedia packages:
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin sudo dnf groupupdate sound-and-video sudo dnf group upgrade --with-optional Multimedia
Recently, Fedora removed some hardware accelerated codecs from their default install but the guys at RPM Fusion have done their magic. Head over to the
Multimedia page of RPM Fusion and under the Hardware Accelerated Codec section, pick the command(s) for your setup. For those running Intel 5th Gen (Broadwell) and above pick the
intel-media-driver option while those running older processors can opt for
For more information, check out the RPM Fusion website.
Add Extra Fonts
sudo dnf install fira-code-fonts 'mozilla-fira*' 'google-roboto*' -y
For compatibility, Microsoft fonts may be needed:
sudo dnf install -y curl cabextract xorg-x11-font-utils fontconfig sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
I also add these fonts to
~/.local/share/fonts since I use them in my terminal emulator and other apps:
Install GNOME Tweaks
This allows us to make some customization changes like adding/removing titlebar buttons (maximize/minimize), changing themes and fonts among other things. I tend to change the Monospace Text font to a Nerd Font.
sudo dnf install gnome-tweaks
In my experience, changing these helps a lot:
- Hinting: Slight
- Antialiasing: Subpixel (this may vary depending on your display setup).
Install Apps and Extensions
Apps I use include:
- Browsers: Firefox (flatpak version), Brave Browser
- Coding: VS Code, Android Studio, Neovim
- Gaming: Steam
- Multimedia: Spotify, VLC, Jellyfin
- Terminal Emulator: Alacritty (including nautilus-open-any-terminal and starship)
- Torrent Client: qBittorrent
- Utilities: htop, Xtreme Download Manager (only for YouTube and large downloads)
- Others: Discord, Extension Manager, gThumb, ProtonVPN, Solaar (for Logitech peripherals)
Afterwards, I remove the extra apps thats I don’t need, for me these include totem (GNOME Videos), GNOME Weather, Firefox (pre-installed version), GNOME Terminal etc.
Typically I play around with some extensions or have mixed feelings about some (*) but these are the extensions that I install from the Extensions Manager app and use:
- AppIndicator and KStatusNotifierItem Support
- Blur my Shell *
- Dash to Dock
- Pano - Clipboard Manager
- Rounded Window Corners
On Firefox, YouTube shows the scrollbars in fullscreen which makes it very easy for me to accidentally click it and suddenly move down the page. To fix this, I add this line to my uBlock Origin filter:
www.youtube.com##ytd-app:style(overflow: hidden !important;)
That line disables YouTube’s scroll-to-comments “feature” which to me is not as important but used to be to quickly check video publish date.
By default, hardware acceleration is disabled but head over to
about:config and toggle this option:
I’ve also noticed that the flatpak version of Firefox does not have two finger swipe by default, run this command to fix that:
sudo flatpak override --env=MOZ_ENABLE_WAYLAND=1
Setup Coding Environment and Dotfiles
I usually create a directory in
~ where I set up Flutter and any other SDK in this directory. Afterwards, I create another directory in
~ to store most of my projects.
At this point, I clone my
dotfiles backup into
~ and run the script to setup my config files.
Make It Yours
- Change wallpaper
- Schedule night light
- Add online accounts
- Mute system sounds and mic
- Switch to 24h clock format
- Add, reorder and remove items from the dock
Anyway, feel free to reach out.
Note To Self
The curled scripts below are meant for my personal use. It performs most of the things listed in this article apart from: installing extensions, installing Android Studio, Firefox tweaks, changing GNOME Tweaks, setting up Flutter
curl -s -o- https://raw.githubusercontent.com/insidemordecai/.dotfiles/main/quick-setup/fedora.sh | bash curl -s -o- https://raw.githubusercontent.com/insidemordecai/.dotfiles/main/quick-setup/rpm-apps-install.sh | bash curl -s -o- https://raw.githubusercontent.com/insidemordecai/.dotfiles/main/quick-setup/flatpaks-install.sh | bash