A Wayland desktop shell in pure Go: bar, notifications, OSD, launcher, wallpaper, and a desktop portal.
lys-shell runs on any compositor with wlr-layer-shell, including but not limited to lys-wm. It is built on lys-ui.
Releases have a .deb, a Fedora .rpm and a tarball, for x86_64 and aarch64. The flake provides the package, a NixOS module and a home-manager module; see NixOS.
From source, with Go and just:
git clone https://github.com/stubbedev/lys-shell
cd lys-shell
just build
sudo install -Dm755 dist/lys-shell dist/lys-lock -t /usr/local/bin
lys-shell icons setupRuntime dependencies are listed in Getting started.
lys-shell panel start # run the shell in the background
lys-shell panel settings # open lys-settings, https://github.com/stubbedev/lys-settingsThe config is ~/.config/lys-shell/config.yaml; changes apply on save:
bar:
layout:
- monitor: "*"
left: [dashboard, hyprland-workspaces]
center: [clock]
right: [volume, network, bluetooth, battery]The guides, the CLI and the config reference are at https://stubbedev.github.io/lys-shell/. For development, see CLAUDE.md.
lys-wm (compositor), lys-ui (widget toolkit), lys-lib (building blocks), lys-login (display manager and lock screen), lys-splash (boot splash), lys-polkit (polkit agent) and lys-secrets (Secret Service).
The configuration format and much of the design come from wayle-rs/wayle. lys-shell shares no code with it.
The passphrase generator embeds the words of the EFF large wordlist by the Electronic Frontier Foundation, under the Creative Commons Attribution 3.0 United States License; see eff_large_wordlist.NOTICE.
