How to extend, modify, and personalize bitzdots.
Files generated by wallust are marked with a DO NOT EDIT header. These include:
~/.config/waybar/style.css~/.config/waybar/config.jsonc~/.config/swaync/style.css~/.config/wlogout/style.css~/.config/rofi/theme-generated.rasi~/.config/kitty/colors.conf~/.config/cava/themes/generated~/.config/hypr/hyprlock.conf~/.config/qt6ct/qt6ct.conf~/.config/kdeglobals
Editing these directly works, but your changes will be overwritten the next time you change your wallpaper.
Edit the generated file directly. Changes take effect immediately but are reset on the next wallpaper change.
Good for quick experiments or temporary tweaks.
Edit the Jinja2 templates in ~/.config/wallust/templates/, then regenerate:
wallust run ~/.cache/current_wallpaper.png --config-dir ~/.config/wallust
~/.config/wallust/reload-theme.shChanges persist across all future wallpaper changes.
In waybar/config.jsonc (via template or override):
Add it to modules-left, modules-center, or modules-right.
Edit the modules-left, modules-center, modules-right arrays in waybar/config.jsonc.
Edit waybar/style.css (or the waybar.css.j2 template for permanent changes).
Create a script in ~/.config/rofi/scripts/:
#!/bin/bash
# ~/.config/rofi/scripts/my-mode.sh
rofi -show my-mode -modes "my-mode:custom-script.sh"Add a keybind in ~/.config/hypr/keybinds.lua:
hl.bind("SUPER + M", hl.dsp.exec_cmd("~/.config/rofi/scripts/my-mode.sh"))Edit rofi-colors.rasi.j2 in the templates directory, or override theme-generated.rasi directly.
To make a new app pick up colors from your wallpaper:
Create ~/.config/wallust/templates/myapp.conf.j2:
# MyApp config
background = {{background}}
foreground = {{foreground}}
accent = {{color1}}Edit ~/.config/wallust/wallust.toml:
[myapp]
template = "myapp.conf.j2"
target = "~/.config/myapp/config"Edit ~/.config/wallust/reload-theme.sh to restart your app or reload its config.
Add the target path to WALLUST_OUTPUTS in wallust-cache-daemon.sh so it's backed up and restored properly.
wallust run ~/.cache/current_wallpaper.png --config-dir ~/.config/wallustAll 16 colors from the wallust palette:
| Variable | Usage |
|---|---|
{{background}} |
Main background |
{{foreground}} |
Primary text |
{{color0}} |
Terminal black (also background) |
{{color1}} |
Primary accent |
{{color2}} |
Green accent |
{{color3}} |
Yellow accent |
{{color4}} |
Blue accent |
{{color5}} |
Magenta accent |
{{color6}} |
Cyan accent |
{{color7}} |
White (text) |
{{color8}} |
Terminal bright black |
{{color9}} |
Bright red |
{{color10}} |
Bright green |
{{color11}} |
Bright yellow |
{{color12}} |
Bright blue |
{{color13}} |
Bright magenta |
{{color14}} |
Bright cyan |
{{color15}} |
Bright white (also foreground) |
Edit ~/.config/hypr/keybinds.lua:
-- Add your own keybinds
hl.bind("SUPER + SHIFT + Z", hl.dsp.exec_cmd("your-command"))Standard modifier syntax:
SUPER= Windows/Command keySHIFT= ShiftCTRL= ControlALT= Alt
By default, bitzdots watches:
~/Pictures/Wallpapers/(static images)~/Pictures/Wallpapers/live/(video files)
To add directories:
- Edit
~/.config/wallust/wallust-cache-daemon.sh - Update the
WATCH_DIRSarray with new paths
To add a new tool that opens in a floating terminal:
-
Create a launcher script in
~/.config/waybar/scripts/:#!/bin/bash kitty --class system-tui -e your-tui-tool -
The existing window rule in
hypr/rules.luaauto-floats anything with classsystem-tui -
Wire it to a waybar click or keybind
Remove it from the appropriate modules-* array in waybar/config.jsonc.
systemctl --user stop wallust-cache-daemon.service
systemctl --user disable wallust-cache-daemon.service- Install your preferred terminal (e.g.,
foot,wezterm,alacritty) - Update the terminal keybind in
keybinds.lua - If you want theming, create a wallust template for it
bitzdots defaults to dark theme across all apps. This is configured at multiple levels:
~/.config/gtk-3.0/settings.ini— SetsAdwaitatheme withprefer-dark-theme=1andPapirus-Darkicons~/.config/gtk-4.0/settings.ini— Same settings for GTK4
~/.config/qt5ct/qt5ct.conf— Static config withBreeze-Darkstyle andPapirus-Darkicons~/.config/qt6ct/qt6ct.conf— Auto-generated by wallust withBreeze-Darkstyle and custom palette from your wallpaperenvironment.d/qt.conf+hypr/variables.lua— SetQT_QPA_PLATFORMTHEME=qt6ct.QT_STYLE_OVERRIDEis intentionally NOT set (it overrides qt6ct and forces the light Breeze style).
To switch all apps to light theme:
GTK:
# Edit ~/.config/gtk-3.0/settings.ini
# Change prefer-dark-theme=1 to prefer-dark-theme=0
# Change Papirus-Dark to PapirusQt:
# Edit ~/.config/qt5ct/qt5ct.conf
# Change style=Breeze-Dark to style=Breeze
# Edit ~/.config/qt6ct/qt6ct.conf
# Change style=Breeze-Dark to style=BreezeThen log out and back in for changes to take effect. Do NOT set QT_STYLE_OVERRIDE=breeze — it forces light on Qt apps and qt6ct will warn.
# Re-run the installer (links fresh configs)
cd ~/.config/bitzdots
./install.sh