Fedora 33 post installation steps

Things I did after installing Fedora 33 on my workstations, or sort of ...

Subscribe to my newsletter and never miss my upcoming articles

I recently installed Fedora on my workstation to make my home and lab computers consistent with each other. This is a simple post installation guide I followed. If you plan to use Fedora sometime in the future, check it out.

Update system

sudo dnf update

Add Windows to grub for dual boot

Fedora uses grub2 and it works different than ubuntu or other distros. You can't just run grub update and call it a day.

Run os-prober to check for other os entries.

sudo os-prober

Update grub entries

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Edit grub timeout

Edit /etc/default/grub and change GRUB_TIMEOUT to the desired value. The default is 5 (5 seconds). (Edit with sudo)

Additional software repos

These can be enabled from Software Center as well. Whichever way you prefer!

rpm-fusion

There are two repos to enable. The one with free software and the other with proprietary software. If you happen to have an Nvidia GPU or some hardware part that needs proprietary driver, you'll need the second one. Why not the free Nvidia driver? Because it's bad. Real bad. Apple Maps bad. Period.

sudo rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Flatpak

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

flatpak update

Snap

sudo dnf install -y snapd
sudo ln -s /var/lib/snapd/snap /snap # for classic snap support
sudo reboot now # needed to update paths. Snap is annoying!

# after reboot
sudo snap refresh

Make dnf faster

Unlike apt or zypper or pacman, dnf doesn't look for the fastest mirror to download packages from by deafult. You've to explicitly tell it to do so.

Add the following line to your /etc/dnf/dnf.conf file. (Edit with sudo)

fastestmirror=true

Improved fonts

Fedora maintainers have a strict policy of shipping only free and open source material with the distro. For this, you may miss out on some proprietary fonts used in many websites. Luckily you can enable them with this fedora community package package or copr package.

sudo dnf copr enable dawid/better_fonts

sudo dnf install -y fontconfig-enhanced-defaults fontconfig-font-replacements

Gnome extensions and tweaks

I'm not a big fan of heavy customization and tweaks. This is one of the many reasons I like Fedora; it comes with absolute stock Gnome. But if you switch between Operating Systems a lot like me everyday, you may want to customize a bit. These two tools will give you all the power to customize your Gnome DE the way you want.

sudo dnf install gnome-extensions-app

sudo dnf install gnome-tweaks

Here is a list of the extensions I use:

You can install these from extensions.gnome.org

You should also check out the customization options in the Tweaks app.

Enable pipwire

Pulseaudio is used ubiquitously in Linux distros for Audio. However it has a lot of issues and is soon going to be replaced by pipwire in Fedora 34. You can install it on 33 as well.

sudo dnf install --allowerasing pipewire-pulseaudio -y

You can find more information here.

Applications

Which applications to install? Well that's upto you. I don't know your use case so can't suggest any. You can search around in Software Center and install applications as you see fit! However, I'd recommend installing these two. (both are command line based btw.)

Default Shell

The default shell on most linux distros is bash and Fedora is no exception here. I personally prefer zsh with oh-my-zsh and spaceship-prompt. Some people like the fish shell. It's completely upto you actually. Pick the one that better suits your workflow.

Enable night light

If you've never used this thing yet on other operating systems you should now. You'll appreciate it in the long run. Go to Settings > Displays > Night Light and set it up.

Display Scaling

Fedora for somewhat reason doesn't support fractional scaling for Gnome. If you have a high resolution display, your best bet is to change the font scaling from the Tweaks app from above. Go Tweaks > Fonts > Scaling Factor and pick an appropriate value. The default is 1.00. Depending on your screen resolution, choose the one that you find most comfortable.

font-scaling.png

Writing Bangla

Install OpenBanglaKeyboard - openbangla.github.io Don't forget to install the fonts from omicronlab.com/bangla-fonts.html !

To install user fonts you'll need Gnome font manager. Just install it from the software center or,

dnf copr enable jerrycasiano/FontManager
dnf install font-manager

Extras (advanced)

You better know what you're doing before you run anything in this section! :P

Enable SSH

sudo dnf install -y openssh-server

sudo systemctl start sshd.service

sudo systemctl enable sshd.service

Automating tasks with systemd daemons

Read more here: github.com/torfsen/python-systemd-tutorial . systemd is no simple thing to discuss in a single post!

Using OneDrive with rclone

Install rclone

sudo dnf install rclone -y

Run rclone config

rclone config

Now follow along the instructions in this post to configure rclone for OneDrive : How to Use Microsoft OneDrive in Linux With Rclone Open-Source Tool [For Intermediate to Expert Users]

Fedora doesn't have an option to add shell commands as startup applications so we'll have to make do with a systemd service. If you haven't created any user systemd services before you'll have to create a directory for it, otherwise just skip to the next command.

mkdir -p ~/.config/systemd/user

Now, create a unit file for the onedrive service and add the following lines in there.

nano ~/.config/systemd/user/onedrive.service
[Unit]
Description=OneDrive-rclone

[Service]
Type=simple
ExecStart=/usr/bin/rclone --config=/home/$USER/.config/rclone/rclone.conf  --vfs-cache-mode writes mount "onedrive":  /home/$USER/OneDrive
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Once done, start the service and then enable it so that it runs everytime you log in.

systemctl --user start onedrive
systemctl --user enable onedrive

Check the status of the service:

systemctl --user status onedrive

Open your file manager and browser your onedrive file like a mounted network volume now! If you're wondering why there's no sudo infront of systemctl here, it's because onedrive is running as a user service instead of a system service.

Podman containers

Fedora, following their RHEL traditions, dropped support for Docker due to some security issues which I'm too DevOps illiterate to understand. They suggest using Podman instead. Check here: github.com/containers/podman

NodeJS

If you need it!

sudo dnf install nodejs
node -v # shows version when installed

sudo dnf install yarnpkg
yarn -v # shows version when installed

developer.fedoraproject.org/tech/languages/..

Setting up CUDA for Nvidia GPUs

Just, follow this guide: https://www.if-not-true-then-false.com/2018/install-nvidia-cuda-toolkit-on-fedora/

Alternatively, you can download the official RPM binaries from Nvidia and install.

Install guake from software center! Once done, run it and press F12.

I usually run bpytop on guake, so that even if I close the Terminal app, it keeps running and I can check it anytime with a F12 press.

bpytop_guake.png

Neofetch

Let the geek in you show off some system spec to people out there.

sudo dnf install neofetch -y

neofetch.png

Acknowledgements

You can check these links for further tweak and post install instructions

No Comments Yet