Nitrux 1.0.15, the fifteenth release of our 1.0 series of releases (we make releases every month) seems to have been our largest release yet. We have received lots of attention over the past few days, which has been awesome!. This, of course, also means that people are curious about what Nitrux is. And that is what I will be answering in this article.
After reading and watching videos of our new release, I have gathered what the most common misconceptions about Nitrux are.
Let’s begin with the basics. What is the Nomad Desktop, and what isn’t?.
Previously, in another article, I wrote about some of the most common misconceptions about Nitrux.
- What it is: Nomad Desktop is our set of applied customizations to the Plasma 5 Desktop. This includes new plasmoids (or widgets), a new look and feel package (wallpapers, Plasma themes, Konsole theme and profile, Aurorae themes, SDDM themes, cursors, and color-schemes. All made from scratch) an icon theme and initially two desktop applications. The NX Software Center became its own thing, and Nomad Firewall is a KCM (KDE Control Module), which is not part of the plasmoids package or the look and feel package. The icon theme Lüv is also not part of the look-and-feel package.
- What it isn’t: Nomad Desktop is not a desktop environment. A desktop environment by concept would be a complete desktop shell and a suite of essential applications. These include a file manager, web browser, multimedia player, email client, address book, PDF reader, photo manager, and system preferences application. Nomad Desktop does not provide any of these, which is why we have never referred to it as such. It is also not a fork, a derivative, or a spin-off of Plasma Shell.
Why is it called Nomad Desktop, then? You may ask, and the answer is pretty simple. Nomad is just the name of the project. The Desktop suffix is because that’s where everything that comprises it is used in the desktop.
Update: Nomad Desktop was renamed to NX Desktop to align it better to our branding.
Why AppImages and not Snaps
To answer this, first, I’m going to refer to this article, published on November 25th, 2017, where I explained the reasons why we decided not to use Snaps in Nitrux.
Second, I’m going to refer to this other article published on February 16th, 2018, where we summarize the differences and uses of the three major portable software formats.
Nitrux is a desktop Linux distribution meant to be used in desktop computers (that includes laptops et al.). Based on this, AppImage is the format that most adequately befits our vision. It is truly portable, doesn’t require anything else to run, and it is aimed at desktop computing.
…and why not just use Debian packages then?.
Because we love to be innovative, we could have just as easily only use dpkg or any other package manager, but that was never the point. AppImage provides a very innovative and simplistic solution to software distribution. It is abundantly clear that a one-click solution to obtain software would be instantly accessible to anyone. Sure, that is not to say that current package managers aren’t smart (or powerful!) when resolving conflicts, but it’s not the same to manage a dozen if not hundreds of files to manage one.
To be noted is that the AppImage format does not try to replace package managers, but we want to make it our primary method of distribution for end-user software.
The mobile segment proved that this unprecedented simplicity was key for people to obtain new software, let alone actually using it, why limiting that simplicity to our phones?.
There are things like hardware drivers or the kernel that are not meant to be put in formats like these, and for that, we will continue to use dpkg/APT.
The Software Center
The NX Software Center is one of our star applications. Our GUI to install, remove, and update software. However, people seem confused as to why it doesn’t display any more than a hundred results or why would otherwise common findings in the Terminal do not show up here.
The fact is that our Software Center was never built with the intention to support anything else other than portable formats. Never.
The Software Center, the code of which you can find here.
It is meant to provide users with the simplicity that I talked about before: simple downloads, simple updates, and simple management of software.
Then again, you may ask “why not just make it use Debian packages, there are thousands already in the Ubuntu repositories or Snaps, there are way more Snaps anyway.”
For the next version of Nitrux, that would be 1.1 due to September 28th (stay tuned!) we have implemented what we couldn’t do with Snaps. Currently, the SC only fetches results from one source at a time, that can be appimagehub.com, appimage.github.io, or opendesktop.org.
To solve this, we have created a back end that allows us to fetch AppImages directly from the developers (no central repository). It also allows for straightforward updates, categorization, better and faster search without having to parse the metadata that a 3rd party site would provide or manage that metadata ourselves. It also helps us leverage the cost both in manpower and economic of having to host the files.
That means when you start using the new SC, you are getting your GIMP, Krita, VLC, Inkscape, KDevelop, KDenlive, LibreOffice, etc. directly from the developer without having to worry about it not running on your system, not being able to update to the next version because of one library, no wait-time because it’s not in the distribution’s repositories, no compiling, no recipes, not needing another package prior to install a new one, no plugging, no runtimes and so on and so forth.
Providing AppImages is entirely up to the developer, so, if the software that you are looking for is not available as an AppImage ask its developer to provide one and it will be available in the SC.
But of course, we’re only talking about what’s happening behind doors, on the front yard it’s another story.
The idea that the current interface of the SC is the final version couldn’t be more wrong. Like I mentioned earlier we like to be innovative. We have produced mockups for a new UI which can be seen here
The installation of dozens of packages reduced to only searching for the app that you want and downloading it. And yes, that means no need to use the command-line to install software.
Just another distribution
Well, no. We are not.
Innovation. I have said that over and over but that’s what best describes what we do. Discarding Nitrux as just another distribution of the bunch because of the distribution that we have used as a foundation to build up our work is probably shortsighted and just about omits everything else that we have done and what we want to do.
For instance, the link above. The links lead to a UI redesign of the SC that in turn leads to one of our major projects: the Maui Project.
And just what is that? let me refer you to this article
Maui stands for Multi-purpose Application User Interface, it was previously known as the Nomad project, however, the base idea behind the project still remains the same.
Maui is a project that aims for convergence, it makes use of the KDE community technologies and brings to the mix a house-made HIG, a set of templated controls and widgets and a set of apps that work across different platforms and devices.
Maui Kit is a UI framework. With it, developers can create fantastic convergent applications that will run on Linux, Android, Plasma Mobile and there’s the plan to support other operating systems.
Convergent, cross-platform applications. Yep.
The list of Maui Apps (which is our suite of applications) includes VVave. VVave is the successor to Babe, the default music player that we have included in Nitrux.
But that’s just one project, what is the other? Well that would be znx.
We love AppImages if that wasn’t clear enough, but what if…
What can you do with znx:
1. Deploy multiple operating systems on the same device, without the need of re partitioning it.
2. Perform atomic (safe) updates on the deployed operating systems (for real!).
3. Perform rollbacks on the images after an update.
znx takes that concept and applies it to the operating system itself.
znx is a tool that does the following:
- Performs safe updates. The system never gets broken after an update.
- Isolates the storage and the operating system. If you use znx, you don’t need to “install“ any system: znx will load the ISO file on boot without extracting any content to the storage device.
- Save bandwidth by downloading differential content. This means that you don’t download a completely new system, just the new or updated packages. This is achieved through zsync.
- Reduce the file system complexity, and thus, be transparent to the user on what he stores on his computer. No hidden data.
- Managing the boot configuration is very simple. A small bunch of files stores the whole configuration of the boot process (one per image).
- Adding or trying out new distributions is easy. Give znx a path or URL, and it will know what to do.
Using znx in Nitrux would allow us to provide ISO files with the latest software (i.e. latest Ubuntu+latest KDE tech+latest everything else) and also at the same time provide our users with the ability to safely upgrade or if need be, return to the previous version of Nitrux.
So. To recap:
- Use of self-contained, portable applications that require absolutely no fiddling (AppImages). ✓
- A GUI to manage them (search, install, remove and update). Obtaining them straight from the developer. ✓
- A convergent, cross-platform suite of essential applications (and maybe a shell). Provide a framework for 3rd party developers to create their own. ✓
- Safe atomic upgrades for the operating system and the ability to rollback to a previous version keeping user data. (Once again, one file to manage rather than having to worry about hundreds of them). ✓
Even relatively speaking “minor” details like the theme have been taken into consideration. We have made a native Qt Quick 2 style to replace the SVG based Kvantum theme, the code of which you can see here
We attended KDE’s annual meeting Akademy this year. We presented Maui and talked about Nitrux and znx during the sessions. The result?, a collaboration between KDE developers and us.
Our integration with AppImages? that is to a product of collaboration. We have worked together with the AppImage team in creating libappimage which is the library that the SC uses. That, and the creation of a set of tools to integrate AppImage files with Freedesktop.org compatible desktop environments as you guessed it, Plasma. The code of which you can see here.
With znx, we are counting on using it as a back end with Calamares along with creating other modules to accompany the existing ones as I briefly mention here.
By this point thinking that Nitrux is nothing more than a bunch of pretty themes would be, at best, disingenuous.
If there’s one thing we don’t lack is ambition. Our drive and motivation are to create an operating system that helps the user get their stuff done. I extend the invitation to those curious about Nitrux to get to know it, to get to know us.
We host our blog here on Medium, and we often post to social media, which includes Mastodon (https://mastodon.cloud/@Nitrux_NX). You can follow us there if you don’t want to use Facebook, Twitter, G+ or Instagram.
We are more than meets the eye. 😉
Maybe 1.0.15 is the first version that you know of Nitrux, and that is okay. Maybe you have used Nitrux in the past, and you did not like it, and that is also okay. Maybe you prefer to use another desktop, other colors, themes and that is okay too.
It’s never too late to get to know each other.
Feedback is a powerful tool, and you as a user can shape the development of our project. We have a vision, a goal and that is to make things; to make Nitrux work for you. And this is reflected in our Patreon page where you can not only support us, but you also can have a say in the distribution developments.
They told us the sky was the limit, but we decided to look far beyond.
From all of us, thanks for testing out and using Nitrux.
We do hope that you won’t run into any problems with Nitrux. However, no system is perfect!. If you need help with Nitrux check out the information here