February 12, 2022 - Patrick Kerwood

Setting up i3 on Fedora

I finally decided to give the i3wm a go after postponing it for years. This post is my i3 setup with Polybar and other supporting applications.

First things first, i use Fedora as my Desktop and luckily there an Fedora i3 Spin (opens new window).

# Installing i3-gaps

I like to have gaps in between my windows, so instead of using i3 I will replace it with i3-gaps.

sudo dnf install --allowerasing i3-gaps

# Install RPM Fusion

sudo dnf -y 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
sudo dnf update

# Install Packages

Below command will install all tools, I use on Fedora. The list below is the i3 specific packages.

sudo dnf install \
  git \
  j4-dmenu-desktop \
  lxappearance \
  light \
  picom \
  alacritty \
  polybar \
  autorandr \
  playerctl \
  feh \
  bat \
  httpie \
  vim \
  exa \
  the_silver_searcher \
  papirus-icon-theme \
  flameshot \

# Dot files

Get the configuration files for the various applications.

cd ~/.config
git clone https://github.com/Kerwood/i3-dot-files.git
cd ./i3-dot-files

# Install Nerd Fonts

FiraCode for Polybar and Hack for Alacritty.

# Download the fonts
http -d https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraCode.zip
http -d https://github.com/ryanoasis/nerd-fonts/releases/latest/download/Hack.zip

# Unzip the files
mkdir Nerd\ Fonts
unzip FiraCode.zip -d Nerd\ Fonts
unzip Hack.zip -d Nerd\ Fonts

# Move the fonts
sudo mv Nerd\ Fonts /usr/share/fonts

# Remove
rm FiraCode.zip
rm Hack.zip

# Install Oh My Zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# Natural Scrolling.

In the /usr/share/X11/xorg.conf.d/40-libinput.conf file and add the NaturalScrolling line.


Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "NaturalScrolling" "true"

# Install Betterlockscreen

https://github.com/betterlockscreen/betterlockscreen (opens new window)

Download this fork of i3lock. Betterlockscreen is dependent on it. Just dont uninstall the original i3lock. I had issues unlocking with the correct password after removeing it.

http -d https://github.com/Raymo111/i3lock-color/releases/latest/download/i3lock
chmod +x i3lock
sudo mv i3lock /usr/local/bin

Download Betterlockscreen.

http -d -o betterlockscreen https://raw.githubusercontent.com/betterlockscreen/betterlockscreen/next/betterlockscreen
chmod +x betterlockscreen
sudo mv betterlockscreen /usr/local/bin

Install som dependencies for Betterlockscreen.

sudo dnf copr enable aflyhorse/libjpeg
sudo dnf install libjpeg8 xrdb xset xdpyinfo

Update lock screen image.

betterlockscreen -u ~/Pictures/background.jpg

# Install TPL

https://linrunner.de/tlp/ (opens new window)

TLP packages are available from the official Fedora repositories.

sudo dnf install tlp tlp-rdw
systemctl enable tlp.service

# You should also mask the following services to avoid conflicts and assure proper operation of TLP’s Radio Device Switching options.
systemctl mask systemd-rfkill.service systemd-rfkill.socket

# Install Slick Greeter

https://github.com/linuxmint/slick-greeter (opens new window)

Change the background path to fit your needs.

sudo dnf install slick-greeter

cat << EOF >>  /etc/lightdm/slick-greeter.conf

# Setup Flatpak

https://flatpak.org/setup/Fedora/ (opens new window)

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

Install Flatpaks

flatpak install -y discord spotify

# Install VSCode

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

cat << EOF | sudo tee /etc/yum.repos.d/vscode.repo
name=Visual Studio Code

sudo dnf install code
Found a bug? Help me improve this page!
Last Commit: