A project that I’ve always wanted to create: a library that enables the development of GNOME applications using Swift. While there are some similar libraries available, they appear to be incomplete or not actively maintained. Thanks to Vibe Coding, I managed to complete the project in approximately a week.
swift-adwaita is an imperative Swift 6 wrapper for GTK4 and libadwaita, built for creating native GNOME desktop applications on Linux.
It provides a modern Swift API over GTK and Adwaita with type-safe widgets, signals, property bindings, async operations, and ergonomic convenience helpers, while preserving the native behavior, styling, and feel of the GNOME platform.
- Native GTK4 and libadwaita application development in Swift
- Imperative API without a custom DSL
- Type-safe enums, signals, and property APIs
- Async/await support for common platform integrations
- Extensive widget coverage with a real demo application
Here’s a demo app built using swift-adwaita:
This is an open-source project licensed under the MIT license. The source code is available on GitHub. Documentation with guides is available here.