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 · 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.
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.
| 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 |
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- At home in your language. Twenty interface languages, fonts chosen for each script, and right-to-left Arabic, Persian and Urdu.
- 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
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>).
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.
![]() The lock screen, made to match: the Mandara design |
![]() …and its Material You design |
Mandara Studio: every setting, live, with previews like this login screen designer.
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.
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" "$@"' shThe 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.
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.
- Documentation: every feature, one topic per page
- FAQ: short answers to common questions
- Using Mandara: commands and default shortcuts
- Plugins and writing your own
- Why Mandara: how it compares with other shells
- Building from source, with locked dependencies, and contributing
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:
Using Mandara, sharing it, writing a plugin or reporting a bug helps too. Thank you!
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.
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.




























