====== Information ======
* Fedora Workstation ((https://getfedora.org/en/workstation))
* 40
====== Download ======
===== Workstation =====
* https://getfedora.org/en/workstation/download
===== Updated Live Images =====
* [[https://fedoraproject.org/wiki/Respins-SIG|Respins-SIG]]
* https://dl.fedoraproject.org/pub/alt/live-respins
====== Installation Notes ======
===== Partitioning =====
- :!: Delete ''/home''
- :!: Delete ''/''
- Set ''/boot'' to XFS ((Fedora Server and RHEL do it))
- Re-create ''/'' without specifying a size ((this uses all available remaining space))
- Set ''/'' to XFS
* :!: See [[notes:misc_linux#create_software_raid|Software RAID]] notes if software RAID across multiple drives is wanted
====== HOSTS ======
* https://github.com/StevenBlack/hosts/
* Unified hosts + fakenews + gambling
===== Initial =====
* Only run once
ls '/etc/hosts~' || wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo cp --backup '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync
===== Update =====
****
ls '/etc/hosts~' && wget -O '/tmp/hosts-tmp' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && sudo mv --force '/tmp/hosts-tmp' '/etc/hosts' && sudo restorecon -F -I -R '/etc/hosts' && sync
===== Restore Backup =====
****
ls '/etc/hosts~' && sudo restorecon -F -I -R '/etc/hosts~' && sudo mv --force '/etc/hosts~' '/etc/hosts' && sync
====== Repositories ======
===== RPM Fusion =====
* https://rpmfusion.org
==== free ====
* https://download1.rpmfusion.org/free/fedora
sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync
==== nonfree ====
* https://download1.rpmfusion.org/nonfree/fedora
sudo rpm --import 'https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020' && sync && sudo dnf install 'https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-'$(rpm -E %fedora)'.noarch.rpm' -y && sync
====== Software ======
===== Remove =====
****
sudo dnf remove gnome-weather
===== Update =====
==== System ====
* See [[notes:misc_linux#dnf_autoremove_fix]] if ''dnf autoremove'' fails
sudo dnf autoremove -y && sudo dnf distro-sync -y && sync
==== Firmware ====
****
sudo fwupdmgr refresh --force && sudo fwupdmgr update --verbose
==== Flatpaks ====
****
flatpak update && sudo flatpak update
===== GNU nano =====
* Installs ''nano''
* Sets ''VISUAL'' and ''EDITOR'' to ''nano'' via environment variable
* Sets ''nowrap'' for current user
sudo dnf install 'nano' -y && export 'VISUAL=nano' && export 'EDITOR=nano' && echo -e 'export VISUAL=nano\nexport EDITOR=nano' | sudo tee '/etc/profile.d/editor-nano.sh' > '/dev/null' && cat '/etc/profile.d/editor-nano.sh' && mkdir -p ~/'.config/nano' && echo 'set nowrap' | tee ~/'.config/nano/nanorc' > '/dev/null' && cat ~/'.config/nano/nanorc'
==== Multimedia ====
* https://rpmfusion.org/Howto/Multimedia
sudo dnf swap 'ffmpeg-free' 'ffmpeg' --allowerasing
sudo dnf groupupdate 'core' 'multimedia' 'sound-and-video' --setop='install_weak_deps=False' --exclude='PackageKit-gstreamer-plugin' --allowerasing && sync
===== General =====
****
sudo dnf install evolution file-roller filezilla foliate gbrainy gimp gnome-extensions-app keepassxc mpv obs-studio transmission-gtk android-tools aria2 binutils hdparm htop icoutils kernel-tools lm_sensors gstreamer1-plugin-openh264 openh264 mozilla-openh264 p7zip p7zip-plugins unar wget xrandr yt-dlp
===== RPM Fusion =====
==== Tainted Repos ====
* Provides interesting firmware files
'rpmfusion-free-release-tainted' 'rpmfusion-nonfree-release-tainted'
==== free ====
****
ffmpeg-libs
==== nonfree ====
steam
intel-media-driver
==== Tainted ====
libdvdcss
sudo dnf --repo='rpmfusion-nonfree-tainted' install *'-firmware'
===== Wine =====
wine winetricks
mesa-libd3d mesa-libd3d.i686
====== Settings ======
===== Keyboard Shortcuts =====
gnome-terminal
bash -c "secret-tool lookup 'keepass' 'default' | keepassxc --pw-stdin ~/'Documents/keepass.kdbx'"
gnome-terminal --command "sudo sh -c 'dnf clean 'all' && dnf distro-sync -y && sync && flatpak update && wget -O '/tmp/sb-hosts' 'https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts' && mv --force '/tmp/sb-hosts' '/etc/hosts' && restorecon -F -I -R '/etc/hosts' && sync && fstrim --all --verbose && sync && read -n '1' -s -r -p 'Done' && sleep '2''"
==== Keys ====
* Listed respectively to above
* Ctrl + Alt + T
* Ctrl + Alt + Z
* Menu or F6
===== Printer =====
* http://localhost:631/admin
* Printer name can be ''Ctrl + F'''d
* :!: AppSocket/HP JetDirect -> HP -> HP Officejet Pro 8710, hpcups (en) ((single ''en'' **not** ''en, en''))
* Color Mode: Device Gray
* Administration -> Set As Server Default
socket://192.168.1.164:9100
HP Officejet Pro 8710
==== Info ====
* ''HP Officejet Pro 8710, hpcups 3.23.5'' has two options, ''(en)'' and ''(en), (en)''
* With Firefox, do ''Inspect''
* ''(en)'' is ''drv''
* ''(en), (en)'' is ''lsb''
* https://access.redhat.com/solutions/6971890 implies the ''drv'' path is the modern choice
* :!: The IPP option //sometimes//(?) prints blurry documents; CUPS says old non-IPP drivers will be deprecated eventually
===== Network =====
==== systemd-resolved ====
* systemd-resolved caches DNS
* [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses
sudo mkdir -p '/etc/systemd/resolved.conf.d' && sudo -e '/etc/systemd/resolved.conf.d/99-dns-over-tls.conf'
[Resolve]
DNS=9.9.9.9#dns.quad9.net 149.112.112.112#dns.quad9.net 2620:fe::fe#dns.quad9.net 2620:fe::9#dns.quad9.net
DNSOverTLS=yes
=== NetworkManager ===
127.0.0.1
::1
===== Nautilus =====
* Sort Folders Before Files
===== Rhythmbox =====
* See [[Information:Internet Radio|Internet Radio]]
===== Terminal =====
* 10-notch Transparency
===== Fan Profile =====
* https://www.dell.com/support/kbdoc/en-us/000177768/guide-to-dell-power-manager
sudo dnf install 'smbios-utils-python' -y && sudo smbios-thermal-ctl --set-thermal-mode='performance' && sudo dnf remove 'smbios-utils-python' -y
===== Kernel Options =====
==== Magic SysRq key ====
* https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html
* ''kernel.sysrq = 1''
echo 'kernel.sysrq = 1' | sudo tee '/etc/sysctl.d/99-sysrq.conf' > '/dev/null' && cat '/etc/sysctl.d/99-sysrq.conf'
sysctl 'kernel.sysrq'
===== GRUB =====
==== Config ====
* :!: [[notes:kernel_parameters|More Kernel Parameters]]
* Add commands within ''args''
sudo grubby --update-kernel='ALL' --args=''
sudo grubby --update-kernel='ALL' --remove-args=''
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg'
==== Spinesnap ====
* Last updated: 2024/07/01
* ''GRUB_CMDLINE_LINUX=''
sudo -e '/etc/default/grub' && sudo grub2-mkconfig -o '/boot/grub2/grub.cfg'
nohz='off' acpi_osi='Linux' pci='pcie_bus_perf,realloc,pcie_scan_all,big_root_window' pcie_aspm='off' video='HDMI-A-1:1920x1080MR@75' reboot='pci' nvme_core.default_ps_max_latency_us='0' i915.enable_guc='3' usbhid.quirks='0x1b1c:0x1b75:0x20000408' usbcore.quirks='1b1c:1b75:gn'
===== GNOME =====
==== Dynamic Wallpaper ====
****
gsettings set 'org.gnome.desktop.background' 'picture-uri' '/usr/share/backgrounds/f'*'/default/f'*'.xml'
==== Extensions ====
* https://extensions.gnome.org/extension/545/hide-top-bar/
==== External Monitor Settings ====
* This copies the configured monitor settings from the current user to ''gdm'' and also applies it to the log-in screen
* Notably useful for setting a laptop's built-in screen as disabled for the log-in screen while used in a dock configuration
sudo cp --remove-destination ~/'.config/monitors.xml' ~gdm/'.config/monitors.xml' && sudo chown 'gdm':'gdm' ~gdm/'.config/monitors.xml' && sudo restorecon -F -I -R ~gdm/'.config/monitors.xml'
=== Undo ===
****
sudo rm ~gdm/'.config/monitors.xml' && sync
==== Tweaks ====
* 2024/07/01: ''MUTTER_DEBUG_FORCE_KMS_MODE'' test: https://discussion.fedoraproject.org/t/gnome-does-not-allow-login/118415/12
sudo -e '/etc/profile.d/99-tweaks.sh'
# Mutter
export MUTTER_DEBUG_FORCE_KMS_MODE='simple'
export MUTTER_DEBUG_KMS_THREAD_TYPE='user'
# Clutter
export CLUTTER_PAINT='disable-dynamic-max-render-time'
# End
==== Settings ====
=== All-in-one ===
* Last updated: 2024/07/01
gsettings reset 'org.gnome.shell' 'app-picker-layout' && gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false' && gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-to-click' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-and-drag' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'disable-while-typing' 'false' && gsettings set 'org.gnome.desktop.peripherals.touchpad' 'click-method' 'areas' && gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true' && gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click' && gsettings set 'org.gnome.software' 'download-updates' 'false' && gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
=== Individual ===
gsettings reset 'org.gnome.shell' 'app-picker-layout'
gsettings set 'org.gnome.desktop.interface' 'enable-animations' 'true'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'send-events' 'disabled-on-external-mouse'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'natural-scroll' 'false'
gsettings set 'org.gnome.desktop.peripherals.mouse' 'accel-profile' 'flat'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-to-click' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'tap-and-drag' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'disable-while-typing' 'false'
gsettings set 'org.gnome.desktop.peripherals.touchpad' 'click-method' 'areas'
gsettings set 'org.gnome.desktop.interface' 'clock-show-date' 'true'
gsettings set 'org.gnome.desktop.wm.preferences' 'focus-mode' 'click'
gsettings set 'org.gnome.software' 'download-updates' 'false'
gsettings set 'org.gnome.desktop.interface' 'clock-show-weekday' 'true'
===== Hostname =====
* Change ''x'' to computer name
hostnamectl set-hostname 'x'
===== KeePassXC =====
==== Settings ====
* General -> [ ] Load previous databases on startup
* Security -> [x] Use DuckDuckGo service to download website icons
==== Add Database Password to GNOME Keyring ====
****
secret-tool store --label='KeePass' 'keepass' 'default'
===== lm_sensors =====
sudo sensors-detect --auto
sudo -e '/etc/sysconfig/lm_sensors'
===== mpv =====
mkdir -p ~/'.config/mpv' && nano ~/'.config/mpv/mpv.conf'
save-position-on-quit
sub-auto=fuzzy
force-window=yes
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
hwdec=vaapi
hwdec-codecs=all
vo=dmabuf-wayland
===== Secure Shell =====
* See [[clients:secure_shell|Client]] notes to generate/restore public key
===== Drive Maintenance =====
==== XFS Scrub ====
* [[https://wiki.archlinux.org/title/XFS#Online_metadata_checking_(scrub)|XFS - ArchWiki]]
sudo dnf install 'xfsprogs-xfs_scrub' -y && sync
sudo systemctl enable 'xfs_scrub_all.timer' --now && sudo systemctl start 'xfs_scrub_all' && sync && sudo systemctl status 'xfs_scrub_all' -l
==== Trim ====
****
sudo systemctl enable 'fstrim.timer' --now && sudo systemctl start 'fstrim' && sync && sudo systemctl status 'fstrim' -l
===== UTC =====
* [[https://wiki.archlinux.org/index.php/System_time#Time_standard|System time - ArchWiki]]
* Set RTC to UTC
* :!: Likely needed if Windows was installed first for dual-boot
* :!: Windows should also be set to UTC
sudo timedatectl set-local-rtc '0'
==== Verify ====
****
timedatectl | grep local
===== Wine =====
* See [[notes:wine|Wine]]
===== Xorg/Wayland =====
==== Display Settings ====
* This sets Full RGB and other options for a connected display (HDMI)
* See [[notes:proptest_full_rgb]] for more ports and examples
* This works on Wayland as well as GNOME on Xorg even with Wayland globally-disabled from ''custom.conf''
* :!: The numbers ''103'' and after the ''connector'' change depending on the hardware and need checked from ''proptest'' on a Wayland session ((the current values are specific to a Dell Latitude 5591 and its onboard HDMI port))
* Last updated: 2024/07/01
sudo dnf install 'drm-utils' -y && sudo -e '/etc/gdm/PostLogin/Default' && sudo restorecon -F -I -R '/etc/gdm/PostLogin/Default' && sudo chmod +x '/etc/gdm/PostLogin/Default' && sync
#!/bin/bash
# Broadcast RGB (99) to Full (1)
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '99' '1'
# content type (107) to Game (4)
proptest -M 'i915' -D '/dev/dri/card'* '103' 'connector' '107' '4'
# End
====== Firefox ======
* See [[notes:firefox|Firefox]] if old configuration is needed, otherwise use Firefox Sync
* https://wiki.archlinux.org/title/Firefox/Privacy
===== about:config =====
* See [[notes:firefox#aboutconfig|about:config]] for more info
* :!: ''layout.frame_rate'' ideally needs set if using Wayland and above 60Hz ((check ''Target Frame Rate'' in ''about:support''))
layout.frame_rate
extensions.screenshots.disabled
extensions.pocket.enabled
security.tls.enable_kyber
===== Extensions =====
* [[https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/|uBlock Origin]]
* [[https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/|Decentraleyes]]
* [[https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/|Privacy Badger]]
==== uBlock Origin ====
==== Filters list ====
****
https://www.fanboy.co.nz/fanboy-problematic-sites.txt
https://www.fanboy.co.nz/r/fanboy-ultimate.txt
https://www.fanboy.co.nz/fanboy-cookiemonster_ubo.txt
https://www.fanboy.co.nz/enhancedstats.txt
==== My filters ====
****
! Hide RuneScape Wiki clocks
! 2023/12/13
oldschool.runescape.wiki###utcdate > [href="#"]
oldschool.runescape.wiki###footer-info-lastmod
runescape.wiki##[href="/w/Clock_(interface)"]
runescape.wiki###footer-info-lastmod
! Hide YouTube TV promo
! 2024/07/24
youtube.com###mealbar-promo-renderer > .yt-mealbar-promo-renderer.style-scope
! End
===== DNS over HTTPS =====
* [[notes:dns_servers#quad9|Quad9]], see [[notes:dns_servers]] for other addresses
https://dns.quad9.net/dns-query
====== Server ======
* For workstations that run servers as a secondary directive
* For headless servers, see [[distros:fedora_server|Fedora Server]]
===== Enable SSH =====
****
sudo systemctl enable --now 'sshd'
===== Automatic Updates =====
==== Service ====
sudo -e '/etc/systemd/system/fedora-up.service'
[Service]
Type=oneshot
ExecStartPre='/usr/bin/dnf' clean 'all'
ExecStart='/usr/bin/dnf' distro-sync -y
ExecStart='/usr/bin/dnf' autoremove -y
ExecStartPost='/usr/bin/sync'
ExecStartPost='/usr/bin/systemctl' reboot
===== Timer =====
* 03:00 Oak
sudo -e '/etc/systemd/system/fedora-up.timer' && sudo systemctl daemon-reload && sudo systemctl enable 'fedora-up.timer' --now
[Unit]
Description=Software Package Maintenance and Updater
After=network-online.target
Wants=network-online.target
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
====== Notable Folders and Commands ======
* See [[notes:misc_linux]]