sudo ln -s /usr/bin/nano /usr/local/bin/pico
Taken from this Medium post
sudo nano /etc/dnf/dnf.conf
Add:
max_parallel_downloads=10
fastestmirror=True
deltarpm=True
defaultyes=True
Also change:
installonly_limit=3
to 4 or 5 to keep more kernels.
Then sudo dnf upgrade --refresh
and reboot.
sudo nano /etc/systemd/system.conf
Then change as following:
DefaultTimeoutStartSec=15s
DefaultTimeoutStopSec=15s
sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
Taken from rpmfusion docs
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
Then:
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
sudo dnf groupupdate multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
sudo dnf groupupdate sound-and-video
For intel:
sudo dnf install intel-media-driver
Some firwmares
sudo dnf install rpmfusion-nonfree-release-tainted
#sudo dnf --repo=rpmfusion-nonfree-tainted install "*-firmware"
Complete with:
sudo dnf group update core
sudo dnf install syncthing
sudo systemctl enable --now syncthing@[user].service
Then login to http://localhost:8384 to complete the configuration.
Taken from the OpenZFS documentation
Remove zfs-fuse if installed, then install. This takes time, be patient.
sudo rpm -e --nodeps zfs-fuse
sudo dnf install -y https://zfsonlinux.org/fedora/zfs-release-2-5$(rpm --eval "%{dist}").noarch.rpm
sudo dnf install -y kernel-devel
sudo dnf install zfs
sudo modprobe zfs
By default ZFS kernel modules are loaded upon detecting a pool. To always load the modules at boot:
sudo nano /etc/modules-load.d/zfs.conf
Add zfs
in there. Exit.
Open Gnome Apps to enable external repos (including Google's Chrome)
sudo dnf install dnf5 ncdu fastfetch google-chrome-stable vlc gparted gnome-tweaks tilix qalculate-gtk -y
flatpak install flathub com.mattjakeman.ExtensionManager com.spotify.Client ca.desrt.dconf-editor io.gitlab.adhami3310.Converter io.typora.Typora md.obsidian.Obsidian org.gnome.World.PikaBackup io.github.realmazharhussain.GdmSettings
Add keyboard layouts and set alt+shift to change, Caps lock to change, two shifts for caps lock and singe to get off caps lock
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'gb'), ('xkb', 'gr')]"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L']"
settings set org.gnome.desktop.input-sources xkb-options "['grp:caps_toggle', 'shift:both_capslock_cancel']"
gsettings set org.gnome.desktop.wm.preferences action-middle-click-titlebar 'minimize'
gsettings set org.gnome.desktop.wm.preferences button-layout :close
Note: reinstate with:
gsettings set org.gnome.desktop.wm.preferences button-layout :minimize,maximize,close
If a swap partition is created at installation, Fedora will find it and do all steps to use it for hibernation, **except for the resume
module in initramfs with dracut
which still needs to be done.
Taken from my guide
All commands as root:
sudo su
btrfs subvolume create /swap
Create the file
touch /swap/swapfile
# Disable Copy On Write on the file
fallocate --length 16G /swap/swapfile
chmod 600 /swap/swapfile
mkswap /swap/swapfile
For use with zswap (see later), you need to add it to your /etc/fstab
.
/swap/swapfile swap swap defaults 0 0
Update initramfs to support resume <------ This is still needed even if a swap partition is present
cat <<-EOF | sudo tee /etc/dracut.conf.d/resume.conf
add_dracutmodules+=" resume "
EOF
dracut -f
We need to find these two:
resume=UUID=
resume_offset=
The first is easy:
findmnt -no UUID -T /swap/swapfile
648bd14e-b0c0-46ee-b19a-57a9ba8f7082
That's it. Your's will be different.
The second is more difficult.
Download (open link then download) this file
Compile it and run:
gcc -O2 -o btrfs_map_physical btrfs_map_physical.c
./btrfs_map_physical /swap/swapfile
Find the first raw with numbers, starting with 0 4096 and get the last number. Mine is 10016854016
Find the pagesize with getconf PAGESIZE
, commonly 4096, then calculate the block: 10016854016/4096=9782084
Now complete the values for the kernel option. I use systemd-boot
so I need to edit /etc/kernel/cmdline
.
rootflags=subvol=@
resume=UUID=648bd14e-b0c0-46ee-b19a-57a9ba8f7082 resume_offset=9782084
Also add this to the current boot entry file in /boot/efi/loader/entries/36855f3b063c43858884b9fedfa2c342-6.8.8-300.fc40.x86_64.conf
.
At the end of the options
line, add:
resume=UUID=648bd14e-b0c0-46ee-b19a-57a9ba8f7082 resume_offset=9782084
Update: You can install it on Fedora with sudo dnf install edk2-ovmf
The files are placed in /usr/share/edk2/ovmf. Move Shell.efi to /boot/efi/shellx64.efi. Done
A similar package exists for Ubuntu, I will update later.