Arch Linux GUI setup (I3WM Termite Nerd fonts) - Pipe-Runner/dotfile-manager GitHub Wiki

With a basic installation ready, we can now finally start to install xserver and a functional UI.

1. XServer and Xinit installation

sudo pacman -S xorg

To start window managers / desktop environments manually without a display manager, one can make use of startx command. To make use of it, install the following package:

sudo pacman -S xorg-xinit

Users can optionally make changes to the ~/.xinitrc file to start WMs/DEs by default with the startx command.

2. i3WM

Start by installing the i3 group:
sudo pacman -S i3
pip install --user i3ipc

Note: i3-gaps will be installed by default.

Now create a new file in the home directory with the name of .xinitrc with the following content:
exec i3

This will start i3 by default by using the startx command.

Install Polybar

yay -S polybar

Note Don't forget to make install.sh in polybar config folder executable.

Install utilities

This includes a dmenu alternative, a file explorer, a wallpaper and screenshot tool and a window compositor.
sudo pacman -S rofi nautilus gvfs-mtp feh screenfetch compton

Go ahead and install a tty toy too:
yay -S tty-clock figlet lolcat
sudo pacman -S neofetch

3. Fonts

We will make use of the patched fonts. I am a big fan of the Fira Code and we need a variant that comes patched with Nerd Fonts so that we can make use of the Glyph in i3 and the zsh shell.
https://github.com/ryanoasis/nerd-fonts/pull/356

A GUI font-manager

Having a GUI based font manager will make changing and testing new fonts a hell lot easier. We will install one from Arch
yay -S font-manager

Note: While using font names, use whatever name the GUI tool shows.

Install all necessary fonts from AUR

Most of the basic fonts get installed while installing VS Code, Browser and other such UI based applications, but specific fonts need to be downloaded via AUR. We will use Fira-Code Nerd Fonts for our code editor, i3wm and GTK applications.

yay -S nerd-fonts-fira-code

To use it, we have to look for FuraCode Nerd Font.

4. Terminal emulator

sudo pacman -S termite

Add this ~/.config/gtk-3.0/gtk.css with the following content to adjust padding in termite:

VteTerminal, vte-terminal {
padding: 16px;
}

5. Install and configure ZSH

sudo pacman -S zsh
chsh -s /usr/bin/zsh

Note: Now users are required to use .zshrc and .zprofile

Install oh-my-zsh

git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh

Note: Users should make sure the $ZSH is point to the right directory in .zshrc for this to work correctly.

Install Space-ship prompt Theme for ZSH

https://github.com/denysdovhan/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt"
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

and then add the following to .zshrc
ZSH_THEME="spaceship"

Use https://denysdovhan.com/spaceship-prompt/ for reference.

Installing PowerLevel10k for ZSH theme (optional)

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

6. Copy / Paste Config files for i3, rofi, termite and more

7. Install lxappearance (GTK3+)

This tool will allow us to change the themes and icons being used by GTK2 and GTK3 bases apps on a system wide level.
sudo pacman -S community/lxappearance-gtk3

Then download the theme and icon pack as needed from AUR. It will get listed in the menu. Note: I would recommend using Paper icons and Numix dark-blue theme.
Also Qt based applications will automatically use GTK2 themes.

8. Install audio utilities

We will install audio drivers and a GUI tool to adjust audio related properties.
sudo pacman -S alsa-utils pulseaudio pavucontrol
This will let you use the alsamixer TUI utility to control audio. This will also allow us to use the PulseAudio Volume Controls GUI tool.

If it fails to connect to pulseaudio, use the follow and try again:
pulseaudio --check
pulseaudio -D

10. Install i3 lock

sudo pacman -S fortune-mod
git clone https://github.com/AakashMallik/fortune-i3lock.git


11. Install video player

sudo pacman -S vlc

12. Web browser and Discord

sudo pacman -S brave-bin
sudo pacman -S discord

13. Install OBS, Kdenlive and GIMP

sudo pacman -S obs-studio
sudo pacman -S kdenlive
sudo pacman -S gimp

14. Install Spotify

yay -S spotify