2026-03-02 18:27:06 -08:00
2026-03-02 18:15:25 -08:00
2026-03-02 18:27:06 -08:00

Fedora Post-Install Script

A comprehensive post-installation script for Fedora Linux, designed to automate the setup of a personalized development and productivity environment.

Features

This script automates the following tasks:

  • System Optimization:
    • Configures /etc/dnf/dnf.conf for faster downloads (parallel downloads, keep cache).
    • Updates the system and installs prerequisites.
  • Fonts:
    • Installs Microsoft Core Fonts.
    • Downloads and installs MesloLGS Nerd Fonts (for Powerlevel10k).
  • Repositories:
    • Enables RPM Fusion (Free and Non-Free) repositories.
    • Adds Flathub remote for Flatpak support.
    • Enables CachyOS Copr repositories for optimized kernels.
  • Software Installation:
    • DNF Packages: gnome-tweaks, steam, lutris, btop, fastfetch, distrobox, and more.
    • Flatpaks: Discord, Flatseal, Mission Center, PeaZip, Bottles, BambuStudio, LibreOffice (Collabora), and many others.
    • Kernel: Installs the CachyOS kernel and addons (scx-scheds, ananicy-cpp) for performance improvements.
    • CLI Tools: Installs LinuxToys and Starship prompt.
  • GNOME Customization:
    • Installs gnome-extensions-cli via pipx.
    • Automatically installs a curated list of GNOME extensions (Dash to Dock, Blur My Shell, Caffeine, etc.).
  • Shell Configuration:
    • Configures ~/.bashrc to initialize Starship.
    • Applies the Gruvbox Rainbow preset for Starship.

Prerequisites

  • OS: Fedora Linux (Workstation recommended).
  • Permissions: The script requires sudo privileges to install packages and modify system files.
  • Internet Connection: Required to download packages and repositories.

Usage

  1. Run script directly

    bash <(curl -fsSL https://gitea.schantli.ca/jschantli/Fedora-PIS/raw/branch/main/postinstall.sh)
    
  2. Clone the repository:

    git clone https://gitea.schantli.ca/jschantli/Fedora-PIS.git
    cd Fedora-postInstall-Script
    
  3. Make the script executable:

    chmod +x postinstall.sh
    
  4. Run the script:

    ./postinstall.sh
    

    Note: You will be prompted for your sudo password at the beginning. The script includes a keep-alive mechanism to prevent sudo from timing out during long operations.

Customization

You can easily customize the script by editing the arrays at the top of the relevant sections in postinstall.sh:

  • DNF_PACKAGES: Add or remove DNF packages.
  • FLATPAK_PACKAGES: Add or remove Flatpak applications.
  • GNOME_EXTENSIONS: Add or remove GNOME extensions (use the extension-id format).

Disclaimer

This script modifies system configuration files and installs third-party repositories (RPM Fusion, Copr). While it is designed to be safe and idempotent, please review the code before running it on a production machine. Always back up important data.

S
Description
A post install script for Fedora that is setup for how I like my Fedora install.
Readme 147 KiB
Languages
Shell 90.9%
HTML 9.1%