I have been trying different linux distros in the past years and found myself coming back to Fedora a few times until I finally settled with it for my daily driver. I wanted to automate things I did after the initial installation, so here it is:
A comprehensive post-installation setup script collection for Fedora Linux, focusing on gaming, development, and multimedia support. Features automated setup of drivers, codecs, gaming tools, development environments, and quality-of-life improvements.
- Custom
.bashrcconfiguration with useful aliases and functions - Preconfigured dotfiles in
.config/for various applications - A post-installation script (
post_install.sh) that sets up various system configurations
The dnf and flatpak packages to be installed to the system can be found and modified in post_install.sh under Software Installation section.
download_playlist: A YouTube playlist downloader that extracts audio in MP3 formatreverse_video: A sophisticated video reversal tool with quality and memory management optionsupdate_all: A comprehensive system update function that handles:- System packages (DNF)
- Flatpak applications
pyfor Python 3venvfor activating Python virtual environmentscodefor VS Code Insiderslsandllusinglsdfor enhanced directory listings- Colored
grepoutput
The .config/ directory contains preconfigured settings for various applications:
Modern, minimal, and customizable prompt for any shell
- Location:
.config/starship.toml
Audio effects for PipeWire applications
- Location:
.config/easyeffects/ - Included presets:
- Output Profiles:
- Laptop Booster (For Speakers)
- Empty (For HDMI and Headset)
- Device Configurations:
- HDMI output
- Analog speakers
- Bluetooth headset
- Output Profiles:
A fast, feature-rich, GPU based terminal emulator
- Location:
.config/kitty/ - Features:
- Custom theme configuration with Monokai Pro
- Configured to use Cousine Nerd Font
KDE Plasma global keyboard shortcuts configuration
- Location:
.config/kglobalshortcutsrc
-
Clone this repository:
git clone https://github.com/yourusername/post_install.git cd post_install -
Run the installer script with sudo privileges:
sudo ./install.sh
The installer will:
- Back up your existing
.bashrc(if any) to.bashrc.backup - Install the new
.bashrcconfiguration - Copy application configurations from
.config/to your home directory - Copy and make executable all custom scripts to
/usr/bin/ - Run the post-installation script (
post_install.sh)
Please review the scripts before running them to ensure they align with your needs. You may want to check:
.bashrcfor the custom aliases and functionsusr/bin/for the custom executablespost_install.shfor the post-installation configurations
Contributions are welcome! Please feel free to submit a Pull Request. Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Keep scripts POSIX-compliant where possible
- Add comments explaining complex operations
- Update documentation when adding new features
- Test your changes before submitting
- Follow the existing code style
The scripts in this repository modify system settings and install packages. Please review the code before running it on your system. While we strive to maintain security, use at your own risk.
This project is licensed under the MIT License - see the LICENSE file for details.
- RPM Fusion for additional package repositories
- Starship for the cross-shell prompt