bash <(curl -sSL https://kutt.it/ReyDot)A simple, efficient, and centralized theme management system for your dotfiles and applications.
With this setup, you define all your themes once inside your dotfiles. Then, using a small script, you can switch themes across all your applications instantly.
The magic? Symlinks. Instead of moving files or copying themes around, the script updates a single symlink pointing to the currently active theme folder. All your apps source their color schemes from that symlink, making theme switching:
- Blazing fast
- Safe (no file duplication or accidental overwrites)
- Centralized (one place to manage all themes)
- Centralized theme definitions in your dotfiles
- Instant theme switching across all apps
- Minimal disk operations (symlink only)
- Compatible with Nvim, Wofi, multiple Terminals, Tmux, Starship and other tools that read theme files
Clone your dotfiles and make sure the scripts and themes are in place:
# Example directory structure
~/.dotfiles/
โโโ install-themes.sh
โโโ themes/
โ โโโ theme1/
โ โโโ theme2/
โ โโโ ...
โโโ .local/bin/rofi/wofi-theme-switcherThis setup with Sway WM idles at ~600MB RAM with our ultra-efficient stack:
โ C/Rust-powered tools
โ Asahi Linux-tuned kernel
โ Battery-optimized power profiles
Why it flies:
- Zero Electron apps
- GPU-optimized compositing
- Minimal background services
- Cross-Platform Compatibility: Works on:
- All standard x86_64 PCs
- Apple Silicon (M1/M2) via Asahi Linux
- Microsoft Surface devices
- Various consumer laptops (HP, Dell, Lenovo, etc.)
- Modular Design: Select only the packages you need
- Proven Stability: Successfully installed on:
- MacBook Air M1 (8GB)
- MacBook Pro (Intel)
- Microsoft Surface Pro 2
- Various friends/family devices
- Included Fixes: Hardware-specific solutions in
/fixesdirectory
| Device | Status | Notes |
|---|---|---|
| MacBook Air M1 (8GB) | โ Fully Working | Includes Asahi fixes |
| Microsoft Surface Pro 2 | โ Fully Working | Touchscreen support |
| Generic Intel Laptops | โ Fully Working | Broad compatibility |
- Shell:
zsh&bash - Kernel: Linux 6.14.8-asahi-1-1-ARCH
| Component | Description | Language |
|---|---|---|
| Sway | Window Manager | |
| Swaybg | Wallpaper manager | |
| Swaylock | Screen locker | |
| Swayidle | Idle management | |
| i3blocks | Status Bar for Sway/i3 |
| Component | Description | Language |
|---|---|---|
| Tmux | Terminal Multiplexer | |
| Starship | Cross-Shell Prompt | |
| Dunst | Notification Daemon | |
| Rofi-Wayland | Application Launcher | |
| wlr-randr | Display Output Manager |
| Component | Description | Language |
|---|---|---|
| Autotiling-rs | Auto-Tiling Script for Sway/Hyprland | |
| Bob | Neovim Version Manager (Nightly Installer) | |
| Brave Browser | Web Browser | |
| Btop | System Monitor | |
| Fastfetch | System Information Tool | |
| Foot | Terminal Emulator | |
| Fuzzel | Wayland Application Launcher | |
| fzf-preview | Fuzzy Finder Preview Plugin | |
| Lazygit | Git TUI Client | |
| Librewolf | Privacy-Focused Firefox Fork | |
| Neovim | Text Editor | |
| nvim-nightly | Nightly Build of Neovim | |
| Satty | Screenshot Annotation Tool | |
| Swappy | Wayland Screenshot Editor | |
| Thunar | File Manager | |
| Vifm | Terminal File Manager | |
| Zathura | PDF Reader |
| Component | Description | Language |
|---|---|---|
| Steam | Game Distribution Platform | |
| AntimicroX | Gamepad to Keyboard/Mouse Mapper |
For best visual experience install FZF:
git clone https://github.com/Rouzihiro/dotfiles.git
cd dotfiles
chmod +x install-arch.sh
chmod +x install-fedora.sh
chmod +x install-themes.sh
./install-arch.sh
./install-fedora.sh
./install-themes.shEdit package lists in /pkgs directory
Add your fixes to /fixes (see existing examples)
Select packages interactively during installation
This project generates consistent theme files across multiple applications based on a single Kitty terminal color palette configuration.
- Python 3.x installed
$HOME/dotfiles/themesdirectory exists$HOME/dotfiles/.local/binin your shell PATH
First, create a kitty.conf file in your themes directory with your desired color palette:
Create the file at $HOME/dotfiles/themes/kitty.conf with the following content:
color0-15
background #YOUR_BACKGROUND foreground #YOUR_FOREGROUND selection_foreground #YOUR_SELECTION_FG selection_background #YOUR_SELECTION_BG cursor #YOUR_CURSOR cursor_text_color #YOUR_CURSOR_TEXT url_color #YOUR_URL_COLOR active_tab_foreground #YOUR_ACTIVE_TAB_FG active_tab_background #YOUR_ACTIVE_TAB_BG inactive_tab_foreground #YOUR_INACTIVE_TAB_FG inactive_tab_background #YOUR_INACTIVE_TAB_BG
Replace all the #YOUR_... placeholders with your actual hex color values.
After creating your kitty.conf file, run the theme generator:
python ~/dotfiles/projects/theme-generator/main.py
This will parse your Kitty color palette and generate theme files for various applications (Vim, terminal, etc.) in the appropriate directories.
Finally, run the Starship generator to create a consistent prompt configuration:
python ~/dotfiles/projects/theme-generator/starship_generator.py
This will create a Starship configuration file that matches your color palette.
Run the theme installer script to make the new theme available in your theme selector:
$HOME/dotfiles/install-themes.sh
Finally, generate the palette files for your theme selector:
$HOME/dotfiles/.local/bin/zorro/z-theme-palettes-gen
- The theme generator reads from
$HOME/dotfiles/themes/kitty.conf - Generated files will be placed in their respective application directories
- Run all scripts whenever you update your color palette to keep everything synchronized
- Ensure
$HOME/dotfiles/.local/binis in your shell PATH for the palette generator to work











