bitzdots
gitlabLean Hyprland dotfiles with automatic matugen theming. Low-end optimized, full-stack auto-coloring, 26 Jinja2 templates. Rofi-powered menus, waybar modules, screenshot/recording, event-driven cache daemon.
clone
https://gitlab.com/bitzzdev/bitzdots.gitarchlinuxdotfileshyprlandhyprland-dotfileslow-endminimalricingwallustwaybarwayland
# CustomizationHow to extend, modify, and personalize bitzdots.## Understanding Auto-Generated FilesFiles generated by matugen 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.## Two Approaches to Customization### Option 1: Override Generated FilesEdit the generated file directly. Changes take effect immediately but are reset on the next wallpaper change.Good for quick experiments or temporary tweaks.### Option 2: Edit the Templates (Permanent)Edit the Jinja2 templates in `~/.config/matugen/templates/`, then regenerate:```bashmatugen image ~/.cache/current_wallpaper.png --config ~/.config/matugen/config.toml~/.config/matugen/reload-theme.sh```Changes persist across all future wallpaper changes.## Customizing Waybar### Adding a ModuleIn `waybar/config.jsonc` (via template or override):```jsonc"custom/my-module": {"exec": "~/.config/waybar/scripts/my-script.sh","interval": 10,"return-type": "json","on-click": "command-to-run"}```Add it to `modules-left`, `modules-center`, or `modules-right`.### Changing the LayoutEdit the `modules-left`, `modules-center`, `modules-right` arrays in `waybar/config.jsonc`.### Adding CSSEdit `waybar/style.css` (or the `waybar.css.j2` template for permanent changes).## Customizing Rofi### Adding a New ModeCreate a script in `~/.config/rofi/scripts/`:```bash#!/bin/bash# ~/.config/rofi/scripts/my-mode.shrofi -show my-mode -modes "my-mode:custom-script.sh"```Add a keybind in `~/.config/hypr/keybinds.lua`:```luahl.bind("SUPER + M", hl.dsp.exec_cmd("~/.config/rofi/scripts/my-mode.sh"))```### Changing the ThemeEdit `rofi-colors.rasi.j2` in the templates directory, or override `theme-generated.rasi` directly.## Adding a New Themed ComponentTo make a new app pick up colors from your wallpaper:### 1. Create a TemplateCreate `~/.config/matugen/templates/myapp.conf.j2`:```jinja2# MyApp configbackground = {{background}}foreground = {{foreground}}accent = {{color1}}```### 2. Register in config.tomlEdit `~/.config/matugen/config.toml`:```toml[myapp]template = "myapp.conf.j2"target = "~/.config/myapp/config"```### 3. Add to Reload ScriptEdit `~/.config/matugen/reload-theme.sh` to restart your app or reload its config.### 4. Add to Cache DaemonAdd the target path to `MATUGEN_OUTPUTS` in `matugen-cache-daemon.sh` so it's backed up and restored properly.### 5. Regenerate```bashmatugen image ~/.cache/current_wallpaper.png --config ~/.config/matugen/config.toml```## Available Template VariablesAll 16 colors from the matugen 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) |## Custom KeybindingsEdit `~/.config/hypr/keybinds.lua`:```lua-- Add your own keybindshl.bind("SUPER + SHIFT + Z", hl.dsp.exec_cmd("your-command"))```Standard modifier syntax:- `SUPER` = Windows/Command key- `SHIFT` = Shift- `CTRL` = Control- `ALT` = Alt## Custom Wallpaper DirectoriesBy default, bitzdots watches:- `~/Pictures/Wallpapers/` (static images)- `~/Pictures/Wallpapers/live/` (video files)To add directories:1. Edit `~/.config/matugen/matugen-cache-daemon.sh`2. Update the `WATCH_DIRS` array with new paths## Adding System TUI ToolsTo add a new tool that opens in a floating terminal:1. Create a launcher script in `~/.config/waybar/scripts/`:```bash#!/bin/bashkitty --class system-tui -e your-tui-tool```2. The existing window rule in `hypr/rules.lua` auto-floats anything with class `system-tui`3. Wire it to a waybar click or keybind## Removing Components### To remove a waybar moduleRemove it from the appropriate `modules-*` array in `waybar/config.jsonc`.### To disable the cache daemon```bashsystemctl --user stop matugen-cache-daemon.servicesystemctl --user disable matugen-cache-daemon.service```### To switch terminal emulator1. Install your preferred terminal (e.g., `foot`, `wezterm`, `alacritty`)2. Update the terminal keybind in `keybinds.lua`3. If you want theming, create a matugen template for it## Dark Themebitzdots defaults to dark theme across all apps. This is configured at multiple levels:### GTK- `~/.config/gtk-3.0/settings.ini` — Sets `Adwaita` theme with `prefer-dark-theme=1` and `Papirus-Dark` icons- `~/.config/gtk-4.0/settings.ini` — Same settings for GTK4### Qt- `~/.config/qt5ct/qt5ct.conf` — Static config with `Breeze-Dark` style and `Papirus-Dark` icons- `~/.config/qt6ct/qt6ct.conf` — Auto-generated by matugen with `Breeze-Dark` style and custom palette from your wallpaper- `environment.d/qt.conf` + `hypr/variables.lua` — Set `QT_QPA_PLATFORMTHEME=qt6ct`. `QT_STYLE_OVERRIDE` is intentionally NOT set (it overrides qt6ct and forces the light Breeze style).### Switching back to light themeTo switch all apps to light theme:**GTK:**```bash# Edit ~/.config/gtk-3.0/settings.ini# Change prefer-dark-theme=1 to prefer-dark-theme=0# Change Papirus-Dark to Papirus```**Qt:**```bash# Edit ~/.config/qt5ct/qt5ct.conf# Change style=Breeze-Dark to style=Breeze# Edit ~/.config/qt6ct/qt6ct.conf# Change style=Breeze-Dark to style=Breeze```Then 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.## Restoring Defaults```bash# Re-run the installer (links fresh configs)cd ~/.config/bitzdots./install.sh```