diff --git a/README.md b/README.md new file mode 100644 index 0000000..2dc20fc --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# 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://github.com/yourusername/Fedora-postInstall-Script.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)