The instructions below assume you are using a Debian-based system. This setup starts from a minimal Debian installation.
Install the core components needed for the bspwm
setup:
sudo apt install xorg bspwm sxhkd kitty rofi polybar compton feh i3lock
Install general utilities for enhanced functionality:
sudo apt install lxpolkit flameshot viewnior obs-studio evince lxappearance pavucontrol ffmpeg mpv
Install web browsers for internet access:
sudo apt install firefox-esr
Install both GUI and terminal file managers:
sudo apt install pcmanfm ranger
Install terminal-based applications as needed:
sudo apt install htop cmatrix neofetch
Install essential development tools:
sudo apt install git curl wget python3 build-essential
# nodejs setup
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
## verify setup
node --version
Install additional useful applications:
sudo apt install gparted
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
, andcompton
) can find their respective configurations.
- Location:
-
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.
- Location:
-
.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).
- Location:
-
.local:
- Location:
~/.local/
- Description: Place contents of
.local
folder here for any additional configurations, mine contains a scriptlockscreen
working withsxhkd
and spawns the i3lock by pressingalt+l
.
- Location:
-
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.
- Location:
-
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).
- Location:
-
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.
- Location:
-
.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.
- Location:
-
.vimrc:
- Location:
~/.vimrc
- Description: Place this file directly in your home directory to customize Vim with my default settings.
- Location:
To start your bspwm session, ensure your .xinitrc file is properly configured. Here is an example configuration:
# 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
Save the file and start your X session:
Run startx
from the TTY session after login to start your bspwm session😎
Note: If You'er using a Display Manager, You can Select BSPWM from login screen!