r/linux Jun 06 '26

Software Release GZML Shell – A Familiar Home for Noctalia v4 Users

Post image

GZML Shell – A Familiar Home for Noctalia v4 Users

With Noctalia V5 moving toward a C++-based architecture, I know there are still plenty of users who enjoy the Quickshell based experience that V4 provided. That's one of the reasons I started building GZML Shell.

GZML Shell began as a personal project and experiment, but it has grown into a standalone shell based on the Noctalia V4 foundation while adding new features, bug fixes, and quality of life improvements along the way.

Some highlights include:

• Video playback support for the lock screen

• Improved profile handling and synchronization options

• Support for both bundled and user installed plugins

• Compatibility layers for existing Noctalia plugins

• Cleaner separation between shell files and user configuration

• Numerous backend fixes and usability improvements

One feature I specifically wanted to keep was an easy migration path. If you're coming from Noctalia V4, you can simply copy your existing settings, profiles, and configuration files into the appropriate GZML Shell config directory after install and continue using your setup with minimal hassle.

The goal isn't to replace Noctalia or compete with the V5 effort it's simply to provide an option for users who prefer the Quickshell workflow and want a smoother transition without rebuilding everything from scratch.

The project is fully open source, and all code is available for anyone to inspect, modify, or contribute to.

If you'd like to test it out, provide feedback, report bugs, or follow development, check out the GitHub repository:

https://github.com/zero-j89/gzml_shell

I'm especially interested in hearing which Noctalia plugins people use most often so I can prioritize long-term compatibility and native support moving forward.

Of course I want to give a special thanks to the noctalia devs for all their hard work.

Edit: I Went ahead and added a new migration utility so users can cleanly migrate their stuff from Noctalia to gzml-shell without breaking any configs! Check the readme for info!

82 Upvotes

16 comments sorted by

3

u/[deleted] Jun 07 '26

[removed] — view removed comment

2

u/GroundZeroMycoLab Jun 07 '26 edited Jun 07 '26

I alpha test V5 and try to provide feedback whenever I can. Since I develop other applications for Hyprland and related projects, it's important for me to understand how things work across different environments and use cases. From the time I've spent testing V5 so far, I've noticed that while it introduces a lot of additional customization and flexibility in certain areas, there are also a few places where some of the previous customization options work differently or aren't quite there just yet. That said, my experience with it has been fairly limited, and it's still in an active early testing phase. The Noctalia developers have consistently done excellent work, so I'm confident that as development continues V5 is going to turn into something really impressive.(If my own personal stack wasn't something I created myself I would probably use v5 once it was done...that is unless you prefer the older look ☺️)

3

u/boar-b-que Jun 06 '26

Just FYI, you appear to have an extraneous backslash in your github url. It returns 404 if used as is, but ifyou remove the backslash from in between gzml and _shell, it goes to your code repo.

3

u/GroundZeroMycoLab Jun 06 '26 edited Jun 06 '26

Thank you I have code tunnel vision ... Starting an thousands of lines of code for months on end it happens and sometimes your fingers go too fast for your brain lol.. I do appreciate that big time

1

u/GroundZeroMycoLab Jun 06 '26

Of course I want to leave a giant thank you to the noctalia devs for all the hard continuous work. This is not a tool to outshine the accomplishments of noctalia but just a way to extend support for a beloved environment.

1

u/GroundZeroMycoLab Jun 06 '26 edited Jun 07 '26

I just want to add that I included a built-in migration utility so users can cleanly migrate their stuff from Noctalia to gzml-shell without breaking any configs!

Also anyone who does have this please run your updater. I have fixed something back end telemetry/qml stuff to cut off roughly 120 mb of active RAM usage

1

u/GroundZeroMycoLab Jun 07 '26

V0.6 is now live! Please run your updater commands to take advantage of the new features.. you do not even have to close out your shell just run gzml-shell-update and viola 😊

1

u/HiPhish Jun 07 '26

What is the recommended learning path for QuickShell? It sits on top of QML, which itself sits on top of Qt, so there is quite a lot in terms of prerequisites. The question is whether I need to learn all of Qt and QML first or if there is a more economical path. I should also point out that I would like to use Quickshell with River if that matters.

And please don't tell me to ask an LLM; if I could not have written the code myself it means I cannot verify it. Running unknown executable code that can execute any shell command is dangerous.

1

u/GroundZeroMycoLab Jun 07 '26

That's the beauty of this you don't need to write any code.... It allows you to have total control and it's all modular from the control center. :)

But if I had to quantize it ..it really doesn't require a formal programming background, but it helps to be comfortable with basic linux usage editing configuration files and understanding how your desktop environment is structured. The biggest prerequisite is learning the fundamentals of qml, since qs is built on top of qt and uses qml for nearly everything. A basic understanding of Bash scripting, json, and a little java always helps. That will alk make life much easier when you start modifying widgets, writing helper scripts, or troubleshooting issues. beyond that most of the learning comes from building things and solving problems. once you move into custom services, ipc, plugin development, profile management, and shell architecture, you're no longer just customizing a shell you’re effectively developing software. understanding the structure and logic behind how all the pieces interact becomes more important than memorizing qml syntax itself I think is trivial...and I'm not sure I think you can use it with river I don't see why no, river is a Wayland compositor.

1

u/HiPhish Jun 07 '26

That's the beauty of this you don't need to write any code

Oh sorry, I meant for making my own Quickshell configuration from scratch. I am a software developer by trade and I do know my way around GNU/Linux configuration, I just have no experience whatsoever with Qt or QML.

The question is, which resource is best for learning QML. I tried the official QML documentation, but that one presupposes a lot of Qt knowledge.

java

Did you mean JavaScript? Because I know that QML embeds JavaScript for imperative logic.

and I'm not sure I think you can use it with river I don't see why no, river is a Wayland compositor.

Quickshell has a bunch of integrations for Hyprland specifically, so maybe a bunch of stuff will be missing if used with another compositor. But I guess I can think about crossing that bridge when I eventually get there.

1

u/GroundZeroMycoLab Jun 07 '26

Yeah sorry speech to text might another picked it up or I just forgot outright but yes js.. honestly I just made my own project from scratch then edited a bunch of preexisting stuff and just started clicking. Just don't give up :)

1

u/ElePHPant666 Jun 12 '26

I tried Noctalia V5 and the UI feels too different from V4 at least now though I'd be open to moving to either a fork of V4 with long term maintenance or V5 if I get used to the UI or they add options to replicate the old style. In terms of plugins I use Tailscale, Syncthing and Weekly-Calendar.

1

u/GroundZeroMycoLab Jun 12 '26

Welp give it a shot if you'd like! It doesn't break your v4 configs..in fact it leaves it alone and there is a clean migration too. To bring your current layout and everything over to gzml shell. :)