Dotfiles-showcase-2024-11-06_10.14.15.mp4
Welcome to my dotfiles. I’m gh0stzk from Mexico.
These dotfiles are designed with the goal of providing a bspwm environment that is lightweight, efficient, and functional, tailored for any use—whether it’s gaming, web browsing, or a productive work setting.
You’ll have 18 unique themes to choose from, each with its own style, colors, and navigation bar options. With this variety, you’re sure to find one that suits your preferences and needs.
I already started writing the Wiki, you should give it a read. If it is your first time with a WM, you may be interested in reading First steps after installing the dotfiles or maybe read frequently asked questions and answers Keybinds Firefox Theme.
You can switch themes instantly, with no need to restart your session or environment. With just one click, the change is applied immediately.
Each theme not only changes the appearance of bspwm but also instantly transforms the color scheme in terminals (Alacritty & Kitty), eww widgets, polybar bars, notifications, gtk theme, launchers and more. Visual harmony is guaranteed in every corner of your system.
BSPWM is not a desktop environment (DE), and that’s exactly what makes it stand out in terms of lightweight performance. On my systems, my BSPWM-dotfiles environment starts with under 500 MB of RAM usage. While these numbers don't tell the whole story, they do highlight the minimalist approach that a window manager should embrace.
It’s true that Wayland-based environments like Hyprland and Sway are modern and popular, but they come at a cost — for instance, Hyprland typically starts with nearly 1 GB of memory usage, which contradicts the idea of being truly lightweight.
Thanks to the latest major update to Picom, we now have stable and lightweight animations on X11. Additionally, I’ve optimized my setup to avoid unnecessary service reloads. Unlike distributions such as Archcraft or other dotfiles in the web —which restart bspwm, sxhkd, picom, dunst, and others whenever the theme changes— my environment keeps these services running without interruption.
It’s designed so that services/daemons which only need to be launched once do so correctly, and aren’t restarted every time a theme is switched. Changing the theme doesn’t require restarting bspwm, since it’s entirely possible to update its appearance using bspc without reloading the window manager.
In short, my setup is faster, smoother, and more stable than what’s provided by preconfigured distributions.
In addition, each theme can be configured independently — either by manually editing the theme’s configuration file or using my RiceEditor application. This ensures a high level of customization: if you want a minimalist setup for a specific theme, you can disable animations, shadows, rounded borders, or fading effects. On the other hand, if you prefer a more visually rich theme with all those features enabled, that’s fully supported as well. My dotfiles are built to provide that level of flexibility.
If you have multiple monitors, BSPWM will automatically detect and configure up to 4 displays when launching with my dotfiles.
If you connect an additional monitor while the session is already running, simply reload BSPWM using the Super + Alt + r
key combination, and your monitors will be configured instantly.
You can check the Wiki 👉 Monitors Setup if you want to edit the default layouts.
Is an application designed to simplify the customization of your current theme. It allows you to easily adjust various visual and configuration aspects, tailoring your environment to your preferences without the need to manually edit configuration files.
4 different widgets, including a calendar, music player, profile card and a cheatsheet. These widgets are not only functional but also instantly adapt to the color scheme of the selected theme.
Explore an elegant right-click menu (Desktop) made with Jgmenu, which also syncs with themes for flawless visual consistency.
The lockscreen automatically adapts to the active theme and offers two locking options: it can capture the current screen with a blur effect, or use a specific wallpaper depending on the current theme.
My dotfiles support 5 different methods for setting your favorite wallpaper:
- Theme: Sets a random wallpaper from the theme’s Walls directory. (Default)
- CustomDir: Sets a random wallpaper from a directory you specify.
- CustomImage: Sets a specific image as wallpaper.
- CustomAnimated: Supports animated wallpapers (.mp4, .mkv, .gif).
- Slideshow: Changes the wallpaper every 15 minutes with a random image from the theme’s Walls directory.
Each option is theme-specific, meaning you can have an animated wallpaper in one theme, a static image in another, or a custom directory in a third — And all your settings will be preserved per theme. By default, all themes load a random wallpaper from their Walls folder.
Check the wiki for more details: 👉 Wallpapers Configuration
A scratchpad is a tool designed to provide quick, temporary access to applications or notes without disrupting the desktop workflow. When activated, the scratchpad appears over the current workspace, allowing the user to access applications like a terminal, text editor, or any configured tool. Minimizing it hides the scratchpad from view but keeps it running in the background, ready to be reopened with a simple keyboard shortcut.
It's ideal for quick note-taking, running commands, or accessing auxiliary tools without losing focus on the current task.
Each theme features a unique color palette, along with transparencies, shadows, and animations—all designed to maintain visual balance without impacting performance or overwhelming the environment.
Rofi applets to simplify your workflow:
- Wallpaper Selector - See the wiki WallpaperSelector
- Network Manager
- Bluetooth Controller
- Clipboard Manager
- Screenshot Tool
- Android MTP Manager
- Power Menu
- Keyboard Layout
- Terminal Selector (Alacritty or Kitty)
- Rofi app launcher style selector
- Tab app switcher
Benefit from a newly added tmux configuration and design, enhancing your terminal multiplexing experience.
Simple yet powerful neovim configuration with the following features:
- Treesitter
- Lsp servers
- Completions blink.nvim
- Formatting conform.nvim
- Picker Snacks-picker
- Explorer Snacks-explorer
- Tab Line barbar.nvim
- Statusline lualine.nvim
- Autopairs mini-autopairs
- Hipatterns mini-hipatterns
- Indent guides Snacks-indent
- Dashboard Snacks-dashboard
- WhichKey which-key.nvim
Optimized, native ZSH configuration. Not Oh-My-Zsh or other bloated plugin managers. Some features:
- Fastest and optimized performance compinit function
- Autocompletion
- Syntax highlighting
- History substring search
- Fzf-tab completion with previews!!
👕 Theme Selector |
---|
![]() |
🚥 Wallpaper Selector |
---|
![]() |
Emilia |
---|
![]() |
Jan |
---|
![]() |
Aline |
---|
![]() |
Andrea |
---|
![]() |
Cynthia |
---|
![]() |
Isabel |
---|
![]() |
Silvia |
---|
![]() |
Melissa |
---|
![]() |
Pamela |
---|
![]() |
Cristina |
---|
![]() |
Karla |
---|
![]() |
z0mbi3 |
---|
![]() |
Brenda |
---|
![]() |
Daniela |
---|
![]() |
Marisol |
---|
![]() |
h4ck3r |
---|
![]() |
Varinka |
---|
![]() |
Yael |
---|
![]() |
![]() |
![]() |
---|---|
Power Menu | Screenshoter |
![]() |
![]() |
---|---|
Keyboard Layout | Android Mount |
![]() |
![]() |
---|---|
Network Manager | Clipboard Manager |
![]() |
![]() |
---|---|
Bluetooth Manager | Terminal Manager |
![]() |
![]() |
---|---|
Tab app switcher | Rofi style selector |
![]() |
![]() |
![]() |
---|---|---|
Normal | Full | Minimal |
![]() |
---|
cd, ls, pacman, systemctl, kill, cat, commands with preview! |
![]() |
![]() |
![]() |
---|---|---|
Profile Panel | Calendar | Music Player |
![]() |
---|
Cheat Sheet |
![]() |
---|
Rice Editor |
![]() |
---|
Lockscreen |
![]() |
---|
Jgmenu |
Yazi-2024-11-13_09.13.07.mp4
![]() |
---|
Tmux theme |
ScratchPad-2024-11-11_07.27.35.mp4
![]() |
---|
The environment changes with each theme. In the gif: (Ranger, Thunar, Ncmpcpp) |
Firefox theme - z0mbi3 Fox |
---|
![]() |
Neovim setup |
---|
![]() |
Plugins included Neovim setup wiki |
Keys | Action |
---|---|
super + x |
Close Windows |
super + Enter super + alt + Enter |
Open a terminal Open a floating terminal. |
alt + @space |
Display menu to select a theme. |
super + @space |
Apps Menu. |
super + alt + w |
Opens a menu to select a wallpaper. |
super + alt + h super + alt + u |
Hides bar/s unhide bar/s |
super + alt + s |
Takes screenshot. |
ctrl + alt + [plus,minus,t] |
Changes transparency on focused window. |
ctrl + super + alt + p ctrl + super + alt + r ctrl + super + alt + k |
Power off computer Restart computer Brute kill a window/process |
super + alt + r |
Restart bspwm. |
alt + F1 |
Show keybinds cheatsheet |
And more.. You need to look sxhkdrc file for more, or press Alt + F1 for a cheatsheet.
Caution
Important
✏️✏️✏️ The installer assumes you already have a functional Arch Linux installation, whether it’s a fresh install or an existing setup.
A login manager of your choice is required; lightdm is recommended.
The rofi connection manager applet, works with NetworkManager
If using a virtual machine, be sure to change the Picom backend from glx to xrender before rebooting, and verify that hardware acceleration is correctly configured in your VM. ✏️✏️✏️
Warning
🔧🔧🔧 I have tested the installation and functionality of these dotfiles on both high- and low-end machines.
Some adjustments may still be needed, such as changing the Picom backend or VSync settings to ensure compatibility with your graphics card.
If you encounter any issues, feel free to open an issue. 🔧🔧🔧
Note
The installer only works for ARCH Linux, and based distros. (Except NO-Systemd ditros like Artix)
Before running this command, check RiceInstaller to make sure it's working and confirm it's safe for your system.
- Open a terminal and execute this commands one by one:
# Download the installer in your $HOME
curl -LO http://gh0stzk.github.io/dotfiles/RiceInstaller
# Give it execution permission
chmod +x RiceInstaller
# Run the installer
./RiceInstaller