Installation guide and personal post-installation steps.
The purpose of this document is to provide a clean, minimalist, secure, gaming-ready, Fedora setup.
These scripts, while trivially editable and configurable, are built from a personal point-of-view, and may not suit all use-cases or preferences.
- basic Fedora installation (Workstation Edition, with GNOME)
- Secure Boot enabled
Highly recommended (but still not mandatory):
- TPM 2.0 enabled
- LUKS encryption enabled on all drives
These scripts are better run right after a fresh Fedora installation.
On the very first reboot, after creating your account:
- disable
Location Services
- disable
Automatic Problem Reporting
- enable
Third-Party Repositories
Then, use the following scripts, in the following order.
First, name your new system:
# "Pretty" name of the system, without restrictions
# (e.g: "System Name 01")
sudo hostnamectl set-hostname --pretty $pretty_hostname
# Static name of the system, containing only lowercase letters, numbers and/or dashes
# (e.g: "system-name-01")
sudo hostnamectl set-hostname --static $static_hostname
Then, run:
./scripts/00-setup-base.sh
# ➡️ Reboot when asked
./scripts/01-setup-hardening.sh
# ➡️ Reboot when asked
If you have an Nvidia GPU, run:
./scripts/02-setup-nvidia.sh
# ➡️ Reboot when asked
At reboot, choose Enroll MOK
, Continue
, Yes
, and enter the selected password. Reboot when done.
Finish the basic installation with:
./scripts/03-setup-codecs.sh
# ✅ No reboot needed
./scripts/04-setup-applications.sh
# ✅ No reboot needed
To include a minimalist, flat, and consistent GNOME theme, run:
flatpak install --assumeyes --user flathub com.mattjakeman.ExtensionManager
Then, open Extension Manager
, and install the following extensions:
- Alphabetical App Grid
- AppIndicator and KStatusNotifierItem Support
- Dash to Dock
- User Themes
Then, run:
./scripts/05-setup-theme.sh
# ✅ No reboot needed
A script is provided to simplify all update chores (RPM, Flatpaks, firmware, etc.), and/or refresh the GNOME theme as well if needed.
Use the following command to install it:
sudo cp ./scripts/update.sh /usr/bin/update
sudo chmod +x /usr/bin/update
Once set up, run:
update --system
# to refresh RPM packages, Flatpaks and firmware
update --theme
# to refresh the GNOME theme as configured in this guide
update --all
# to do both
Setting up a CRON job calling this script is recommended, to keep your system updated without effort.
This guide is published under the MIT license.
See the LICENSE.md file for the full license text.
Per this license, the use of the software and scripts downloaded from this repository is done at your own discretion and risk.
All logos, trademarks, and copyrights are property of their respective owners and are only mentioned for informative purposes.
This humble guide is merely a compilation of what's existing out here already.
I did spent A LOT of time searching, experimenting and formatting my poor PC to test all of this.
I would like to take a minute and warmly thank the following authors for their work and ideas, which greatly helped bring this guide to life.
- @Andrei Nevedomskii and his Nvidia Kernel Module Installation Guide
- @Madaidans Insecurities and its Linux Hardening Guide
- @Stephen and his Nvidia VA-API driver
- @Thomas Crider and his Nobara Project
- The Linux Foundation IT and its Linux workstation security checklist
- The RPM Fusion team and their Nvidia Guide
- (probably more I forgot...)
and of course the Fedora Team for such an amazing Linux distribution!