Skip to content

Instantly share code, notes, and snippets.

@alkmst-xyz
Last active July 3, 2023 09:25
Show Gist options
  • Save alkmst-xyz/18f22024feb3e2ab1ff7f2ac46da1b6d to your computer and use it in GitHub Desktop.
Save alkmst-xyz/18f22024feb3e2ab1ff7f2ac46da1b6d to your computer and use it in GitHub Desktop.
Fedora Workstation: Installation Guide

Fedora Workstation: Installation Guide (WIP)

Fedora Workstation is a desktop Linux distribution developed by the Fedora Project, which by default supports modern features like Wayland, Flakpak, etc.

This guide tries to be a developer-focused and beginner-friendly tour of the steps I take while setting up Fedora. Tested on Fedora 38, which comes with GNOME 44 and Linux Kernel 6.2.

You can pick and omit any step as you like. This is simply how I configure a my system. Have fun 😄.

Prerequisites

  1. Download Etcher.
  2. Download Fedora 38 ISO.
  3. Verify download.
# cd to location of iso
cd ~/Downloads

# Download checksum file
curl -O https://na.edge.kernel.org/fedora/releases/38/Workstation/x86_64/iso/Fedora-Workstation-38-1.6-x86_64-CHECKSUM

# Import Fedora's GPG key(s).
curl -O https://fedoraproject.org/fedora.gpg

# verify the checksum file is valid
gpgv --keyring ./fedora.gpg Fedora-Workstation-38-1.6-x86_64-CHECKSUM

# verify checksum matches
sha256sum -c Fedora-Workstation-38-1.6-x86_64-CHECKSUM
  1. Flash ISO on USB using Etcher.
  2. Connect USB to target device, and boot from USB.
  3. Follow installation process and restart.
  4. Create user, set password, connect to network, etc.

Packages

Configure DNF

  • Edit /etc/dnf/dnf.conf for faster downloads.
echo "max_parellel_downloads=10"  | sudo tee -a /etc/dnf/dnf.conf
echo "fastestmirror=True"         | sudo tee -a /etc/dnf/dnf.conf

Initial update

sudo dnf check-update
sudo dnf update --refresh -y

Update Firmware (optional)

sudo fwupdmgr refresh --force
sudo fwupdmgr update
reboot

RPM Fusion repositories

sudo dnf install \
  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

sudo dnf install \
  https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Essential packages

RPM packages

sudo dnf install chromium -y

Flatpaks

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

flatpak install flathub org.mozilla.Thunderbird -y
flatpak install flathub org.videolan.VLC -y
flatpak install flathub com.mattjakeman.ExtensionManager -y

zsh

  • Make zsh default shell.
# check current shell
grep $USER /etc/passwd

# install zsh, chsh and change shell to zsh
sudo dnf install zsh util-linux-user sqlite -y
chsh -s $(which zsh)

# verify current shell
grep $USER /etc/passwd

# switch user
su - $USER
  • Complete zsh setup (TODO).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment