Back to Blog

Installation and Configuration of Minimal BSPWM on Debian

Installation and Configuration of Minimal BSPWM on Debian

Custom setup of bspwm. Bspwm is a tiling window manager that represents windows as the leaves of a full binary tree.

Installation

The instructions below assume you are using a Debian-based system. This setup starts from a minimal Debian installation.

Core Components

Install the core components needed for the bspwm setup:

Bash
sudo apt install xorg bspwm sxhkd kitty rofi polybar compton feh i3lock

General Utilities

Install general utilities for enhanced functionality:

Bash
sudo apt install lxpolkit flameshot viewnior obs-studio evince lxappearance pavucontrol ffmpeg mpv

Usage

Clone Repo

Bash
git clone https://github.com/patrickmwila/ndinebspwm.git

Directory Structure

Copy configuration files to appropriate directories and make changes as needed.

  1. .config:
    • Location: ~/.config/
    • Description: Contains configuration files for various applications and utilities. Contents of this folder should be copied to your home directory as ~/.config/ to ensure the applications (e.g., bspwm, polybar, rofi, kitty, sxhkd, and compton) can find their respective configurations.
  1. starship.toml:
    • Location: ~/.config/starship.toml
    • Description: Place this file directly in ~/.config/ to configure your prompt appearance, if you are also using starship prompt and want my style.
  1. .fonts:
    • Location: ~/.fonts/
    • Description: Place the .fonts folder here to install and use custom fonts (important for polybar to work correctly - install all fonts defined in ~/.config/polybar/config).
  1. .local:
    • Location: ~/.local/
    • Description: Place contents of .local folder here for any additional configurations, mine contains a script lockscreen working with sxhkd and spawns the i3lock by pressing alt+l.
  1. 00-keyboard.conf:
    • Location: /etc/X11/xorg.conf.d/00-keyboard.conf
    • Description: Place this file in /etc/X11/xorg.conf.d/ to set up keyboard preferences.
  1. 20-intel.conf:
    • Location: /etc/X11/xorg.conf.d/20-intel.conf
    • Description: Place this file in /etc/X11/xorg.conf.d/ to configure Intel graphics (prevents screen tearing).
  1. 30-touchpad.conf:
    • Location: /etc/X11/xorg.conf.d/30-touchpad.conf
    • Description: Place this file in /etc/X11/xorg.conf.d/ to configure touchpad preferences.
  1. .bashrc:
    • Location: ~/.bashrc
    • Description: Shell script that runs whenever a new terminal session is started. Place this file directly in your home directory to configure your shell environment.
  1. .vimrc:
    • Location: ~/.vimrc
    • Description: Place this file directly in your home directory to customize Vim with my default settings.

Start BSPWM

To start your bspwm session, ensure your .xinitrc file is properly configured. Here is an example configuration:

sh .xinitrc
# Start sxhkd (Simple X HotKey Daemon)
sxhkd &

# Start compton (composite manager)
compton &

# Set the wallpaper using feh
feh --bg-scale ~/ndinebspwm/wallpaper &

# Start bspwm
exec bspwm

Run startx from the TTY session after login to start your bspwm session😎

Note: If You're using a Display Manager, You can Select BSPWM from login screen!