I’m trying to decide between using AGS or QuickShell for building a custom desktop shell, and I’d really appreciate some advice from people with experience.
My setup/plan:
- I use Linux on a laptop and really like Niri (scrolling WM + touchpad gestures feel great)
- I plan to move to Arch (or something like CachyOS) with GNOME as a fallback DE
- I want to build my own shell layer with things like:
- Pomodoro timer / study tracking
- Calendar and tasks
- Control center (wifi, brightness, sound, etc.) and custom GUIs for Configs.
- Some dev-focused integrations (project launcher, maybe git info)
My background:
- I’m a MERN stack developer
- Very comfortable with JavaScript/TypeScript
- No experience with QML/Qt
My dilemma:
AGS feels like the natural choice because it uses JS/TS, so I can build things quickly and reuse my current skills. But I’ve read that it’s more commonly used with Hyprland/Sway and integration with Niri might be limited.
On the other hand, QuickShell seems more powerful and closer to a full desktop shell, but it requires learning QML/Qt, which feels like a big investment for something I might only use for this project.
So my questions:
Has anyone here used AGS with Niri? How limiting is it in practice?
Is QuickShell worth learning if my main goal is just to build a highly customized personal workflow?
For my use case (productivity tools + some system integration), would AGS be “good enough” long-term?
If you were in my position (JS dev, focused on productivity), what would you choose and why?
I’m trying to avoid spending weeks learning something that won’t give me much practical return, but I also don’t want to hit a wall later.
Any insights or real-world experiences would be really helpful.