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.
- .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.
- 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.
- .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).
- .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.
- 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.
- 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).
- 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.
- .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.
- .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!