Overview
This guide walks through my personal setup for Fedora Workstation on my daily driver laptop. These are tools and configurations I personally prefer and use daily for development and productivity. Your preferences may differ, so feel free to adapt this setup to your specific needs and workflow.
Note
Credit to devangshekhawat for some parts of this guide, adopted from Fedora-44-Post-Install-Guide.
Prerequisites
- Fedora Workstation installed and initial setup completed
sudoaccess on your system- Internet connection for downloading packages
Install Brave Browser
Brave is a privacy-focused browser based on Chromium. I prefer installing from the official RPM repository for easy updates.
For the latest installation instructions, visit Brave’s Linux download page.
sudo dnf install dnf-plugins-core
sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
sudo dnf check-update
sudo dnf install brave-browserNote
Brave blocks ads and trackers by default, offering better privacy than standard Chromium without additional extensions.
Install Essential Packages
These packages provide system monitoring, development tools, and customization options:
- btop — Interactive process viewer and system monitor
- nodejs24 — JavaScript runtime for development
- nextcloud-client — Sync files with Nextcloud servers
- gnome-tweaks — Customize GNOME desktop settings
- gnome-extensions-app — Manage GNOME Shell extensions
sudo dnf install btop nodejs24 nextcloud-client gnome-tweaks gnome-extensions-appNote
For LTS stability in production environments, consider installing nodejs20
instead of nodejs24.
Install Visual Studio Code
VS Code is a lightweight, powerful code editor. Installing from Microsoft’s official repository ensures regular updates.
# Import Microsoft's GPG keysudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
# Add VS Code repositoryecho -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null
# Update package cache and installsudo dnf check-update
sudo dnf install codeNote
After installation, launch VS Code with code and customize it with
extensions for your preferred languages and tools.
Configure Git and Generate SSH Key
Set up Git with your identity and generate an ED25519 SSH key (more secure than RSA).
# Generate SSH key (replace with your email)
# Configure Git globallygit config --global user.name "Your Name"git config --global init.defaultBranch mainThen add your public key (~/.ssh/id_ed25519.pub) to GitHub or your Git hosting service.
Install GNOME Extensions
These extensions enhance the GNOME desktop experience:
- AppIndicator — Show system tray icons in the top panel
- Blur My Shell — Add blur effects to the shell UI
sudo dnf install gnome-shell-extension-appindicator gnome-shell-extension-blur-my-shellYou can manage installed extensions using the “Extensions” app installed earlier.
Install and Configure Tailscale
Tailscale is a zero-config VPN service that makes it easy to access your devices securely.
# Add Tailscale repositorysudo dnf config-manager addrepo --from-repofile=https://pkgs.tailscale.com/stable/fedora/tailscale.repo
# Update cache and installsudo dnf check-update
sudo dnf install tailscale
# Enable and start the Tailscale daemonsudo systemctl enable --now tailscaled
# Authenticate with your Tailscale accountsudo tailscale upEnable System Tray Integration
To show Tailscale status in your system tray:
# Configure systray to start on logintailscale configure systray --enable-startup=systemd
# Enable and start the user-level systray servicesystemctl --user daemon-reloadsystemctl --user enable tailscale-systraysystemctl --user start tailscale-systrayOptional: Grant Tailscale Operator Privileges
# Replace 'username' with your actual usernamesudo tailscale set --operator=username
# Accept subnet routes from other Tailscale devicessudo tailscale set --accept-routesNote
Enabling --accept-routes allows other Tailscale machines to send traffic
through your device. Only enable this if you understand the security
implications.
Install Corepack and Enable Yarn
Corepack is a Node.js feature that manages package managers like Yarn and PNPM, ensuring version consistency across projects.
# Install Corepack globallysudo npm install -g corepack
# Enable Yarn supportcorepack enableNote
Corepack is the recommended way to manage Yarn and PNPM versions. It eliminates version conflicts across different projects.
Install RPM Fusion
RPM Fusion provides additional software repositories with packages that cannot be included in Fedora due to licensing or patent restrictions. This includes multimedia codecs, drivers, and other proprietary software.
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.rpmUpgrade Multimedia Packages
After adding RPM Fusion, upgrade your multimedia packages to include better codec support:
sudo dnf swap ffmpeg-free ffmpeg --allowerasingsudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-pluginNote
The --allowerasing flag removes conflicting packages. Review what’s being
removed before confirming.
Hardware Video Acceleration
Hardware video acceleration significantly improves video playback performance and reduces CPU usage by offloading decoding to your GPU:
# For Intel GPUssudo dnf swap libva-intel-media-driver intel-media-driver --allowerasingsudo dnf install libva-intel-driver
# Common libraries for all systemssudo dnf install ffmpeg-libs libva libva-utilsVerify Hardware Acceleration:
vainfoNote
If you have an AMD or NVIDIA GPU, install the appropriate drivers for hardware acceleration support.
Next Steps
Note
Your Fedora setup is complete! Here are some recommendations to personalize your environment further.
- Customize GNOME using the Tweaks app for keyboard shortcuts and appearance
- Install VS Code extensions for your preferred programming languages
- Explore additional GNOME extensions from extensions.gnome.org
- Set up your development environment per project needs
- Keep your system updated regularly with
sudo dnf upgrade
Happy coding!