Vitaliy Alexeyev

04 / 06 · Rust · smithay 0.7 · syngui

syndesktop

A Wayland desktop environment in Rust, laid out like Plasma: a compositor, a shell and system settings as separate programs, configured through one file with changes applied live.

Licence
MIT OR Apache-2.0
Platform
Linux · Wayland
Packages
Cargo
Status
Early, build from source
syndesktop desktop: top panel, 3D dock and the file manager in the Synthwave theme
syndesktop desktop: top panel, 3D dock and the file manager in the Synthwave theme
programs: compositor, shell, settings, files, screenshot
5
built-in themes, plus your own in MSS
14
pages in system settings
18
smithay under the compositor
0.7
01

What it is

syndesktop is a desktop environment for Wayland, written in Rust, with its interface drawn by syngui. It is split the way Plasma is: a compositor, a shell and a system-settings app are separate programs.

Almost everything is configured through ~/.config/syndesktop/config.toml, and changes apply on the fly. The settings app edits that file with toml_edit, so your comments survive.

02

Key features

  • Compositor on smithay 0.7: DRM/KMS with several GPUs, hotplug and DPMS, or a nested window; server-side decorations, workspaces, floating / tile / columns / grid / monocle layouts, snapping to screen halves, window overview, Alt+Tab, window rules, Xwayland and IPC.
  • Shell on syngui (layer-shell): wallpaper, panels with applets, a launcher, D-Bus notifications, OSD, a power menu, a window switcher and a lock screen (ext-session-lock + PAM).
  • A dock in the spirit of macOS and Latte Dock: icons grow under the pointer, window indicators, bounces and particles on launch, 3D tilt and a 3D shelf with reflections, stacks and folders, autohide and smart hide.
  • An adaptive panel that stretches to the screen edge when a window is maximized or touches it, as in Plasma 6 — and a panel that becomes the title bar, with window title, window buttons and a global menu for Qt/KDE and GTK apps.
  • System settings with 18 pages that edit config.toml in place.
  • A file manager in the spirit of Windows 11: tabs in the title bar, two panes, icon / tile / list / table views, thumbnails, background operations with pause and cancel, Ctrl+Z, trash, search and a built-in image viewer (EXIF rotation, HEIC).
  • A screenshot tool: the screen freezes, you drag a region with handles and a magnifier or click a window or monitor, then copy, save, copy the path or open.
  • 14 built-in themes — Nord, Catppuccin, Tokyo Night, Gruvbox, Rosé Pine, Everforest, Dracula, Kanagawa, Solarized and more — plus your own in MSS.
  • Scriptable over IPC: syndesktop msg windows, action "workspace 2", restart-shell and more.
03

Install

cargo build --profile fast-release
target/fast-release/syndesktop --nested   # try it in a window
makepkg -si                              # full session: then pick syndesktop at login

Build from source. The PKGBUILD in the repository installs a real session that you select in your login manager; --nested runs the compositor as a window inside your current session.

Full instructions in the README →

04

Requirements and limitations

  • Linux with Wayland; X11 applications run through Xwayland.
  • No prebuilt packages or AUR entry yet: build from source with Cargo, with syngui cloned next to it (the PKGBUILD targets Arch Linux).
  • An early, single-developer project — expect rough edges; logs go to ~/.local/state/syndesktop/.
05

Screenshots

Vibe-coded with Claude Code

How it is built

The model writes the code; I decide what to build, describe each task and check the result on my own machine. The whole interface — shell, dock, settings, file manager — is drawn with syngui, the same framework as synthos.

Everything here is vibe-coded. github.com/VitaminDB/syndesktop