Here is the checklist to turn a vanilla Fedora set-up into something optimized for my workflow:
- Install nvim
- Accelerate dnf downloads
- Enable rpm fusion free and non-free repos
- Enable Flathub
- Install Timeshift for BTRFS snapshotting
- Install alacritty terminal emulator
- Change the shell to zsh and setup oh-my-zsh
- Install GPU video acceleration packages
- Tweak Firefox
- Install Sway Window Manager
- Install applications for Sway
Install nvim
Open gnome terminal and install nvim with the following:
$ sudo dnf install nvim
Copy the .vimrc file from my dotfiles to your home directory.
Copy the nvim folder from my dotfiles to your .config directory. The init.vim files will guide nvim to use the .vimrc found in the home directory.
Accelerate dnf downloads
dnf is the fedora command for package management on Fedora Linux.
$ sudo dnf check-update // check for update
$ sudo dnf upgrade --refresh // to check for update and upgrade packages
$ sudo dnf install <pkg> // to install packages
$ sudo dnf remove <pkg> // to remove packages
The default settings for dnf is slow. You can speed things up by enabling default downloads in the dnf.conf file.
$ sudo nvim /etc/dnf/dnf.conf
Add the following line to the bottom of the file:
max_parallel_downloads=10
fastestmirror=True
Now your dnf downloads should be much faster. You can perform a
$ sudo dnf upgrade --refresh
Enable RPM fusion free and non-free repos
Go to this link using the Firefox browser. Install both the Free and NonFree repos for Fedora 34.
Enable Flathub
Go to this link. Download and install the “Flathub repository file”. Your software installer application will now be updated with the repos from flathub, enabling your to download flatpak applications like Discord, Zoom, Skype, Steam etc.
Install Timeshift for BTRFS snapshotting
Using the Software application, install Timeshift. Run the application and go to settings and choose BTRFS instead of RSync. Enable backups for daily, weekly, and on boot. This ensures that you always have a recent snapshot to backup to. Try making a backup, then install an application (obs?), then restore from the snapshot you just made. This is to ensure that your system can indeed restore from a snapshot and that your fedora install went well. If you system boots and your newly installed application (e.g. obs) cannot be found, it means that you have successfully restored back to the snapshot. You can open Timeshift again to verify that you indeed restored from a snapshot.
Note that you can always delete a snapshot, even those that you just restored from.
Install alacritty terminal emulator
$ sudo dnf install alacritty
Copy over my alacritty configs from my dotfiles
Change the shell to zsh and setup oh-my-zsh
Install zsh
$ sudo dnf install zsh
Change default shell
// change shell
$ grep <user> /etc/passwd
$ chsh -s $(which zsh)
$ grep <user> /etc/passwd
where <user> is your user. You can get your user by using
$ whoami
Install oh-my-zsh
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Install the following plugins for oh-my-zsh:
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Configuring .zshrc: Just copy over my .zshrc from my dotfiles OR just include the following to your plugins:
plugins=(
git
dnf
zsh-syntax-highlighting
zsh-autosuggestions
)
then source your modified .zshrc file with
source ~/.zshrc
Install GPU video acceleration packages
Install intel-based packages for video acceleration. AMD users please do not do this.
$ sudo dnf install ffmpeg libva libva-utils libva-intel-driver intel-gpu-tools
Tweak Firefox
Open Firefox. Go to about:config. Change the following settings:
layers.acceleration.force-enabled = TRUE
gfx.webrender.all = TRUE
media.ffmpeg.vaapi-drm-display.enabled = TRUE
media.ffmpeg.vaapi.enabled = TRUE
media.rdd-process.enabled = FALSE
Install Sway Window Manager
$ sudo dnf install sway waybar wofi
Copy over my ~/.config/{sway,waybar,wofi} folders from my dotfiles to your .config folder.
Install applications for Sway
Install a polkit authenticator
$ sudo dnf install lxpolkit
Install Insync (optional)
Go to Insync and follow the instructions for Fedora 34. Note that this service requires payment and you can only link one account permanently. However, it is the best linux file-sync service.
Install Screenshot tools
$ sudo dnf install slurp grim
Brightness controls
$ sudo dnf install brightnessctl
Fonts
$ sudo dnf install jetbrains-mono-fonts-all
Use Sway
Log out from Gnome. In the login screen, when entering your password, there is an desktop selector on the bottom right. Choose sway, enter your password, and be welcomed by a new Wayland-based tiling window manager.
Refer to my guide on how to use the Sway Window Manager in the future.