Summary
Integrate/config manage 6 existing Hyprland dotfiles repos under dwell, creating a unified, modular, installable setup.
Source repos
| Repo |
Focus |
Highlights |
| garuda-hyprdots |
Garuda Linux Sway/Hyprland |
Catppuccin Macchiato theme, Waybar themes, swaylock, MPD |
| ml4w-lightcrimson |
ML4W-based Hyprland |
Custom Quickshell bar, media/calendar/dashboard popups, matugen |
| hyprzepyx |
Modular Hyprland |
Multiple visual themes, eww widgets, modular structure |
| retrilzzy/dotfiles |
Arch Hyprland stow-based |
Install script, matugen theming, Vicinae launcher, wlogout |
| Hyprland-Simple-Setup |
Arch/EndeavourOS Hyprland |
Rust TUI installer, stow-based, complete package mgmt, modular configs |
| NeKoRoSHELL-DLux |
Quickshell desktop shell |
Replaces waybar/rofi/wlogout/SwayNC, QML panels, IPC |
Proposed dwell integration
Phase 1: Unified source directory
Combine all configs into a single dwell-managed source dir with modular layout:
~/.local/share/dwell/
├── dot_config/
│ ├── hypr/
│ │ ├── hyprland.conf # Main — imports sources/
│ │ ├── sources/ # Modular Hyprland config parts
│ │ │ ├── keybindings.conf # From Hyprland-Simple-Setup + retrilzzy
│ │ │ ├── monitors.conf # Auto-detected or manual
│ │ │ ├── exec_once.conf # Autostart apps
│ │ │ ├── window_rules.conf # Floating, opacity, workspace rules
│ │ │ └── animations.conf # Animation settings
│ │ ├── hyprlock.conf # Lock screen (from retrilzzy)
│ │ ├── hypridle.conf # Idle management
│ │ └── hyprpaper.conf # Wallpaper daemon
│ ├── waybar/ # Waybar configs (from garuda-hyprdots)
│ │ ├── config.jsonc
│ │ ├── style.css
│ │ └── scripts/
│ ├── quickshell/ # Quickshell (from ml4w + NeKoRoSHELL)
│ │ ├── panels/
│ │ └── ipc/
│ ├── kitty/kitty.conf # Terminal (from retrilzzy)
│ ├── fish/config.fish # Shell (from Hyprland-Simple-Setup)
│ ├── wofi/style.css # Launcher (from Hyprland-Simple-Setup)
│ ├── swaync/config.json # Notifications
│ ├── btop/btop.conf
│ ├── cava/cava.conf # Audio visualizer
│ ├── fastfetch/config.jsonc
│ ├── nvim/ # Neovim (Kickstarter from Hyprland-Simple-Setup)
│ ├── bat/config
│ ├── zellij/config.kdl
│ └── dunst/dunstrc # Notifications fallback
├── dot_bashrc
├── dot_zshrc
├── dot_gitconfig
├── .dwell/
│ ├── deps.toml # Auto-detected dependencies
│ └── setup/
│ └── manifest.json # Captured system state
└── README.md
Phase 2: dwell.toml module config
[data]
home = "/home/user"
hostname = "my-machine"
[packages]
system.pacman = [
"hyprland", "waybar", "kitty", "fish", "wofi",
"swaync", "btop", "cava", "fastfetch", "nvim",
"hyprlock", "hypridle", "hyprpaper", "hyprpicker",
"pipewire", "wireplumber", "networkmanager",
"bluez", "bluez-utils", "blueman",
"ttf-jetbrains-mono-nerd", "noto-fonts",
"polkit-gnome", "xdg-desktop-portal-hyprland",
"grim", "wl-clipboard", "satty",
"stow", "fd", "fzf", "bat", "lsd", "zoxide",
"brightnessctl", "playerctl", "pavucontrol",
"firewalld", "thunar", "dolphin",
]
[modules]
enabled."programs.git".user.name = "grave0x"
enabled."programs.git".user.email = "grave@example.com"
enabled."programs.git".init.defaultBranch = "main"
Phase 3: dwell deploy pipeline
# Fresh install on new machine
curl -fsSL https://github.com/grave0x/dwell/raw/main/scripts/install.sh | sh
dwell init --clone https://github.com/grave-configs/dotfiles.git
dwell deploy
The dwell deploy command would:
- Install all pacman/AUR packages from deps.toml
- Apply all dotfiles
- Run post-deploy scripts (stow, theme setup, etc.)
- Sync to remote
Phase 4: Hybrid stow + dwell approach
Some of these repos (Hyprland-Simple-Setup, retrilzzy) use GNU stow for config management. dwell can coexist with or replace stow:
- Option A: dwell manages all files directly (pure dwell)
- Option B: dwell manages the stow package directory, stow handles symlinks (hybrid)
- Option C: dwell imports existing stow packages via dwell add
Acceptance criteria
Summary
Integrate/config manage 6 existing Hyprland dotfiles repos under dwell, creating a unified, modular, installable setup.
Source repos
Proposed dwell integration
Phase 1: Unified source directory
Combine all configs into a single dwell-managed source dir with modular layout:
Phase 2: dwell.toml module config
Phase 3: dwell deploy pipeline
The
dwell deploycommand would:Phase 4: Hybrid stow + dwell approach
Some of these repos (Hyprland-Simple-Setup, retrilzzy) use GNU stow for config management. dwell can coexist with or replace stow:
Acceptance criteria