blxshellv20001-4198.1.mp4
A fully custom Wayland desktop shell built with
Quickshell and
Hyprland.
Dynamic Material You color theming generated from your wallpaper using materialyoucolor.
local install:
git clone https://github.com/binarylinuxx/dots
cd dots/
./install.sh
remote install:
curl -fsSL https://bshell.zapzig.org/get_remote | bash
currently bad support for portable devices and wifi stuff because I'm as main maintainer using A PC and work still in progress anything will work properly expect battery module
| Component | Description |
|---|---|
| Bar | Top panel -- workspaces, system tray, clock, battery, audio, network |
| Launcher | App launcher with emoji, clipboard and wallpaper modes |
| Lockscreen | Material You bold lockscreen with PAM authentication |
| Power Menu | Shutdown, reboot, suspend, logout, lock |
| Notifications | Built-in notification daemon |
| Background | Wallpaper with parallax effect and startup zoom animation |
| Settings | GUI settings panel (Win+S) |
| Audio OSD | Volume and brightness overlay |
- Material You color scheme generated from wallpaper via col_gen (Python)
- Material Symbols Rounded icons throughout the entire shell
- All colors are reactive -- change wallpaper, the entire shell updates
- Smooth animations and transitions on every interaction
- Fully configurable via
config.json
| Component | Tool |
|---|---|
| Compositor | Hyprland |
| Shell / Bar / Widgets | Quickshell (QML) |
| Color generation | col_gen (materialyoucolor) |
| Terminal | Ghostty |
| Shell | Fish |
| Prompt | Starship |
| Fetch | Fastfetch |
The shell exposes IPC handlers for external control via qs ipc. Bind these to Hyprland keybinds or call from terminal.
# Lockscreen
qs ipc call lockscreen lock
qs ipc call lockscreen unlock
qs ipc call lockscreen isLocked
# Power Menu
qs ipc call -- powermenu toggle
qs ipc call -- powermenu show
qs ipc call -- powermenu hideHyprland keybind examples:
bind = SUPER, L, exec, qs ipc call lockscreen lock
bind = SUPER, Escape, exec, qs ipc call -- powermenu toggle| Keybind | Action |
|---|---|
Super + Return |
Open terminal |
Super + Space |
Open launcher |
Super + I |
Switch workspace |
Super + S |
Open settings |
Super + L |
Lock screen |
Super + P |
Power menu |
.config/quickshell/
shell.qml # Main entry -- all components, IPC, colors
config.json # User settings (editable via Settings panel)
Colors.json # col_gen generated Material You colors
col_gen/ # Python color generator (uv project)
bar/
Bar.qml # Top bar layout
widgets/ # Clock, Audio, Battery, Network, Workspaces, etc.
modules/
Background.qml # Wallpaper + parallax + fallback gradient
BackgroundClock.qml # Desktop clock overlay
LockContext.qml # PAM authentication logic
LockSurface.qml # Lockscreen UI
PowerMenu.qml # Power/logout menu
launcher/ # App launcher
notifications/ # Notification daemon
widgets/ # Settings, Audio OSD, Screen corners
services/ # NetworkManager, Sway, OS detection
lockscreen/pam/ # PAM config for lockscreen auth
Arch Linux only. The install script handles all dependencies via custom metapackages.
# One-liner (remote)
bash <(curl -fsSL https://raw.githubusercontent.com/binarylinuxx/dots/main/install.sh)
# Or clone and run locally
git clone https://github.com/binarylinuxx/dots.git
cd dots
./install.shThe installer will:
- Install
yayif not present - Build and install metapackages (
blxshell-shell,blxshell-audio,blxshell-hyprland, fonts) - Optionally backup and replace
~/.config
All settings live in ~/.config/quickshell/config.json and can be changed from the Settings panel (Win+S).
Place wallpapers in ~/.local/wallpapers/. Change wallpaper from the Settings panel or Launcher wallpaper mode.
If no wallpaper is set, a gradient fallback background is shown using your current theme colors with a hint to get started.
GNU GPL3: study, redistribute, modify the code but keep same license and opensource for more info read LICENSE_file
{ "barFloating": false, "barOnTop": true, "barHeight": 35, "barRadius": 30, "screenCorners": true, "workspaceCount": 10, "workspaceStyle": "dots", "wallpaperParallax": true, "wallpaperStartupZoom": true, "fontFamily": "Rubik", "fontSize": 14 }