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
<div align="center"><h1>bitzdots</h1><p><strong>Lean Hyprland dotfiles • Automatic matugen M3 theming • Low-end optimized</strong></p><p><a href="#-features">Features</a> •<a href="#-quick-start">Quick Start</a> •<a href="docs/getting-started.md">Getting Started</a> •<a href="docs/installation.md">Installation</a> •<a href="docs/keybindings.md">Keybindings</a> •<a href="docs/theming.md">Theming</a> •<a href="docs/performance.md">Performance</a> •<a href="docs/faq.md">FAQ</a></p><p><img src="https://img.shields.io/badge/hyprland-latest-blue?style=flat-square" alt="Hyprland"><img src="https://img.shields.io/badge/arch-supported-1793D1?style=flat-square&logo=archlinux" alt="Arch"><img src="https://img.shields.io/badge/fedora-supported-294172?style=flat-square&logo=fedora" alt="Fedora"><img src="https://img.shields.io/badge/debian-supported-A81D33?style=flat-square&logo=debian" alt="Debian"><img src="https://img.shields.io/badge/nixos-supported-5277C3?style=flat-square&logo=nixos" alt="NixOS"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License"></p><p><a href="https://github.com/bitzzdev/bitzdots"><img src="ss/ss3.png" alt="Screenshot 1" width="45%"></a><a href="https://github.com/bitzzdev/bitzdots"><img src="ss/ss2.png" alt="Screenshot 2" width="45%"></a><a href="https://github.com/bitzzdev/bitzdots"><img src="ss/ss1.png" alt="Screenshot 3" width="45%"></a><a href="https://github.com/bitzzdev/bitzdots"><img src="ss/ss4.png" alt="Screenshot 4" width="45%"></a></p></div>---> [!WARNING]> **Repository Renaming Notice:** This repository will be renamed to **DEVdots** soon.bitzdots is a **lean, automated theming system** for Hyprland on Wayland. Change your wallpaper and every component, including the status bar, terminal, launcher, notifications, logout screen, audio visualizer, and Qt/KDE apps, adapts to match.Built for **low-end hardware** without sacrificing usability. The full stack (Hyprland + waybar + swaync) idles under **300MB RAM**, with aggressive CPU optimizations to keep fans quiet on older machines.## Features- **Full-stack auto-theming:** One wallpaper change propagates to 20+ components via matugen M3 color extraction (waybar, kitty, rofi, swaync, wlogout, cava, Hyprland borders, Qt/KDE, GTK, and browser CSS).- **Event-driven cache daemon:** inotify-based background pre-generation keeps wallpaper switching fast.- **Live wallpaper support:** Static images with animated transitions (`awww`) and video wallpapers (`mpvpaper`) use automatic palette extraction.- **26 templates:** Every themed component, including launcher, power, wallpaper-grid themes, and eight SVG icons, uses a template.- **Rofi-powered menus:** The app launcher, clipboard manager (cliphist), power menu, wallpaper picker, WiFi, Bluetooth, audio, system monitor, and Quick Shelf styling are keyboard-navigable.- **Waybar with 16 modules:** Workspace display, CPU animation, media, Quick Shelf, recording indicator, brightness, power profiles, notifications, and system TUIs.- **Screen recording:** wf-recorder supports full-screen and region recording with audio and organized output directories.- **Screenshots with clipboard:** Fullscreen and selection screenshots both save and copy to the clipboard.- **Fish shell and fastfetch:** The shell stays quiet and fastfetch shows the custom BITZ logo on startup.- **Safe theme switching:** Every matugen run creates a backup and restores the previous theme if generation fails.- **Wallpaper cache daemon:** inotify watches wallpaper directories and pre-generates palettes.- **Multi-distro installer:** Automated setup supports Arch, Fedora, Debian/Ubuntu, and NixOS with `--with-deps`.## Quick Start```bashgit clone https://github.com/bitzzdev/bitzdots.git ~/.config/bitzdotscd ~/.config/bitzdotschmod +x install.sh# Link configs only:./install.sh# Or link configs + install all system packages:./install.sh --with-deps```See the **[Getting Started guide](docs/getting-started.md)** for a full walkthrough.## Keybindings at a Glance| Key | Action ||-----|--------|| `SUPER + T` | Open terminal || `SUPER + Q` | Close window || `SUPER + Space` | App launcher (rofi) || `SUPER + V` | Clipboard history || `SUPER + SHIFT + S` | Selection screenshot || `Print` | Fullscreen screenshot || `SUPER + R` | Toggle screen recording || `SUPER + SHIFT + W` | Wallpaper picker || `SUPER + N` | Toggle notifications || `SUPER + P` | Power menu || `SUPER + L` | Lock screen |Full reference: **[docs/keybindings.md](docs/keybindings.md)**## Documentation| Guide | Description ||-------|------------|| [Getting Started](docs/getting-started.md) | First-time setup, recommended config || [Installation](docs/installation.md) | Detailed install per distro, manual steps || [Features](docs/features.md) | Complete feature breakdown || [Keybindings](docs/keybindings.md) | All keyboard shortcuts || [Waybar Modules](docs/waybar-modules.md) | Every module explained || [Theming](docs/theming.md) | How matugen works, templates || [Scripts](docs/scripts.md) | All utility scripts documented || [Performance](docs/performance.md) | Low-end optimization guide || [Customization](docs/customization.md) | Add new components, modify themes || [DEVos Aliases](docs/devos-aliases.md) | Arch Linux `dev` shortcuts & pacman aliases || [FAQ](docs/faq.md) | Common issues and solutions |## Directory Structure```~/.config/├── hypr/ # Hyprland (Lua config)│ ├── hyprland.lua # Entry point│ ├── keybinds.lua # 55+ keybinds│ ├── appearance.lua # Blur, opacity, borders│ ├── animations.lua # Window animations│ ├── rules.lua # 20+ window rules│ ├── monitors.lua # Monitor setup│ ├── input.lua # Keyboard, mouse, touchpad│ └── autostart.lua # Startup applications├── waybar/ # Status bar│ ├── config.jsonc # Module layout (themed, 15 modules)│ ├── style.css # Styling (themed)│ └── scripts/ # 17 custom scripts├── rofi/ # App launcher & menus│ ├── themes/ # 27 variants│ ├── icons/ # 8 themed SVG icons│ ├── scripts/ # Power, clipboard, wallpaper│ └── config.rasi # Main config├── swaync/ # Notification center├── wlogout/ # Logout screen├── kitty/ # Terminal (themed)├── cava/ # Audio visualizer (themed)├── matugen/ # Theming engine (26 templates)├── quick/shelf/ # Generated Quick Shelf palette lives in ~/.config/quick/shelf├── fish/ # Fish shell config├── fastfetch/ # System fetch (custom logo)└── scripts/ # 10 utility scripts```## Performancebitzdots is engineered for **low-resource environments**:| Metric | Value ||--------|-------|| **Idle RAM (full stack)** | ~250-300MB || **Waybar CPU** | ~3.5% idle || **Compositor** | Hyprland (~170MB) || **Notification daemon** | swaync (~85MB) || **Status bar** | waybar (~60MB) |Optimization strategies are documented in **[Performance](docs/performance.md)**.## Theming Pipeline```Wallpaper image↓ matugen (Material 3 palette extraction)Material 3 & base16 color schemes↓ 26 templatesConfig files for every component (20+ files)↓ reload-theme.shAll apps pick up new colors instantly```## Quick Shelf (qs) Integrationbitzdots integrates [Quick Shelf (`quickShelf`)](https://github.com/bitzzdev/quickShelf), a mouse-enabled terminal shelf and Waybar popup widget by [bitzzdev](https://github.com/bitzzdev):- **1:1 Default Aspect Ratio**: Centered square floating geometry (`640x640`) matching bitzdots aesthetics.- **Bento & List Views**: Tile card bento box and vertical list formats, toggled with `v` or `dev shelf view`.- **Thumbnails & App Logos**: Half-block terminal graphics and Nerd Font badges loaded for both formats.- **App Shortcuts**: Quick-launch pinned apps or search and add installed applications with `a`.- **External Drag-and-Drop**: Drag images or app shortcuts directly into external apps (Discord, GIMP, browser) with `x` or middle-click.- **Waybar Module & Keybinding**: Shows item count with click-to-toggle on the bar or via `SUPER + D`.- **Shell Command Alias**: Use `qs` or `dev shelf` directly from the shell.To install or update the precompiled release binary:```bashdev shelf update```When updated, any running instance is automatically refreshed with a desktop notification.## Requirements- **Hyprland** (Wayland compositor)- **matugen:** Material 3 color palette generator- **inotify-tools:** Required by the cache daemon- **Nerd Font:** Provides icons, JetBrainsMono is recommended- **GTK 3** and **gdk-pixbuf**: for image metadata and clipboard integration## Environment Variables- `XDG_CONFIG_HOME`: user configuration directory (defaults to `~/.config`)- `XDG_DATA_HOME`: user data directory (defaults to `~/.local/share`)- `XDG_RUNTIME_DIR`: runtime socket directory (defaults to `/run/user/<UID>` or `/tmp`)- `WALLPAPER_DIR`: directory containing wallpaper images (defaults to `~/Pictures/Wallpapers`)## Supported DistrosArch Linux (including Arch-based), Fedora, Debian/Ubuntu, NixOS.## Philosophy1. **Low-end first:** Every watt and megabyte matters. Scripts are optimized for minimal CPU and RAM, not convenience.2. **Theme automatically:** One wallpaper change updates everything. No manual color picking.3. **Safe by default:** Every theme generation creates a backup. A failure won't leave broken configs.4. **Keyboard-driven:** Everything is within reach of the home row. The mouse is optional.5. **No bloat:** Every component earns its place. There are no unused default configs or unnecessary dependencies.## LicenseMIT