Overview
About Agwaita
Philosophy and Vision
Agwaita follows a simple, clear, and comprehensible philosophy:
Simplicity First
The primary goal is to create a shell that works reliably without unnecessary complexity. For now, this means:
- No configuration files - The shell works out of the box with sensible defaults
- Focus on core functionality - Get the essentials working well before adding customization
- Clear, readable code that's easy to understand and maintain
Configuration support may be added in the future, but only after the core functionality is solid and stable.
GNOME Integration
Agwaita reuses specific GNOME resources and settings particularly for theming, accent colors, and desktop interface settings. D-Bus services like power-profiles-daemon, system tray protocols are also used to provide a seamless experience.
Note
Agwaita is developed alongside Niri compositor with GNOME installed on the system. The impact of running Agwaita without GNOME components present is currently unknown and may cause issues.
Design Principles
- One rust binary - Leverage Rust's safety and performance, and no additional file like css
- GTK4/Libadwaita - Native Adwaita look and feel
- Compositor-agnostic - Designed for Wayland compositors (tested primarily with Niri)
- Reactive architecture - Using Relm4's Elm-inspired model for predictable state management
Notable features
Libadwaita-styled native shell for niri with panel,workspaces,quick settings,media,notifications,and GNOME-like visual integration.
Gallery