A minimalist "retro/hacker" bspwm desktop environment for daily use on archlinux
After configuring a desktop environment with Hyprland on Wayland, I was left wanting to explore something new and different, this time based on Xorg (X11). My goal was to find a minimalist and simple setup that would optimize resources to the maximum without losing that distinct retro-functional and clean aesthetic, I opted for bspwm.
My configuration aims to be both functional and simple, tailored specifically for my workflow as a Telematics Engineering student and my daily needs.
I hope this repository serves as a guide and inspiration for your 'rice'. If you have any questions or suggestions, I would greatly appreciate you sharing them, either by opening an issue here or contacting me through the methods listed on my GitHub profile.
Warning
Do not apply my settings to your system unless you fully understand what you are doing. Use at your own risk.
- Add GTK Themes.
- New color scheme
/ Distro → Arch Linux 🐧
/ Window Manager → bspwm with sxhkd as hotkey daemon 🏹
/ Compositor → Picom 🎨
/ Bar → Polybar ✨
/ App Launcher → dmenu 🚀
/ Terminal → Kitty 🐈
/ Shell → zsh 🐚
/ Notifications Daemon → Dunst 🔔
/ IDE/Editor → Neovim 👨💻
/ File Manager → Yazi 📁
├── .config/ # Contains all the main configuration files for various programs and tools
│ └── ...
├── assets/ # Screenshots, wallpapers, and other media files
├── .xinitrc # X session startup script
├── .zshrc # Zsh shell configuration
└── README.md # You are here!
This guide assumes a clean Arch Linux installation with git already present. Familiarity with basic terminal commands is also recommended.
-
Install an AUR Helper (I use paru)
Some dependencies might be in the Arch User Repository (AUR). You can install paru or yay, which are among the most popular. -
Install Core Dependencies
These are the essential packages from the official Arch repositories required for the desktop environment to function.sudo pacman -S --needed ...
paru -S --needed ...
-
Clone the Repository
Start by cloning these dotfiles to your home directory.git clone https://github.com/michifeli/bspwmdots.git
-
Backup Existing Dotfiles (Highly Recommended!)
Before stowing, make a backup of any existing dotfiles to prevent data loss. -
Incorporate dotfiles
To apply the configuration files you have two options:Option A: Using GNU Stow (Recommended where applicable)
Highly recommended, it is simpler and since it uses symbolic links no duplicate files are created.-
Install GNU Stow
sudo pacman -S --needed stow
-
Stow Dotfiles Navigate into your cloned repository and use stow to create symbolic links. For stow to work correctly, each dotfile or configuration folder you want to link should be in its own subdirectory within
~/bspwmdots/
cd ~/bspwmdots/ # Stow .config directory stow .config/ # Link individual dotfiles from the cloned repository to your home directory ln -s ~/bspwmdots/.zshrc ~/.zshrc ln -s ~/bspwmdots/.xinitrc ~/.xinitrc
Option B: Manual Copy
Directly copy the configuration files to their respective locations. -
-
Install Fonts
For proper rendering of icons in Polybar, your shell prompt, and overall visual consistency, specific fonts are required.paru -S --needed ... fc-cache -fv # Refresh font cache after installation
-
Enable / Start Services & Autostart
Ensure bspwm and other services start correctly when you log in to X.-
Make
bspwmrc
executablechmod +x ~/.config/bspwm/bspwmrc
-
Make
xinitrc
executablechmod +x ~/.xinitrc
-
-
Reboot
After setting up, simply reboot your system, to ensure all changes take effect.
Thanks to these programmers for their work and making it open source so that people like me can use it, their work inspired me to develop my configurations.
hicfool → Polybar inspiration