Skip to content
theHamdizPublic

About

A native Rust Wayland desktop shell with 19 bar presets, 19 Looks, 86 built-in plugins, a live design studio and optional offline AI control. Ten compositor drivers, Linux and FreeBSD, NixOS support and 20 interface languages.

Topics

Resources

Stars

98 stars

Watchers

3 watching

Forks

Latest commit

 

History

927 Commits

Folders and files

Repository files navigation

Mandara: the phoenix rising from a Mediterranean wave beside the wordmark. A beautiful, fast desktop shell for Wayland, tuned for responsive frames.

A beautiful, fast Linux desktop built with care for its resources.
Design-first, spring-animated and written entirely in Rust.
Your desktop, in your own words: optional local AI control through natural language.
Historical release samples built frames in about 0.1 ms; see the performance guide for the setup and current limits.

Install Mandara

GitHub stars Latest release Last commit Join the Mandara Discord Documentation GPL-3.0-or-later Support on Ko-fi

100% Rust Wayland native GPU rendered MangoWM, Niri, Hyprland, Umbriel, Sway, River Classic, KWin, Aqueous, labwc, COSMIC 86 built-in plugins plus WebAssembly 20 languages
Resource measurements and current limits Historical VRAM measurement under 210 MiB; current use may differ Measured idle CPU

Mandara Shell desktop over sculpted glass ribbons: the edge-frame bar with rounded screen corners and the song playing, a headline clock, a to-do list taped on torn paper, two sticky notes (Weekend plans and Ideas), a month calendar, the agenda of upcoming events and the dock

Install · Website · Documentation · Studio · Plugins · Commands · What's new


Mandara Shell makes the space around your windows feel like yours. Pick a Look, let your wallpaper set the colours, and shape your desktop in Studio. Panels move with spring physics, and changes appear as you make them.

Written in Rust on GPUI, Mandara brings the bar, dock, launcher, widgets and everyday desktop tools together in one native program. It runs on MangoWM, Niri, Hyprland, Umbriel, Sway, River Classic, KWin, Aqueous, labwc and COSMIC.

You can ask for changes, too. Enable optional local AI control and type !switch to dark mode in the launcher. Review the action, then press Enter. Your words stay on your computer. Meet the AI Shell Agent.

One shell, many desktops

A music corner, a quiet night sky or a bright place to work: start with a Look, then move, resize and restyle widgets right on your desktop. Edit notes and tick off tasks where they sit.

A music desktop: floating glass-pill bar, a turning vinyl record with the album art and controls, a pocket player, a dot-matrix clock and a flowing wave visualizer over glossy ribbons in sunset colours
Music corner: glass pills, a turning record, a pocket player and a live wave visualizer.
A night desktop: the notch bar, an analog clock on a scalloped cookie dial, tonight's moon, the sun's arc with the time to sunrise and a dotted weather disc under the northern lights
Night sky: the notch bar, a cookie-dial clock, the moon, the sun's arc and the weather.
A light desktop: the island bar, a quote from Ferdowsi's Shahnameh, a to-do list on a soft card, the focus timer and the month calendar over a pastel mesh of rose and lilac, in light mode
Daylight: light mode, the island bar, a quote, your to-dos, the focus timer and the month.

At a glance

What Bar, dynamic island, dock, launcher, side bars, sidebar, notifications, on-screen displays, wallpapers, widgets, lock screen, login manager and settings app
Compositors Ten native drivers, including River Classic 0.3; your compositor's own tags, workspaces and windows
Built with 100 % Rust, one binary (mandara), GPU-rendered with GPUI and wgpu
Resources Measurements and current limits; the 100 MiB startup and operation target remains open
Settings Live in Mandara Studio (mandara studio), saved to ~/.config/mandara/config.toml; thirteen colour launcher icons
Automation JSON replies through mandara msg; the full catalog in mandara commands --json
Plugins 86 built in, plus third-party Rust plugins in sandboxed WebAssembly
Widgets Mechanical, word and binary clocks, calendars and weather dials; passive widgets work on lock and login screens too
Languages 20, including right-to-left Arabic, Persian and Urdu
License GPL-3.0-or-later

What sets Mandara apart

  1. Your compositor, understood. Native drivers follow MangoWM and River tags, Niri's scrolling columns, Hyprland, Umbriel and Sway workspaces, KWin's Plasma windows, virtual desktops, clipboard and capture, Aqueous's live state stream, and labwc and COSMIC's ext-workspace protocol. Version-aware setup uses the right dialect, including Hyprland 0.57's Lua config.
  2. Your setup stays yours. At most one include line; generated settings live in their own drop-ins, with the compositor's validator and rollback. River uses its native protocol instead. KWin, Aqueous, labwc and COSMIC keep configuration in their own files or settings apps.
  3. Everyday tools, already here. Clipboard history, screenshots across all displays, screen recording, offline OCR and polkit prompts come built in. Copy any plugin panel to the clipboard with its camera button, including floating and third-party panels. Panel images. Vulkan or OpenGL uses your GPU, including in 3D-accelerated virtual machines.
  4. Performance you can check. Plugins load when needed; hidden panels stop refreshing, and image previews release their caches after closing. Your display, driver and widgets affect resource use; the performance guide records release measurements and current limits. See the measurements.
  5. Motion with character. Interruptible springs and OKLCH colour blends keep transitions smooth. Choose from eleven motion presets, including Corniche tide, Lighthouse sweep, Felucca drift, Magnetic, Mercury, Raindrop and five classic springs, with live previews, per-surface speeds and optional system accessibility preferences. Motion controls.
  6. Make changes and see them. Mandara Studio has 32 pages of live settings and previews. Save bar arrangements as profiles; Maintenance spots missing icon themes and takes you to the right settings.
  7. Colours that belong together. Choose a hand-tuned theme or a Material You (HCT) palette from your wallpaper. Opt in to matching Ghostty, GTK 3/4, Qt 5/6, Kvantum, Zed, kitty, foot, Alacritty, btop, Cava, tmux, Zellij and Spicetify. Review community app templates or write your own; enabled apps follow every Mandara theme. App setup.
  8. Room for your own style. Start with 19 bar presets, six bar layouts on any edge, side bars that join into a frame, one-click Looks and per-monitor widgets. Choose a launcher list, icon grid or centred Spotlight-style search, with attached placement for compact bars and a placement map. Boot look styles GRUB, Limine, rEFInd and Plymouth, or uses your image, with a plan, backups and one-click restore. Display changes have a keep-or-revert countdown.
  9. Extensions with room to experiment. Choose from 86 built-in plugins or write your own in Rust. Sandboxed WebAssembly keeps a crashing plugin from taking down your desktop.
  10. Ready for your routines. Documented commands with JSON replies let scripts and AI agents drive the desktop and report live progress to the bar. Automation.
  11. Updates without the guesswork. Signed binary patches arrive in Studio. The Updates panel also handles system and AUR packages with live progress and Mandara's password dialog, plus NixOS generations. System updates.
  12. At home in your language. Twenty interface languages, fonts chosen for each script, and right-to-left Arabic, Persian and Urdu.

Why you'll like it

  • A calmer desktop. Open the tools you need and let hidden panels rest. Resource use
  • A look that feels like you. Try glass pills, a flower rail, a taskbar or a full screen frame. Tune the corners, colours, glass and motion. Your desktop
  • Settings you can see. Preview a change in Studio before making it part of your day. Mandara Studio
  • Less app-hopping. Lyrics, per-app sound, capture tools, a sorted clipboard, night light and sound themes are close by. Drop files onto floating shelves, or install an app by dragging its package in. More features
  • A welcome of your own. Matching lock and login screens, with your wallpaper and ready-made looks. Lock and login
  • Words that feel familiar. Choose your language and reading direction. Languages
  • Easy to make your own tools. Connect commands to scripts and AI agents. Scripting guide

A look around

Media island
Media: colours from the album art, a live spectrum and synced lyrics.
Sound panel with per-app volume
Sound: choose speakers and microphones, then adjust each app’s volume.
Weather
Weather: an animated sky, hourly and five-day forecasts.
The notification center: notifications grouped by app (Mail with Reply and Archive actions, Corniche Radio, Calendar), do not disturb and clear
Notifications: grouped by app, with do not disturb.

Bar styles

Nine named styles sit among Studio's 19 bar presets. Pick one in Studio → Bars → Bar, or run mandara msg bar style <name>. Taskbar centres your launcher and apps along the bottom. Every style shows app icons on workspace buttons; rails run them down the side, with the launcher in the corner. Your own bar items and desktop widgets stay. Side bars can wear their own style too (mandara msg side-bar style right <name>).

The Expressive bar style: a tall bottom bar inside a thin frame round the screen, joined to a rail on the left, with round accent buttons, tonal tiles and scalloped badges
Expressive (expressive): round buttons and tonal tiles in a framed bar, with a scalloped rail.
The Tile dock bar style: one floating island of large squircle tiles at the bottom of the screen
Tile dock (tile-dock): one floating island of large squircle tiles.
The Rail bar style: a wide rail on the left edge with flower-shaped buttons and tiles, inside a thin screen frame
Rail (rail): a wide left rail of flower buttons in a screen frame.
The Segmented bar style: no bar, just rows of connected tiles under the top edge
Segmented (segmented): no bar, just rows of connected tiles.
The System monitor bar style: a slim bar along the bottom of the screen where every reading sits on a square stat block in a monospace font, with CPU and memory rings, network rates and app icons on the workspace buttons
System monitor (system-monitor): a slim bottom status line of stat blocks, meters and rates.
The Stanley Bridge bar style: three floating docks of squircle tiles spanning the bottom of the screen, with app icons on the workspace tiles
Stanley Bridge (stanley-bridge): three floating docks of squircle tiles along the bottom.
The Pharos Beam bar style: a half-width notch hanging from the top edge, with scalloped accent buttons, tonal tiles and app icons on the workspace buttons
Pharos Beam (pharos-beam): a notch of scalloped buttons and tonal tiles hanging from the top.
The Raml Tram bar style: a top bar joined to a rail down the left edge, with flower-shaped buttons and app icons on the workspace buttons
Raml Tram (raml-tram): a top bar joined to a left rail of flower buttons.
A Segmented top bar of connected tiles beside a right side bar styled as a Tile dock, with squircle tiles
Side bars take a style of their own: here a Tile dock rail beside a Segmented bar.

The six Looks, each on a wallpaper of its own: Corniche Dusk (glass pills and a headline clock over a rose sunset), Pharos Ink (a hairline bar over ink contours), Montaza Crimson (an Arabic clock over a red and amber glow), Qaitbay Forest (a giant stacked clock over green hills), Anfushi Wave (a glowing wave over layered sea) and Night Frame (a side bar framing the northern lights), in dark mode or light mode to match your page
Looks, one click each: the bar, widgets, colours and fonts change together. Nineteen ship (one on every bar style, a Windows 11-style and a macOS-style desktop, a cel-shaded comic one); change one and it is kept as a look of your own, to export and share.

Mandara Login in its Mandara design: a big clock, the avatar and a glass password field floating over glossy cyan, violet and pink ribbons, with the Mandara emblem above the keyboard pill
Mandara Login, the login screen: the Mandara design
Mandara Login in its Midnight card design: a quiet clock over one outlined card with the user, password and session, in midnight navy and citrine over violet and coral dusk waves
…its Midnight card design
Mandara Login in its Material You design: a big stacked clock with the hours in pink, and a tonal card with the scalloped avatar, a filled password field, a round sign-in button and a session chip, in colours taken from coral, gold and magenta ribbons
…its Material You design
Mandara Login in its Ghostline design: on graphite with ice-white hairlines, a bracketed wireframe sign-in panel on the left with live readouts of the keyboard layout, uptime and time zone and a terminal password line of segmented cells, and on the right a thin stacked clock beside a ruler of the day
…Ghostline, sign-in on the left in a wireframe panel
Mandara Login in its Chrome Halo design: on deep ink with soft holographic light, a light clock inside a luminous ring of iridescent arcs on the left, and on the right a machined double-bezel sign-in module with a glowing field and a gold pill button
…Chrome Halo, a ring of light and a machined module on the right
Mandara Login in its Meridian design: no boxes, the name and the typed characters set on one hairline across a calm field at the golden height, small words for the session, power and date at its ends, over enormous faint numerals
…and Meridian, everything on one line, light or dark
The lock screen in its Mandara design over blurred coral, violet and gold ribbons: the date, a big clock, the avatar and the glass password field
The lock screen, made to match: the Mandara design
The lock screen in its Material You design over blurred blue and teal ribbons: the date, a big stacked clock, and a tonal card with the scalloped avatar, a filled password field and a round button
…and its Material You design

Studio: the login screen designer with a live preview of the Chrome Halo look, the Try it buttons and the six Looks: Mandara, Midnight card, Material You, Ghostline, Chrome Halo and Meridian
Mandara Studio: every setting, live, with previews like this login screen designer.

Desktop widgets

Put your day on your desktop with dozens of widgets: clocks, events, weather, music, tasks, quick toggles and a desk cat. Give each a glass or solid plate, a circle, flower, scalloped or torn-paper shape, and a washi-tape or polaroid frame. Choose Western or Eastern Arabic digits, Gregorian or Hijri dates, and the language of day names. Switch on only the widget plugins you want, or add third-party ones. Browse desktop widgets.

The opt-in Qur'an, Hadith and Jannah readers can copy complete reading cards as images. Qur'an reciters include Yasser Al-Dossary, Abdulrashid Sufi and Abdul Basit Abdul Samad.

Desktop widgets: a cookie analog clock, a quote, a month calendar, a taped to-do list on torn paper, a sticky note, the focus timer and upcoming events
Your day: tick tasks, start the timer, see what's next.
Music widgets: a turning record, a pocket player, a cover cut to a flower, a side pill, an LED meter, a dot-matrix clock and the desk cat
What's playing, painted six ways, with the desk cat bobbing along.
A sky dashboard over the sea at golden hour: the sun's arc with sunrise and sunset rising over the horizon, a clock, a weather disc, the next hours as a temperature curve, tonight's moon and a day-and-night globe
The sky: the sun's arc, the moon, the globe and the weather, as one dashboard.
Widgets in Arabic over desert dunes: a dot-matrix clock in Eastern Arabic digits with the Gregorian and Hijri dates, an orbit clock, a Hijri month, the weather in words, a countdown and a date tile on a scalloped plate
Your language: Eastern Arabic digits and the Hijri calendar.

Install

One command, from any shell:

sh -c 'f=$(mktemp) && trap "rm -f -- \"\$f\"" 0 && curl --proto =https -fL https://thehamdiz.github.io/mandara/install.sh -o "$f" && sh "$f" "$@"' sh

The download shows size and progress, verifies the signature and checksum, and opens an arrow-key setup menu. The installer adds the packages your distribution needs and connects Mandara to your compositor. It can help install a compositor, too.

Works on Arch, Debian/Ubuntu, Fedora, openSUSE, Void, Alpine, Gentoo and Solus. Pass installer options after the final sh, for example --compositor kwin --no-greeter. If PATH changes, open a new terminal; Studio is always in your application menu.

Image-based systems — Bazzite, Silverblue, Kinoite, Bluefin, Aurora, Aeon, Kalpa and Vanilla OS — use the same command. Mandara goes in your home folder; missing system packages use one approved rpm-ostree, transactional-update or abroot transaction. Reboot only when prompted, then enable Mandara Login in Studio → Login screen. SteamOS uses your home folder only. Immutable systems.

FreeBSD 14+ (14.4 and newer, including 15; amd64) uses the same command. Without curl, use the base system's fetch. FreeBSD install.

NixOS: try nix run github:theHamdiz/mandara, then add programs.mandara.enable = true; through the NixOS or Home Manager module. Update from your configuration flake directory with nix flake update mandara, then sudo nixos-rebuild switch --flake . or home-manager switch --flake .. Use your input name if it differs from mandara; NixOS updates through the flake rather than Studio.

→ Install guide: packages, setup options and moving from an existing desktop.

Common questions

Does Mandara change my compositor config? At most one include line; validated settings live separately in ~/.config/mandara/generated/.

How do I update? Studio → About → Update now. NixOS uses your flake.

Can I script it or use an AI agent? Yes: mandara msg gives you JSON replies, and scripts can show progress in the bar.

Can I write plugins? Yes: Rust to sandboxed WebAssembly, with hot reload and a GitHub marketplace. Start here. Store moderation rules update independently of releases.

Learn more

Star history

Mandara Shell's GitHub stars over time

Supporting Mandara

Mandara is free, open source and always will be. If it makes your desktop a little nicer, you can help cover development time and AI credits:

Buy me a coffee on Ko-fi

Using Mandara, sharing it, writing a plugin or reporting a bug helps too. Thank you!

Local shell commands

Enable Studio → AI Shell Agent, download its models, then type !dark mode in any launcher look. Review the command and press Enter. Inference runs offline on your CPU; its worker exits when finished or closed. Setup and model sizes.

License

Mandara Shell is GPL-3.0-or-later (license, copyright). Vendored code keeps its own license, as do optional downloads: OFL fonts, Apache-2.0 PaddleOCR and Depth Anything V2 Small models, and FunctionGemma under the Gemma terms.

About

A native Rust Wayland desktop shell with 19 bar presets, 19 Looks, 86 built-in plugins, a live design studio and optional offline AI control. Ten compositor drivers, Linux and FreeBSD, NixOS support and 20 interface languages.

Topics

Resources

Stars

98 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Contributors

Languages