Post-install script for Fedora — updates, apps, drivers, GNOME customization, and development setup.
fedup takes a fresh Fedora Workstation install and turns it into a fully-loaded, gaming, developer-friendly desktop in one go.
- System updates — get the latest packages & security patches
- Firmware updates — optional check for system firmware
- RPM Fusion & Flatpak — unlock extra software sources
- Media codecs — full multimedia support with hardware acceleration
- GPU drivers — Intel, AMD, and NVIDIA proprietary driver installs
- App installs — curated set of everyday and dev tools
- Development setup — VSCode, Docker, Node.js, Python, Go, Git, Zsh + Oh My Zsh, Neovim
- GNOME tweaks — essential customization and keyboard shortcuts
- Cleanup — remove leftover junk after setup
Clone the repo and run:
git clone https://github.com/yourname/fedup.git
cd fedup
chmod +x fedup.sh
./fedup.shTo run a specific step:
STEP=step_id ./fedup.shOr run in one line with curl:
curl -sL https://raw.githubusercontent.com/giacomocusinato/fedup/main/fedup.sh | bashThe curl method runs the script directly without saving it locally, you might need to reboot afte rsome core steps.
Basic checks, set up the environment, and prep for the run.
sudo dnf group upgrade core -y
sudo dnf upgrade --refresh -yBrings your Fedora base system up to date.
Currently empty — placeholder in case we need post-update tasks later.
sudo fwupdmgr refresh --force
fwupdmgr get-updatesChecks for firmware updates. If updates are found, you’ll be told to run fwupdmgr update manually.
Empty placeholder — helps keep the step sequence clean.
Enables free & non-free repositories for extra software:
sudo dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpmAdds Flathub and integrates it into GNOME Software:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
sudo dnf install -y gnome-software-plugin-flatpakInstalls full multimedia support:
sudo dnf group install -y multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
sudo dnf swap -y ffmpeg-free ffmpeg --allowerasing
sudo dnf group install -y sound-and-video
sudo dnf install -y ffmpeg-libs libva libva-utilsOptionally swaps in Intel’s proprietary VA-API driver:
sudo dnf swap -y libva-intel-media-driver intel-media-driver --allowerasing
sudo dnf install -y libva-intel-driverOptionally swaps in AMD’s proprietary VA-API/VDPAU drivers:
sudo dnf swap -y mesa-va-drivers mesa-va-drivers-freeworld
sudo dnf swap -y mesa-vdpau-drivers mesa-vdpau-drivers-freeworld
sudo dnf swap -y mesa-va-drivers.i686 mesa-va-drivers-freeworld.i686
sudo dnf swap -y mesa-vdpau-drivers.i686 mesa-vdpau-drivers-freeworld.i686Optionally installs proprietary NVIDIA drivers and CUDA:
sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cudaInstalls a curated set of everyday apps (browsers, productivity tools, media players, etc.).
Opinionated development environment:
- VSCode
- Docker
- Node.js (via NVM)
- Python
- Go
- Git
- Neovim
- Zsh + Oh My Zsh
Also sets Zsh as default shell (unless already set).
Installs GNOME Tweaks, configures a few essential shortcuts:
- Super+D — Show desktop
- Super+T — Open terminal
- Super+E — Open home folder
Removes leftover packages and clears caches:
sudo dnf autoremove -y
sudo dnf clean allClone the repo and run:
git clone https://github.com/yourname/fedup.git
cd fedup
chmod +x fedup.sh
./fedup.shYou can resume from a specific step:
STEP=media ./fedup.sh- This script targets Fedora Workstation 42 (GNOME) but should work on nearby releases with minor changes.
- Some steps ask for confirmation before installing proprietary drivers.
- Firmware updates and GPU drivers may require a reboot after installation.