---
# System prepended metadata

title: Fedora Setup

---

# Fedora Setup
```
# config dnf
/etc/dnf/dnf.conf

fastestmirror=True
deltarpm=True
defaultyes=True

# rpmfusion
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# nvidia
sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver
# upgrade to latest versions
sudo dnf update
# nvidia
sudo dnf install akmod-nvidia
# appstream metadata
sudo dnf groupupdate core
# base dev
sudo dnf groupinstall "Development Tools" "Development Libraries"
# codecs
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
# 1password
sudo rpm --import https://onepassword.s3.amazonaws.com/linux/keys/1password.asc
sudo sh -c 'echo -e "[1password]\nname=1Password\nbaseurl=https://onepassword.s3.amazonaws.com/linux/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://onepassword.s3.amazonaws.com/linux/keys/1password.asc" > /etc/yum.repos.d/1password.repo'
# slack
sudo dnf copr enable jdoss/slack-repo
sudo dnf install slack-repo
# signal
sudo dnf copr enable frostyx/Signal-Desktop
# amd
dnf sudo in xorg-x11-drv-amdgpu.x86_64
# neovim deps
sudo yum -y install ninja-build libtool autoconf automake cmake gcc gcc-c++ make pkgconfig unzip patch
# wally
sudo dnf install gtk3 webkit2gtk3 libusb
sudo groupadd plugdev
sudo usermod -aG plugdev mbriggs

wget https://configure.ergodox-ez.com/wally/linux -O wally
chmod +x wally
sudo chown root:root wally
sudo mv wally /usr/local/bin/wally
sudo cp $HOME/Dropbox/wally/50-wally.rules /etc/udev/rules.d/50-wally.rules
sudo cp $HOME/Dropbox/wally/wally.desktop /usr/local/share/applications/wally.desktop
sudo cp $HOME/Dropbox/wally/wally.png /usr/share/pixmaps/wally.png
# yarn
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee     /etc/yum.repos.d/yarn.repo
# brave
sudo dnf config-manager --add-repo https://brave-browser-rpm-release.s3.brave.com/x86_64/
sudo rpm --import https://brave-browser-rpm-release.s3.brave.com/brave-core.asc
# docker
sudo grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl start docker
sudo systemctl enable docker
sudo groupadd docker
sudo usermod -aG docker mbriggs
# my stuff
sudo dnf install sqlite-devel hplip go steam vlc postgresql libsodium libsodium-devel libpq libpq-devel awscli libtool cmake gnome-tweak-tool jetbrains-mono-fonts slack nautilus-dropbox 1password emacs wget git ripgrep fd-find htop ruby ruby-devel nodejs nodejs-devel yarn brave-browser discord signal-desktop openssl-devel uvcdynctrl guvcview ibm-plex-mono-fonts hplip-gui

# install zoom
wget https://zoom.us/client/latest/zoom_x86_64.rpm
sudo dnf localinstall zoom_x86_64.rpm
rm zoom_x86_64.rpm

# LAPTOP ONLY
sudo dnf install tlp tlp-rdw
sudo systemctl enable tlp

# sensors
sensors-detect

# reboot into new kernel/drivers
sudo shutdown -r now

# emacs doom
git clone --depth 1 https://github.com/hlissner/doom-emacs ~/.emacs.d

# inotify
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

# keybase
sudo yum install https://prerelease.keybase.io/keybase_amd64.rpm

# printer
hp-setup
sudo hp-plugin

# alt tab only current workspace in gnome
gsettings set org.gnome.shell.app-switcher current-workspace-only true

# webcam
uvcdynctrl -L $HOME/Dropbox/webcam.gpfl

# deep sleep
sudo grubby --update-kernel=ALL --args="mem_sleep_default=deep"

# 1password X
https://chrome.google.com/webstore/detail/1password-x-%E2%80%93-password-ma/aeblfdkhhhdcdjpifhhbdiojplfjncoa?hl=en
```

# gnome shell extensions
 - KStatusNotifierItem/AppIndicator Support
 - Screenshot Tool
 - Caffeine
 - cpufreq
 - Audio Switcher