Updated: June 26, 2020
Over the years, I've published numerous tweaking guides for both CentOS and Fedora. Really, without spamming here with endless links, just have a look at the last two of this series, the CentOS 8 guide and the Fedora 29 guide. And then pay attention to the titles and the tone within.
With Fedora, I've moved away from my early, bubbly enthusiasm into a more somber, functional territory. Now, it's no longer a question of doing the extras for one's gratification, it's the question of creating a setup that offers a baseline level of efficiency and aesthetics that I find mandatory in an operating system. With the recently released Fedora 32, the out-of-the-box experience was quite rough for me. And I encountered all sorts of problems and issues. Which is why I'm writing this article. I'm not happy, I'm not going to use Fedora in my production setup any time soon, but you might, so hopefully, this guide will help you create a more usable configuration.
1. Gnome Tweaks
This is the first thing I did - install Gnome Tweaks, formerly known as Gnome Tweak Tool. With it, you can make modifications to the vanilla desktop experience, including changing a number of important options that are not available in the system settings.
sudo dnf install gnome-tweaks
2. Gnome extensions
By default, Gnome offers a pretty spartan desktop. Even trivial things are missing, like application shortcuts or windows min/max buttons. Something that takes one mouse click in Plasma or Xfce or even Windows takes two or three mouse clicks in Gnome. For instance, you have no permanently visible panel or tray or dock or anything, where you can pin application icons.
To that end, we need some extensions. Advance apology: you will see the word extensions repeated quite a bit here. Anyway, go to Gnome Shell Extensions, and install the namesake add-on for your browser - the website will notify you and prompt you. Once this is done, you can now search, install and activate different extensions. There's a wide variety of extensions available, all designed to give the Gnome desktop added functionality that is not present or even possible in the vanilla guise, often the stuff that exists in rival environments. For that matter, you might want to check my list of best Gnome extensions.
3. Dash to Panel
My second order of the day was to install the most practical Dash to Panel (D2P) extension. It transforms the hidden dash into a visible dock at the top or bottom of your screen, complete with the system area, notifications, an application grid launcher, and (pinned) icon shortcuts for your software.
However, unlike the previous versions of Fedora, whereupon having the extension installed, it would immediately change the desktop layout, nothing happened.
As it turns out, you need to open Gnome Tweaks again, select Extensions in the sidebar, and then toggle the Extensions to on. This will allow you to override the default system behavior. This will also activate D2P, and you will have a classic desktop layout.
4. Window buttons
Gnome Tweaks > Window Titlebars. Toggle the minimize and maximize buttons on.
5. New fonts & antialiasing
The default fonts in Fedora are not good enough for my taste - an old and outstanding issue. I need sharper, clearer fonts, with significantly better contrast. In the Linux world, Ubuntu fonts are by far the most reasonable ones, followed by Noto. I downloaded the former set - you can find any number of online repositories offering these - and extracted the archive into /usr/share/fonts. You need sudo permissions to do this. On the command line:
unzip "font-archive.zip" -d "some directory"
sudo cp "some directory"/*.ttf /usr/share/fonts/
fc-cache -f -v
Once the fonts are installed, go to Gnome Tweaks > Fonts, and make the necessary changes. Furthermore, I also changed the antialiasing from Standard (grayscale) to Subpixel (for LCD screens). The combination of these two factors renders excellent results.
6. New icons
I also found that using some non-default icons helps. In this case, La Capitaine. Download the archive from GitHub, extract it into the hidden ~/.icons folder in your home directory. If the folder does not exist, create it first. Launch Gnome Tweaks, and then under Appearance, select La Capitaine in the icons drop-down list.
mkdir -p ~/.icons
unzip "icon-archive.zip" -d ~/.icons/
Please note that there's no standard for how icon archives are packaged. In general, an icon theme needs to be grouped inside a single folder (e.g. Dedoimedo-light, Dedoimedo-dark, etc.), so if you extract an icon pack somewhere, and it's a bunch of assets without a clear hierarchy, copy all the contents into a single folder, and then place that into the ~/.icons directory.
7. Additional software sources
By default, Fedora does not ship with proprietary content out of the box. To be able to install this type of software, including different media codecs, media players, gaming software, and alike, as well as extra applications (even some open-source ones) not normally available in the standard Fedora repos, you will need to configure additional repositories. RPM Fusion is your one-stop-shop.
Download both the Free and Non-Free RPM packages, and the install them on the command line:
dnf install "rpm fusion package name".rpm
8. Additional software (repositories)
You can now do whatever you like. My extras included:
sudo dnf install gimp lyx steam vlc
9. Additional software (manual)
Here, I'm specifically referring to Chrome and Skype, which are not distributed via repos. Go to the official websites, download the RPM packages. Then, on the command line, similar to what we did with RPM Fusion, install the two applications. In both cases, you will also have official repositories configured and added to your system, so you will be receiving updates.
sudo dnf install "chrome and/or skype".rpm
10. Other things ...
No, not really. This is the list of essential tasks I had in mind. Again, please look at my Fedora 29 guide for more details. But we're basically done! You now have a pleasant, efficient Fedora desktop, which can now be enjoyed.
There you go. The thing is, if most distros were given some extra love, especially a non-developer touch, they would be so much better - nicer, more accessible and even more productive. Fedora 32 is a good example, with lots of ergonomic problems. Most of these are Gnome-specific, but some are entirely tied down to the distro and its philosophy. Which is okay, but then I have my own philosophy.
I hope you find this article valuable. As always, there are tiny but important differences from past versions, and while most advice given in the past still applies, things do change - like the extensions activation extra step, which require a fresh look. I've covered what I believe are basics - simple usability that reduces unnecessary mouse clicks, fonts, icons, some extra software. If you have any suggestions or requests, don't be strangers. We're done here.