A new desktop environment / UI toolkit for desktop Linux
update readme license year
update to zig 0.11.0-dev.1681+0bb178bbb
ttf: implement 'gasp' table


browse  log 



You can also use your local clone with git send-email.


Magnolia is a new UI toolkit written entirely from scratch in Zig for Linux desktops. It has a focus on ease-of-use, performance, and supporting older devices.

The only runtime system dependencies are X11 and OpenGL 2.1.

The only additional build dependencies are Git, Zig, Zigmod.

Note: this project is a WIP and still in a very experimental state. Stay tuned for more updates.

As far as problem space you can consider this project as an alternative to a mix of GTK/KDE/QT and GNOME/Plasma depending on which part of the code you're using.


Source-Available, All rights reserved. (c) 2023 Meghan Denny



Magnolia is built using the Zig build system. To see all available build options run zig build --help.

If building on NixOS, there is a shell.nix which will enable all the system dependencies needed.

Pull in the Zig dependencies by running zigmod ci.


  • -Dtarget=[string] The CPU architecture, OS, and ABI to build for
  • -Dcpu=[string] Target CPU features to add or subtract
  • -Drelease-safe=[bool] Optimizations on and safety on
  • -Drelease-fast=[bool] Optimizations on and safety off
  • -Drelease-small=[bool] Size optimizations on and safety off
  • -Dall=[bool] Build all apps, default only selected steps
  • -Drun=[bool] Run the app too
  • -Dstrip=[bool] Strip debug symbols
  • -Dtest=[bool] Run for a single frame and compare output against known good result

#Available Steps

  • triangle-raw
  • demo-empty
  • demo-part6
  • demo-panelhoriz
  • demo-panelvert
  • demo-panelhoriz-gap
  • demo-panelvert-gap
  • demo-panelhoriz-fillh
  • demo-panelvert-fillw
  • demo-panelhoriz-fillw
  • demo-panelvert-fillh
  • demo-ttf-proggy

#Inspiration / Resources