I just tried out the COSMIC Desktop Environment (DE) created and engineered by System76 (people who are behind POP!_OS). It was an incredible experience even though it was just a pre-alpha.
COSMIC was engineered virtually from the ground-up to be System76’s solution to move away from GNOME and onto their own tech stack. The entire DE is written in the Rust programming language utilizing the iced application framework with their in-house application library libcosmic (similar to how KDE uses Qt+Breeze+Frameworks or GNOME uses GTK + Libadwaita).
Impressions
If you’re familiar with POP!_OS 22.04’s take on GNOME, then the workflow is no different here with emphasis on features such as tiling, application dock, application launcher, universal search launcher and of course: auto-tiling.
One of the exclusive features of COSMIC is its 1st class support for custom theming on the fly. You’re allowed to theme the desktop in almost any way you can (even with nauseating colors) and the DE will adapt to your preferences.
It can even theme gnome apps! (I read other books dw)
Auto-tiling is also great to use, you can toggle specific windows to be floating or tiled.
Theme integration with Qt apps are a work in progress + some quirks of running COSMIC in a container with KDE. So far, I really enjoy how buttery smooth everything is (besides some pre-alpha stuttering), the entire desktop feels like a really cohesive experience. It has the efficiency of a tiling window manager but the convenience of a DE.
It has an overview!!! (super+w)
You can also stack windows on top of each other
Not everything is implemented (obviously) but just the promise of a DE that does tiling and window management like this has me sold.
How to try out COSMIC?
NixOS
There’s a flake
Fedora Atomic Desktop
You can use a universal blue image and rebase to that, it even includes options for having a fallback desktop environment of either GNOME or KDE as well.
Other
- Arch has an AUR package
- Fedora has a COPR repository
- Compile from source (instructions)
Note that this cannot be used in production: cosmic is pre-alpha software as well as needing to turn off SELinux.
Or wait until POP!_OS 24.04 is released with a stable version of COSMIC this summer. This has been my first time running COSMIC but when the stable version drops you bet I’m switching over (though no one can take away my Fedora atomic distro).
Switch to GNU/Linux or pay the ultimate price
Loved pop-shell when I used it. I still use a tiling extension for GNOME. Wouldn’t want to live without it.
I love the ideas behind cosmic, but I am skeptical about System76 dominating development rather than letting the community run things. Specifically, I very much want a Rust-ified GNONE-Shell and GTK with tiling & stacking features. Ideally, I’d like to see a Rust rewrite of GTK. I’d say GNOME-Shell too, but idk how well you could maintain extension compatibility with that.
I don’t care much for the looks of iced applications, but these ones look better than what I’ve seen so far. They look like a mix of the awkward elements of Qt and Android.
Even in these screenshots, I still far prefer the aesthetics of the Libadwaita apps. I wonder if there will be Adwaita themes for iced eventually. Not sure how well it would mesh with the iced layout though.
Don’t worry, they’ve already been accepting community contributions to COSMIC (such as gestures and window preview). They just have to work on finalizing the initial foundation of libcosmic and write documentation for it (but there are already non S76 COSMIC apps). They’re also leveraging the Rust community’s crates to build everything while also giving back to the community (like with cosmic-text text rendering which has become the de-facto standard on Rust). Iced is entirely community maintained and isn’t even at its stable 1.0 release yet.
The issues they had with GNOME went far beyond the application toolkit. GNOME simply wouldn’t implement swiftly (or at all) wayland protocols and desktop features that their (S76) clients and userbase wanted. COSMIC is exactly what you’re asking here. They will have desktop extensions (and applet extensions), just not the ones GNOME have already.
I had that impression too. And when you’re using it there’s no animations or transitions between widgets. It’s very much still in the pre-alpha stage right now (they even disabled light themes because theming wasn’t working properly). I didn’t like how far spaced apart some widgets were (like in COSMIC settings but that app isn’t even near to be completed).
No one is beating GNOME on aesthetics no matter how hard you try lol, they cracked the code pretty much for the most appealing applications. But I think COSMIC’s support for advanced theming that you can do on the fly will distinguish it aesthetically from KDE and GNOME apps (which have no such 1st class feature, yet. I know KDE is working on accent theming for 6.1). You can also change icon themes easily and Qt theming is still in the works so there’s an effort to make the desktop integrate well together no matter the app.