↓Skip to main content

Fedora Desktop

1391 words·
Linux Fedora Desktop
Table of Contents

NeovVIM Editor
#

# Install NeoVIM
sudo dnf install neovim -y

# Adapt systemd editor
echo 'export SYSTEMD_EDITOR=nvim' >> ~/.bashrc
source ~/.bashrc

Sudo Setup
#

# Add "fedora" user to sudoers group
cat <<'EOF' | sudo tee /etc/sudoers.d/fedora >/dev/null
fedora ALL=(ALL) NOPASSWD: ALL
EOF

sudo chmod 0440 /etc/sudoers.d/fedora
sudo visudo -c

DNF Package Manager
#

Configure Package Manager
#

# Update dnf configuration
sudo vi /etc/dnf/dnf.conf

# Add 
[main]
fastestmirror=True  # fastest available mirror
max_parallel_downloads=10
defaultyes=True  # defaults to yes in confirmation prompt
keepcache=True  # keep downloaded packages

Update System
#

# Update packages
sudo dnf update -y

Add Proprietary Repositories
#

# Enable free and non-free repos
sudo dnf install \
    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.rpm
# List repos
sudo dnf repolist --all

# Shell output: Clean install
repo id                                                                         repo name                                                                                                           status
copr:copr.fedorainfracloud.org:phracek:PyCharm                                  Copr repo for PyCharm owned by phracek                                                                            disabled
fedora                                                                          Fedora 44 - x86_64                                                                                                 enabled
fedora-cisco-openh264                                                           Fedora 44 openh264 (From Cisco) - x86_64                                                                           enabled
fedora-cisco-openh264-debuginfo                                                 Fedora 44 openh264 (From Cisco) - x86_64 - Debug                                                                  disabled
fedora-cisco-openh264-source                                                    Fedora 44 openh264 (From Cisco) - x86_64 - Source                                                                 disabled
fedora-debuginfo                                                                Fedora 44 - x86_64 - Debug                                                                                        disabled
fedora-source                                                                   Fedora 44 - Source                                                                                                disabled
google-chrome                                                                   google-chrome                                                                                                     disabled
rpmfusion-nonfree-nvidia-driver                                                 RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver                                                                disabled
rpmfusion-nonfree-nvidia-driver-debuginfo                                       RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver Debug                                                          disabled
rpmfusion-nonfree-nvidia-driver-source                                          RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver Source                                                         disabled
rpmfusion-nonfree-steam                                                         RPM Fusion for Fedora 44 - Nonfree - Steam                                                                        disabled
rpmfusion-nonfree-steam-debuginfo                                               RPM Fusion for Fedora 44 - Nonfree - Steam Debug                                                                  disabled
rpmfusion-nonfree-steam-source                                                  RPM Fusion for Fedora 44 - Nonfree - Steam Source                                                                 disabled
updates                                                                         Fedora 44 - x86_64 - Updates                                                                                       enabled
updates-debuginfo                                                               Fedora 44 - x86_64 - Updates - Debug                                                                              disabled
updates-source                                                                  Fedora 44 - Updates Source                                                                                        disabled
updates-testing                                                                 Fedora 44 - x86_64 - Test Updates                                                                                 disabled
updates-testing-debuginfo                                                       Fedora 44 - x86_64 - Test Updates Debug                                                                           disabled
updates-testing-source                                                          Fedora 44 - Test Updates Source                                                                                   disabled


# Shell output: Added repos
repo id                                                                         repo name                                                                                                           status
copr:copr.fedorainfracloud.org:phracek:PyCharm                                  Copr repo for PyCharm owned by phracek                                                                            disabled
fedora                                                                          Fedora 44 - x86_64                                                                                                 enabled
fedora-cisco-openh264                                                           Fedora 44 openh264 (From Cisco) - x86_64                                                                           enabled
fedora-cisco-openh264-debuginfo                                                 Fedora 44 openh264 (From Cisco) - x86_64 - Debug                                                                  disabled
fedora-cisco-openh264-source                                                    Fedora 44 openh264 (From Cisco) - x86_64 - Source                                                                 disabled
fedora-debuginfo                                                                Fedora 44 - x86_64 - Debug                                                                                        disabled
fedora-source                                                                   Fedora 44 - Source                                                                                                disabled
google-chrome                                                                   google-chrome                                                                                                     disabled
rpmfusion-free                                                                  RPM Fusion for Fedora 44 - Free                                                                                    enabled
rpmfusion-free-debuginfo                                                        RPM Fusion for Fedora 44 - Free - Debug                                                                           disabled
rpmfusion-free-source                                                           RPM Fusion for Fedora 44 - Free - Source                                                                          disabled
rpmfusion-free-updates                                                          RPM Fusion for Fedora 44 - Free - Updates                                                                          enabled
rpmfusion-free-updates-debuginfo                                                RPM Fusion for Fedora 44 - Free - Updates Debug                                                                   disabled
rpmfusion-free-updates-source                                                   RPM Fusion for Fedora 44 - Free - Updates Source                                                                  disabled
rpmfusion-free-updates-testing                                                  RPM Fusion for Fedora 44 - Free - Test Updates                                                                    disabled
rpmfusion-free-updates-testing-debuginfo                                        RPM Fusion for Fedora 44 - Free - Test Updates Debug                                                              disabled
rpmfusion-free-updates-testing-source                                           RPM Fusion for Fedora 44 - Free - Test Updates Source                                                             disabled
rpmfusion-nonfree                                                               RPM Fusion for Fedora 44 - Nonfree                                                                                 enabled
rpmfusion-nonfree-debuginfo                                                     RPM Fusion for Fedora 44 - Nonfree - Debug                                                                        disabled
rpmfusion-nonfree-nvidia-driver                                                 RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver                                                                disabled
rpmfusion-nonfree-nvidia-driver-debuginfo                                       RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver Debug                                                          disabled
rpmfusion-nonfree-nvidia-driver-source                                          RPM Fusion for Fedora 44 - Nonfree - NVIDIA Driver Source                                                         disabled
rpmfusion-nonfree-source                                                        RPM Fusion for Fedora 44 - Nonfree - Source                                                                       disabled
rpmfusion-nonfree-steam                                                         RPM Fusion for Fedora 44 - Nonfree - Steam                                                                        disabled
rpmfusion-nonfree-steam-debuginfo                                               RPM Fusion for Fedora 44 - Nonfree - Steam Debug                                                                  disabled
rpmfusion-nonfree-steam-source                                                  RPM Fusion for Fedora 44 - Nonfree - Steam Source                                                                 disabled
rpmfusion-nonfree-updates                                                       RPM Fusion for Fedora 44 - Nonfree - Updates                                                                       enabled
rpmfusion-nonfree-updates-debuginfo                                             RPM Fusion for Fedora 44 - Nonfree - Updates Debug                                                                disabled
rpmfusion-nonfree-updates-source                                                RPM Fusion for Fedora 44 - Nonfree - Updates Source                                                               disabled
rpmfusion-nonfree-updates-testing                                               RPM Fusion for Fedora 44 - Nonfree - Test Updates                                                                 disabled
rpmfusion-nonfree-updates-testing-debuginfo                                     RPM Fusion for Fedora 44 - Nonfree - Test Updates Debug                                                           disabled
rpmfusion-nonfree-updates-testing-source                                        RPM Fusion for Fedora 44 - Nonfree - Test Updates Source                                                          disabled
updates                                                                         Fedora 44 - x86_64 - Updates                                                                                       enabled
updates-debuginfo                                                               Fedora 44 - x86_64 - Updates - Debug                                                                              disabled
updates-source                                                                  Fedora 44 - Updates Source                                                                                        disabled
updates-testing                                                                 Fedora 44 - x86_64 - Test Updates                                                                                 disabled
updates-testing-debuginfo                                                       Fedora 44 - x86_64 - Test Updates Debug                                                                           disabled
updates-testing-source                                                          Fedora 44 - Test Updates Source                                                                                   disabled                      
# Enable free repository (should already be enabled)
sudo dnf config-manager setopt rpmfusion-free.enabled=1
sudo dnf config-manager setopt rpmfusion-free-updates.enabled=1

Install Codecs
#

# Replace Fedora's restricted FFmpeg default package with the full RPM Fusion build
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y

# Update/install the multimedia package group for hardware acceleration and codec-dependent apps
sudo dnf group upgrade multimedia -y

# Update the core package group for RPM Fusion integration and metadata
sudo dnf group upgrade core -y

# Enable OpenH264 (for WebRTC and Firefox)
sudo dnf install openh264 mozilla-openh264 gstreamer1-plugin-openh264 -y

Nvidia Drivers
#

# Install Nvidia driver (595.x driver series)
sudo dnf install akmod-nvidia

# Install Nvidia driver (older GTX 10-series)
sudo dnf install akmod-nvidia-580xx
# Install for CUDA support
sudo dnf install xorg-x11-drv-nvidia-cuda
  • akmod-nvidia NVIDIA graphics driver and automatically rebuilt kernel module.
  • xorg-x11-drv-nvidia-cuda CUDA runtime/compute support, including utilities such as nvidia-smi.



Flatpak Package Manager
#

Enable third party Flathub repositories
#

# Add Flathub repository
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Verify Flathub repository
sudo flatpak remotes --show-details

# Shell output:
Name    Title           URL                                    Collection ID Subset Filter Priority Options    … … Homepage             Icon
fedora  Fedora Flatpaks oci+https://registry.fedoraproject.org -             -      -      1        system,oci … … -                    -
flathub Flathub         https://dl.flathub.org/repo/           -             -      -      1        system     … … https://flathub.org/ https://dl.flathub.org/repo/logo.svg



Enable pwfeedback
#

# pwfeedback
sudo visudo -f /etc/sudoers.d/pwfeedback

# Enable pwfeedback
Defaults pwfeedback

SSH
#

OpenSSH Setup
#

# Install openSSH (package should already be installed)
sudo dnf install openssh-server

# Start and enable ssh
sudo systemctl start sshd && sudo systemctl enable sshd

SSH Keys & Settings
#

# Create SSH key pair
ssh-keygen -t rsa -b 4096 -C "fedoramini" -f ~/.ssh/fedoramini

# Load SSH agent (if necessary)
eval "$(ssh-agent -s)"

# Load SSH key
ssh-add ~/.ssh/fedoramini

# List loaded keys
ssh-add -l
# Open SSH configuration
vi ~/.ssh/config

# Add the following
Host *
    IdentityFile ~/.ssh/fedoramini
    AddKeysToAgent yes

Host gitlab
    HostName 192.168.70.90
    User debian
    Port 2280
# Copy pub SSH key
ssh-copy-id -i ~/.ssh/fedoramini.pub debian@ansible
# Verify SSH agent is running
echo "$SSH_AUTH_SOCK"

# Start SSH agent
eval "$(ssh-agent -s)"

Network
#

# List network devices
nmcli device

Docker
#

# Install Docker
curl -fsSL https://get.docker.com | sudo sh &&
sudo systemctl enable --now docker &&
sudo usermod -aG docker $USER

KVM & VirtManager
#

# Verify virtualization is available
lscpu | grep -i virtualization

# Shell output:
Virtualization:                          AMD-V
# Install KVM, dependencies and VirtManager
sudo dnf install @virtualization virt-manager

# Start and enable libvirtd services
sudo systemctl enable --now libvirtd

# Add current user to libvirt group
sudo usermod -aG libvirt $(whoami)

Various Packages
#

KeePassXC
#

# Install KeePassXC
sudo dnf install keepassxc -y

# List currently installed version
keepassxc --version

Ansible (via Python venv)
#

# List Python version / verify installation
python3 --version
# Create Python venv
python3 -m venv venv-ansible

# Activate venv
source venv-ansible/bin/activate

# Update pip
python -m pip install --upgrade pip

# Install Ansible and dependencies
python -m pip install \
  ansible \
  kubernetes \
  pyyaml \
  httpx \
  hvac \
  python-dateutil \
  requests \
  "psycopg[binary]"

Terraform
#

Official Documentation: https://developer.hashicorp.com/terraform/install#linux

# Install Terraform
sudo wget -O- https://rpm.releases.hashicorp.com/fedora/hashicorp.repo | sudo tee /etc/yum.repos.d/hashicorp.repo
sudo dnf -y install terraform
# List Terraform version / verify installation
terraform version

Brave
#

# Install dependencies
sudo dnf install dnf-plugins-core

# Add Brave repository
sudo dnf config-manager addrepo --from-repofile=https://brave-browser-rpm-release.s3.brave.com/brave-browser.repo
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc

# Install Brave
sudo dnf install brave-browser

btop
#

# Install btop
sudo dnf install btop

guvcview Webcam Program
#

# Install guvcview
sudo dnf install guvcview



KDE
#

Overview
#

# List KDE plasma version
plasmashell --version

# Shell output:
plasmashell 6.7.1

KDE Shortcuts
#

  • win + w Open workspace overview

  • win + t Open KDE tiling editor

  • Hold Shift while dragging window to snap to grid

  • win + <arrow keys> Window edge snapping

  • win + shift + left / right Move window between monitors


Enable X11
#

# Enable x11 (optional)
sudo dnf install plasma-workspace-x11
sduo reboot