Moonlit Shell is a complete, cohesive desktop rather than a pile of glued-together scripts. The bar and every panel are written like a real application in Quickshell (a Qt6/QML shell framework) and talk to the system over IPC, so nothing races and nothing breaks in surprising ways. From the SDDM login to the lock screen to the wallpaper carousel, every surface is soaked in Catppuccin Mocha and tuned for a calm, nocturnal workflow.
It is my daily driver on a ThinkPad T14, rebuilt from the ground up after my old Waybar setup kept hitting walls: no proper WiFi dialog, no Bluetooth pairing UI, no clipboard history, no wallpaper picker. Quickshell let me solve all of that properly, once.
- Custom Quickshell bar with workspaces, window title, a styled system tray, and live stats read straight from
/procandsysfs, no external daemon. - Twelve real panels, including full WiFi connect, Bluetooth pairing, clipboard history, an audio/MPRIS hub, a system monitor, and a wallpaper carousel.
- Frosted glass everywhere, Hyprland blur flowing through the bar, panels, Thunar, and Hyprlock over your live wallpaper.
- One coherent theme, Catppuccin Mocha applied across Hyprland, Kitty, Rofi, Fish, Neovim, Ranger, Fastfetch, dgop, GTK, and the SDDM login screen.
- Wallpaper carousel with momentum scrolling, applied instantly via
awwwand remembered across reboots. - Automated installer with Minimal, Developer, and Full presets (see Installation).
Rofi launcher and live hardware system info
Quick settings panel with volume and brightness sliders
Power menu with Lock, Logout, Sleep, Reboot, Shutdown
Wallpaper carousel with momentum scrolling
Hyprlock with frosted glass blur over the current wallpaper
A Quickshell bar that is more functional than most full desktop environments I have used.
| Panel | What it does |
|---|---|
| Quick Settings | Toggles for WiFi, Bluetooth, DND, Night Light, Caffeine, and Airplane mode, plus volume and brightness sliders with live OSD |
| Audio | MPRIS now-playing with seek bar, play/pause/skip, master volume, and mic level |
| WiFi | Scan nearby networks, connect with a password dialog, signal strength bars |
| Bluetooth | Paired device list, scan, connect/disconnect, power toggle |
| Power | Lock, Logout, Sleep, Reboot, Shutdown with keyboard shortcuts |
| System Monitor | CPU sparkline, RAM/Disk/Temp ring charts, network throughput, top processes |
| Calendar | Full month grid, live clock, now-playing widget, notification history |
| Clipboard | cliphist history with copy-to-clipboard and clear |
| Wallpaper Picker | Circular carousel with momentum scrolling, click to apply via awww |
| OSD | Volume and brightness popups triggered by any source (keys, sliders, scripts) |
The bar itself shows workspaces (a pill for the active one, a dot for occupied), the current window title, a system tray with styled context menus, and real-time stats.
| Layer | Tool |
|---|---|
| Compositor | Hyprland 0.55 |
| Bar / Shell | Quickshell (QML) |
| Launcher | Rofi |
| Terminal | Kitty |
| Editor | Neovim (lazy.nvim) |
| File Manager | Thunar and Ranger |
| Lock Screen | Hyprlock (frosted glass, live wallpaper) |
| Login | SDDM (catppuccin-mocha-mauve) |
| Audio | PipeWire and WirePlumber |
| Theme | Catppuccin Mocha |
| Font | JetBrainsMono Nerd Font Mono |
| Icons | Papirus-Dark |
| Cursor | Bibata-Modern-Classic |
| Key | Action |
|---|---|
SUPER + Q |
Kitty |
SUPER + Space |
Rofi launcher |
SUPER + B |
Wallpaper picker |
SUPER + Shift + B |
Random wallpaper |
SUPER + 1β4 |
Switch workspace |
SUPER + F |
Fullscreen |
SUPER + W |
Close window |
SUPER + Tab |
Cycle windows |
SUPER + P |
Toggle float |
ALT + S |
Screenshot region to clipboard |
ALT + D |
Screenshot full to clipboard |
AMD / Intel GPUs only for now. NVIDIA is not tested with these dots.
An installer handles packages, services, themes, and dotfiles for you:
git clone https://github.com/Fi3w0/Moonlit-shell.git
cd Moonlit-shell
./install.sh # pick a tier; add --progress for a progress-bar UIIt asks for sudo up front, shows the full package and action list to confirm before touching anything, backs up any configs it overwrites, and logs every command to ~/.cache/moonlit/install-*.log. Pick a tier:
| Tier | What you get |
|---|---|
| Minimal | Hyprland and Quickshell desktop, all sensors, SDDM (no theme) |
| Developer | Minimal plus VS Code, Neovim config, Ranger, dgop |
| Full β | Everything plus the Catppuccin SDDM theme and Discord/Steam/Spotify |
Prefer to do it by hand, or running NVIDIA? It is not a copy-paste job, so read the guide.
Multi-monitor: Quickshell spawns a bar and panels on every connected screen automatically, and the shipped monitors.conf is a universal wildcard (any output, preferred mode, scale 1), so external displays work out of the box. The installer detects your monitors and can write explicit per-display scale lines if you want HiDPI handling. These configs otherwise assume PipeWire audio and NetworkManager; adjust interface names if yours differ.
.config/
βββ hypr/ Hyprland: split configs, gradient borders, frosted blur
β βββ scripts/
β βββ lock.sh Hyprlock wrapper (reads current wallpaper for blur)
βββ quickshell/ The bar and 12 panels
β βββ bar/ Workspaces, tray, stats, clock
β βββ panels/ QS, audio, wifi, bt, power, calendar,
β sysmon, clipboard, wallpaper picker, OSD, toasts
βββ kitty/ Terminal: catppuccin palette, 42% opacity
βββ rofi/ Launcher with pinned apps, quicklinks, file search
βββ fish/ Shell: frozen theme, aliases
βββ nvim/ Editor: catppuccin, lazy.nvim
βββ ranger/ File manager: miller columns, devicons, catppuccin
βββ fastfetch/ System info
βββ dgop/ System monitor
βββ Thunar/ File manager actions and keybinds
βββ keyd/ Keyboard remapping (meta layer)
βββ gtk-3.0/ GTK theming
βββ gtk-4.0/ GTK theming
A few behaviors worth knowing:
- The bar polls
/procandsysfsdirectly, with no external monitoring daemon. - Caffeine mode inhibits idle so there is no accidental suspend during presentations or long downloads.
- Night Light toggles
hyprsunset -t 4500for warm color at night. - Airplane mode calls
rfkill block all, so make surerfkillis installed if you use it.
Moonlit Shell is in active development. Expect bugs, expect rough edges, and use at your own risk. It is not a finished product yet.
Planned for the road ahead:
- More installer presets (minimal / max / dev / gaming) so everyone can land on a setup they enjoy.
- A showcase video of the desktop in motion.
- Custom and further-themed apps.
- Bug fixes and ongoing updates to track new Arch and Hyprland releases.
Released under the GPLv3. Explore it, fork it, break things, and make it yours.
These are my dots, tailored to my workflow. Steal what you like, adapt the rest. That is how I learned too. π
