Cozy Guide To Install Bspwm In Arch Linux
Welcome to this guide to install the tiling window manager BSPWM in your Arch Linux. Whether you’re a seasoned Linux user or a newcomer, we’ve got you covered. We’ll walk you through the process, explain the concepts, and provide tips and tricks to make your experience smooth and enjoyable.
Note: To follow this guide, we assume that you already have Arch Linux installed. If you have not installed it yet, you can refer to my Cozy Guide to Install Arch Linux.
Initializing the Desktop Environment
Installing BSPWM and SXHKD
We will start with the installation of bspwm
and
sxhkd
. SXHKD is an independent daemon to bind actions to
key combinations and/or mouse buttons essential to use BSPWM.
We will also install lightdm
, which is a lightweight
display manager, along with lightdm-gtk-greeter
and
lightdm-gtk-greeter-settings
to provide a graphical user
interface for configuration. Finally, xorg
, which is the
most popular public, free, and open-source window system.
To install these packages, open a terminal and run the following command:
sudo pacman -S bspwm sxhkd lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings xorg
Enabling the Display Manager
Now we have to initialize the LightDM display manager. This can be done by enabling it through the system control as follows:
sudo systemctl enable lightdm
Configuring BSPWM and SXHKD
Next, we need to create custom directories for BSPWM and SXHKD in the
.config
directory. This can be done using the
mkdir
command:
mkdir -p ~/.config/{bspwm,sxhkd}
Once the directories are created, we can proceed to install the
necessary files with the appropriate permissions. We’ll use the
install
command to copy the example configuration files
from the BSPWM and SXHKD documentation to our newly created
directories:
install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/
install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/
After installing the files, it’s crucial to modify the
sxhkdrc
file located in the .config/sxhkd/
directory. This file contains the configuration for the hotkeys,
including the one for opening the terminal. If this is not set up
correctly, you may encounter issues when trying to open a terminal after
a system restart.
In my case we will use Kitty
as our terminal emulator,
so the configuration would be as follows:
# kitty
super + Return
kitty
Customizing BSPWM
We will install the lxappearance
, picom
,
and nitrogen
packages to customize the desktop
environment.
LXAppearance
LXAppearance
is a desktop-independent theme manager that
allows us to change the appearance of our desktop environment. To
install it, run the following command:
sudo pacman -S lxappearance
Once installed, you can run lxappearance
in the terminal
to open the graphical user interface. Here you can change the GTK theme,
the icon theme, the font, and the cursor.
Picom
Picom
is an independent compositor for Xorg, famous for
providing shading and transparency effects to windows. To install it,
run the following command:
sudo pacman -S picom
After installation, you can start Picom with the command
picom &
. To configure it, create a configuration file
in your home directory, for example
~/.config/picom/picom.conf
, and adjust the settings
according to your needs.
Nitrogen
Nitrogen
is a utility for changing the desktop
background in X Window systems. To install it, run the following
command:
sudo pacman -S nitrogen
After installation, you can run
nitrogen /path/to/your/images/
to select an image as a
desktop background.
Autostarting Programs
If you want these programs to run when you start your computer, you
can add the following configuration to your .bspwmrc
file:
nitrogen --restore % &
picom --config ~/.config/picom/picom.conf &
After this you’ve successfully set up the core components and explored some basic customization options. Remember, BSPWM is a powerful and flexible window manager, and this guide has just scratched the surface of its capabilities.