A Wayland desktop that brings everyday essentials together, with room to make it your own.
Our goal: a useful first login, without giving up customization.
English · Traditional Chinese · Simplified Chinese · Japanese
- Everyday essentials, together. A panel, launcher, card-based dashboard, resizable settings center, notifications and LunaDash-styled file/portal pickers are part of the desktop.
- A workspace that moves with you. Tiles contained within one screen, groups of up to eight windows, Alt dragging, a ten-workspace thumbnail overview and a taskbar spanning all workspaces.
- Make the defaults yours. Change wallpaper, colors, spacing, shortcuts and default applications from Settings.
- Go further when you want. Arrange shell modules, customize Quickshell/QML and use the local control interface for your own workflow.
Built with C++20 · C11 · wlroots · OpenGL · Qt 6 · Quickshell/QML. The current development version is 1.0.1a. LunaDash is an active development preview, with Arch Linux as its primary platform.
NixOS: use the flake and NixOS module, with programs.lunadash.enable = true. Installation, updates and rollback use NixOS generations.
On Arch Linux, the guided installer offers Traditional Chinese / English, optional applications and a separate system-locale choice. Review the script before executing downloaded code. See the English guide or the Traditional Chinese guide.
curl -fsSL --connect-timeout 10 https://raw.githubusercontent.com/LuYishan-4/LunaDash/dev/install.sh | bashFor developer/testing installs or other distributions, the existing session installer remains available and unchanged:
git clone --branch dev https://github.com/LuYishan-4/LunaDash.git
cd LunaDash
./scripts/install-session.shThe installer handles distribution dependencies, builds LunaDash and installs the login session. Log out and choose LunaDash in your display manager. The first launch opens the 1.0.1a Welcome experience with system cards and quick actions. Use the resizable Settings center to choose your language and personalize the desktop.
Use ./scripts/install-session.sh --dry-run to preview the steps. The shell requires Quickshell 0.3+; if your distribution does not package it, the installer reports the missing dependency. See the installation guide for options and recovery, or build and testing for manual builds and nested sessions.
| Shortcut | Action |
|---|---|
Super + Return / E / D |
Terminal / Files / launcher |
Super + T |
Open Kitty (default terminal) |
Super + H / L |
Focus the window to the left / right |
Super + K / J |
Focus the window above / below |
Super + F |
Maximize one window / restore all workspace tiles |
Alt + Tab |
Preview windows in the current workspace; release Alt to select |
Super + Tab |
Workspace previews; release Super to switch |
Super + W |
Toggle the directory-based wallpaper gallery |
Alt + drag |
Move or swap slots; add Shift to resize |
Super + Shift + S |
Select a screenshot region |
Super + 1–9 / 0 |
Switch workspace |
Super is the Meta key. Change bindings in Settings → Keyboard shortcuts. See settings for grouping, resizing and control commands.
English docs · Traditional Chinese docs · NixOS · CI policy
Help make the default experience useful and customization approachable. Bug reports, design feedback, documentation and code contributions are welcome.
Send contribution pull requests to dev. Same-repository dev → main promotion PRs are allowed. Use a clear title describing the change, and explain the user-visible result, the checks you actually ran, and whether the change affects default behavior or optional customization. Update the relevant docs/ documentation and website content.
Contribution PRs must not add, modify, delete, or rename files under .github/workflows/, release Markdown (.md/.mdx) under site/src/pages/releases/, or site/src/data/releases.json. Describe release impact in the PR body; website release notes are generated from GitHub Releases. See the contribution guide and PR template.
LunaDash · This project is still immature. Issue reports and PRs are welcome.
GPL-3.0-only
Plugin SDK 2 provides C/C++ hooks, Quickshell components and OpenGL shader templates, with categorized settings and live replacement or augmentation. Start with the target reference or the disabled-by-default stacking windows example.