Skip to content
LuYishan-4Public

Repository files navigation

LunaDash

A desktop environment.

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.

Development preview Build on dev Open pull requests Open issues GPL-3.0-only license

Arch Linux NixOS Fedora Ubuntu

English · Traditional Chinese · Simplified Chinese · Japanese

LunaDash

  • 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.

Watch the LunaDash desktop demo

Install

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 | bash

For 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.sh

The 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.

A few shortcuts

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.

Documentation

English docs · Traditional Chinese docs · NixOS · CI policy

Start here Make it yours
Install and run Appearance and configuration
Build and test Settings and shortcuts
Display, DDC/CI and startup Shell modules
Region screenshots Default apps and Files
Source architecture Plugin interfaces

Contribute

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

Build your own desktop features

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.

Releases

Packages

Contributors

Languages