Skip to content

Repository files navigation

bitzdots

Lean Hyprland dotfiles • Automatic wallust theming • Low-end optimized

FeaturesQuick StartGetting StartedInstallationKeybindingsThemingPerformanceFAQ

Hyprland Arch Fedora Debian NixOS License

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4


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 — status bar, terminal, launcher, notifications, logout screen, audio visualizer, even Qt/KDE apps — instantly 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 wallust (waybar, kitty, rofi, swaync, wlogout, cava, Hyprland borders, Qt/KDE, GTK, even browser CSS)
  • ⚡ Event-driven cache daemon — inotify-based background pre-generation means wallpaper switching is instant, not sluggish
  • 🖼 Live wallpaper support — Static images with animated transitions (awww) and video wallpapers (mpvpaper) with automatic palette extraction
  • 🧩 25 Jinja2 templates — Every themed component (including launcher, power, wallpaper-grid themes and 8 SVG icons) uses a template. Colors are consistent everywhere
  • 🔧 Rofi-powered everything — App launcher, clipboard manager (cliphist), power menu, wallpaper picker (grid with thumbnails), WiFi, Bluetooth, audio, system monitor — all keyboard-navigable
  • 🖥 Waybar with 15 modules — Workspace batch display, runcat CPU animation, live media, recording indicator, brightness, power profiles, notification center toggle, system TUIs
  • 🔒 Full-screen + region recording — wf-recorder with audio, start/stop toggle keybinds, saves to organized directories
  • 📸 Screenshots with clipboard — Fullscreen (Print) and selection (SUPER+SHIFT+S) both save AND copy to clipboard
  • 🐟 Fish shell + fastfetch — Minimal greeting-less shell, custom BITZ ASCII logo on startup
  • 🔄 Safe theme switching — Backup/restore on every wallust run; if generation fails, previous theme is restored
  • 🏞 Wallpaper cache daemon — Monitors wallpaper directories with inotify, pre-generates palettes so switching is instant
  • 📦 Multi-distro installer — Automated setup for Arch, Fedora, Debian/Ubuntu, and NixOS with --with-deps flag

Quick Start

git clone https://github.com/bitzzdev/bitzdots.git ~/.config/bitzdots
cd ~/.config/bitzdots
chmod +x install.sh

# Link configs only:
./install.sh

# Or link configs + install all system packages:
./install.sh --with-deps

See the Getting Started guide 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

Documentation

Guide Description
Getting Started First-time setup, recommended config
Installation Detailed install per distro, manual steps
Features Complete feature breakdown
Keybindings All keyboard shortcuts
Waybar Modules Every module explained
Theming How wallust works, templates
Scripts All utility scripts documented
Performance Low-end optimization guide
Customization Add new components, modify themes
DEVos Aliases Arch Linux dev shortcuts & pacman aliases
FAQ 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)
├── wallust/           # Theming engine (25 templates)
├── fish/              # Fish shell config
├── fastfetch/         # System fetch (custom logo)
└── scripts/           # 10 utility scripts

Performance

bitzdots 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.

Theming Pipeline

Wallpaper image
    ↓ wallust (fastresize backend)
16-color palette
    ↓ 25 Jinja2 templates
Config files for every component (20+ files)
    ↓ reload-theme.sh
All apps pick up new colors instantly

Requirements

  • Hyprland (Wayland compositor)
  • wallust — color palette generator
  • inotify-tools — for cache daemon
  • Nerd Font — icons (JetBrainsMono recommended)

Supported Distros

Arch Linux (including Arch-based), Fedora, Debian/Ubuntu, NixOS.

Philosophy

  1. Low-end first — Every watt and megabyte matters. Scripts are optimized for minimal CPU/RAM, not convenience
  2. Theme automatically — One wallpaper change, everything updates. No manual color picking
  3. Safe by default — Backup/restore on every theme generation. Failure never leaves you with broken configs
  4. Keyboard-driven — Everything in reach of the home row. Mouse optional
  5. No bloat — Every component earns its place. No unused default configs or unnecessary dependencies

License

MIT

About

Lean Hyprland dotfiles with automatic wallust theming. Low-end optimized, full-stack auto-coloring, 26 Jinja2 templates. Rofi-powered menus, waybar modules, screenshot/recording, event-driven cache daemon.

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages