Skip to content

📖 Fedora Workstation personal installation guide and post-installation scripts.

License

Notifications You must be signed in to change notification settings

rolandhemmer/fedora-workstation-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Fedora

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.




📖 Table of Contents

🚀 Quick Start

1.1. Requirements

  • 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

1.2. Available Scripts

Then, use the following scripts, in the following order.
⚠️ Please reboot when asked.

1.2.1. Base Installation

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

1.2.2. Nvidia Drivers Installation

If you have an Nvidia GPU, run:

./scripts/02-setup-nvidia.sh
# ➡️ Reboot when asked

⚠️ A password will be asked during this step. This will allow the load of the Nvidia drivers and kernel modules even with Secure Boot enabled.
At reboot, choose Enroll MOK, Continue, Yes, and enter the selected password. Reboot when done.

1.2.3. Desktop Environment Configuration

Finish the basic installation with:

./scripts/03-setup-codecs.sh
# ✅ No reboot needed

./scripts/04-setup-applications.sh
# ✅ No reboot needed

1.2.4. Desktop Theme Configuration

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

🔃 Automation

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.

🎓 License

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.

🤝 Thanks

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.

and of course the Fedora Team for such an amazing Linux distribution!