Files
Fedora-PIS/README.md
T
2026-02-28 15:54:32 -08:00

72 lines
2.8 KiB
Markdown

# 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. **Clone the repository:**
```bash
git clone https://gitea.schantli.ca/jschantli/Fedora-PIS.git
cd Fedora-postInstall-Script
```
2. **Make the script executable:**
```bash
chmod +x postinstall.sh
```
3. **Run the script:**
```bash
./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.
## License
[MIT License](LICENSE)