Skip to content

Fi3w0/Moonlit-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒ™ Moonlit Shell

A handcrafted Arch Linux desktop, built on Hyprland and a custom Quickshell interface.


Arch Linux Hyprland Wayland Quickshell

Catppuccin Mocha License GPLv3 Status


Moonlit Shell

Overview

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.


Highlights

  • Custom Quickshell bar with workspaces, window title, a styled system tray, and live stats read straight from /proc and sysfs, 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 awww and remembered across reboots.
  • Automated installer with Minimal, Developer, and Full presets (see Installation).

Gallery

Rofi + Fastfetch
Rofi launcher and live hardware system info

Quick Settings + Audio
Quick settings panel with volume and brightness sliders

Power Menu
Power menu with Lock, Logout, Sleep, Reboot, Shutdown

Wallpaper Picker
Wallpaper carousel with momentum scrolling

Lock Screen
Hyprlock with frosted glass blur over the current wallpaper


The Bar & Panels

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.


Tech Stack

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

Keybinds

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

Installation

AMD / Intel GPUs only for now. NVIDIA is not tested with these dots.

Automated (experimental)

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 UI

It 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

Manual

Prefer to do it by hand, or running NVIDIA? It is not a copy-paste job, so read the guide.

MANUAL-INSTALL.md

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.


Project Layout

.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 /proc and sysfs directly, 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 4500 for warm color at night.
  • Airplane mode calls rfkill block all, so make sure rfkill is installed if you use it.

Status & Roadmap

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.

License

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. πŸŒ™

Releases

No releases published

Packages

 
 
 

Contributors