A Linux for everyday people, built with AI
You know, one of my problems with Linux is how little it cares about the user’s experience. I’ve tried Linux a good few times. But I’ve never managed to stay on it.
There are several problems I’ll go through in this article, but if we had to sum them up, I think they’d be these:
- the terminal is necessary, the terminal is life, the terminal is eternal.
- the lack of a pleasant, easy-to-use UI
- systems that break exactly when you need them least, and the eternal problems that never seem to go away
- installing things, from the system to the programs, which asks for too much knowledge
And since complaining alone doesn’t fix anything, in the second part of the article I talk about what we’re doing to fix them, in the distro I’m working on, Nyra OS. Here’s how you can read it:
- What doesn’t work on Linux: the terminal , systems that won’t boot and where my idea came from, SteamOS
- What Nyra OS is: the idea and who it’s for , then what it’s built on
- How it solves the problems: the interface , installing programs , installing the system and dual boot
- And the AI? Where it comes in , and where it doesn’t
The terminal
One of the big problems I see with Linux is that in many cases you end up using a terminal to fix your problem.
From installing a driver to solving a problem that nobody, not even God, knows why it showed up.
Even though I, as a developer, am perfectly capable of using a terminal, that doesn’t mean I want to. When I’m not doing development tasks, I simply don’t want to mess with it. I want a GUI where I can dig around if I need to, that’s it.
And this isn’t just a problem for me, it also affects people moving to Linux. A regular user doesn’t want to use a terminal, doesn’t want to bother with all kinds of Google searches for a single problem.
But it seems to me that the community around Linux doesn’t really want to understand that.
Sure, things have improved over time. But I think progress is extremely, extremely slow. On top of that, terminal messages aren’t friendly to someone coming from Windows or macOS. A regular user gets scared when they see 100 messages flowing by in a terminal.
WHY WON’T YOU BOOT?
Probably one of the most annoying problems on Linux. It’s happened to me too many times: I wake up and the system doesn’t boot anymore, or GRUB is gone to hell.
Why the hell is this still not completely solved, after years of development?
An update, a script that touches something, and bam, at the next restart you wonder what happened. And okay, you’ll say I’m an idiot poking my nose where it doesn’t belong, and maybe that’s true.
But my dad, who installs Linux to try to stay on it, what did he do wrong? More than once he called me to help him install a program because he didn’t understand how to (especially since he doesn’t speak English). More than once he called me because his operating system wouldn’t boot anymore, GRUB broken or all kinds of problems you don’t know how to fix.
And then, SteamOS 3 opened my eyes
When the Steam Deck came out, I knew right away I wanted to buy it. It was perfect for me.
From controls of the right size (unlike the Nintendo Switch, but oh well. They have a different audience, I suppose), to a Linux system I really wanted to see in action.
But we’re not talking about gaming here. Linux does well at that now.
SteamOS, though, as a desktop experience, is a good one. And it opened my eyes to something interesting. Immutable systems. After long use of SteamOS, including as my main system during a period when my PC wasn’t available, I understood that this is the future of Linux, for mass use. It behaved well, it didn’t break, it worked the way an OS should work.
For those who don’t know what immutable means: you can no longer modify the system itself by accident. An update isn’t applied piece by piece on top of what’s already there, it arrives as a whole image of the system. If something doesn’t work, you go back on your own to the version that did. You’re never left with a half-installed system.
And then I asked myself: why can’t a regular computer have this too? Immutable distros do exist outside the Steam Deck, Bazzite being a good example. But they’re mostly made with gamers, developers and Linux enthusiasts in mind. I wanted one aimed at someone coming from Windows or macOS: a system you install, it works, it updates itself and it doesn’t break. No terminal, no GRUB, no “try this thing from a forum from 2019”.
Nyra OS
That’s the idea Nyra OS started from, the Linux distribution I’m working on. An immutable system, made for regular people, with a single goal: to work and not break.
One thing needs to be said from the start: Nyra isn’t trying to win over current Linux users. It’s not made for tech nerds or for those used to fixing everything from the terminal, they already have plenty of distros that suit them. Nyra is for everyone else, regular people who want a computer that works, not a hobby.
And for regular people to stay on it, not breaking isn’t enough. Immutable doesn’t solve everything. Even if the system no longer breaks on an update, the small, everyday hardware problems remain: suspend that never wakes up, speakers that sound like tin cans, Wi-Fi that drops after an update, a battery that lasts half as long as it does on Windows.
And the frustrating part is that almost none of them is new. Someone has already run into it, and the fix exists somewhere: a forum thread from 2023, a comment on a bug tracker, another distro’s wiki, a kernel parameter nobody explains. In other words, fixing Linux is mostly a search problem.
The interface
The other big problem with Linux, for me, is that it often looks and behaves like it was made by engineers for engineers. Menus with dozens of options, settings scattered across five apps, error messages that give you a code instead of telling you what to do. Sure, there are beautiful desktops, but you rarely find them thought through to the end.
Nyra uses KDE Plasma 6 as a starting point and builds on top of it:
- It looks the way you’re used to. In Settings you choose between three layouts: Windows, macOS or a balanced one. If you’re coming from Windows, the bottom bar and the Start menu are where you expect them to be, and the names from there work in search too (“control panel”, “cmd”). If you’re coming from a Mac, it’s laid out like that.
- Our own apps, not a pile of different tools. Settings, the Store, First Run and the rest are made by us, with the same style throughout. Settings are grouped by topic, with search, not by the names of the programs behind them.
- You choose how it looks. Light or dark theme, six accent colors, animated wallpapers that follow the time of day, like on macOS. They’re all made to be readable and to stop on their own when you’re gaming or the battery is running low.
- Messages written for people. We have a writing guide for every text the user sees: you write for someone who has never used Linux, you say what happened and what they can do, no jargon. Instead of “Failed to mount /dev/sda2”, you see “The external drive can’t be opened. It may have been removed without being ejected”, with a button: “Try again”.
The terminal is still there, for whoever wants it, but it’s no longer the only way in.
Installing programs
If you ask me, this is where Linux loses the most users. On Windows you download a file, double-click, next, next, finish. On Linux you have apt, dnf, pacman, Flatpak, Snap, AppImage, .deb, .rpm, a .tar.gz with an install.sh inside. Not to mention a tutorial telling you to add a repository, put in a key and sudo something you don’t understand.
My dad ran into this. He didn’t know what a package manager was, or why he had to use one for something that on Windows is done with a double-click.
In Nyra, the idea is that none of this is visible:
- One Store, one format. Everything you install from there is Flatpak, no matter where it comes from. Every app is sandboxed and has permissions, and a security fix in the shared libraries reaches all of them at once. You search, you press Install, that’s it. If an app is available from several sources (Flathub and our own repository), it shows up once, and you can switch the source if you want.
- Got a file from the internet? Double-click. Because the system is immutable, you can’t just run
apt installon it. So we have a single installer that figures out what kind of file it is. If the app exists in the Store, it suggests that one. A.debgoes into a Debian container managed by us, and the app shows up in Start like any other. The same goes for AppImages, archives or.exefiles (through Windows compatibility). - Files made for other systems aren’t a dead end. Downloaded an
.rpm, meant for Fedora, or something else that doesn’t fit Nyra? It won’t blindly install it, but it opens it, reads what app it is, and matches it with the equivalent that works on Nyra: the same app in the Store, or the official.debor Flatpak from the developer’s website. If there’s no version for Nyra, it tells you so openly, instead of leaving you with an error. - No
aptin the terminal. If you do typeapt install, you don’t get a cryptic error, but an explanation and a button: “Search in the Store” or “Install in Ubuntu”. - Everything looks the same. No matter where it comes from, the app is in Start and in the Store, it uninstalls the same way, and you can go back to the previous version if an update breaks it.
I’m not claiming this solves everything. There will be programs that don’t work, and when they don’t, we want to say so openly, not leave you to fight them. But at least you no longer have to know what a package manager is.
What Nyra is built on
We’re not building a system from scratch, that would be beyond the power of a small team. Nyra is based on Debian, with KDE Plasma 6 as the desktop.
The interesting part is that I didn’t pick Debian at first. I started on Fedora, then took a serious look at Arch too (SteamOS is on Arch), and at some point I settled on Debian. The reasons:
- I’m independent from a company that changes its priorities;
- the server version gets 5 years of security updates, for free, from Debian;
.debprograms and drivers work natively.
And that last point matters more than it seems: an app you download from the internet usually offers a .deb to download, it’s the format you see first on the website. For a new user it’s much easier to download a file and double-click it than to hunt for another format.
The price is more work at the start, to put everything together. But I’d rather do that work myself than depend on another project.
How the system works
- An image, not packages. The system is a single image (bootc), built from a single configuration file. You don’t install package by package on it, you get the whole image. That’s why it doesn’t break on update.
- Atomic updates. They install in parallel, and at restart you boot into the new version. If something doesn’t work, the system goes back to the old one on its own. No GRUB that breaks.
- Debian unstable, but with a safety net. The name sounds bad, but we don’t take whatever shows up today. We use pinned daily snapshots, and a version reaches you only after it’s been tested.
- Our own layer for the things that matter. The kernel, Mesa, firmware, the NVIDIA driver and KDE are updated by us, faster than Debian does, so new hardware and games work.
- The apps we make ourselves (Settings, Store, Games, First Run) are written in QML and Rust. Rust because it’s fast and safe, QML because it looks good and integrates with KDE.
How open it is
Open source where the license requires it (the kernel, the KDE plugins) and where the public needs to be able to check what runs on their computer: updates, security, the base image. The apps that set us apart, like Games or the Store, stay private.
The model is Valve’s with SteamOS: the base is open, the project stays run by us. The community proposes, we decide.
And one thing I consider important: the recipe for the base image is public on GitHub . If the project ever stops, the last version stays functional, and anyone can pick up where we left off.
Installing the system
If you’ve ever installed Linux, you know this part: you get to a partitioning screen that asks what format each partition should have, how big the boot partition should be, where to mount /home. Not to mention swap. A regular user has no way of knowing the answer, so they guess. And sometimes they guess wrong.
The Windows installer doesn’t ask you any of that. It shows you the disks, you pick where, you press Install. It should be like that on Linux too, so in Nyra the user only chooses which disk and how much space. That’s it.
The first screen has three options:
- Install next to Windows. The recommended one when Windows exists. You see the disk as a bar and split the space with a slider, with the minimum and the recommendation marked.
- Use the whole disk. It erases everything on the disk, but clearly shows you its name and what’s on it (“Samsung 1 TB disk · Windows, 3 partitions · everything will be erased”) and asks for confirmation.
- Choose yourself. The list of disks and free space, exactly like in Windows. You pick a disk or some free space, press “Install here” and you’re done.
Everything an experienced person would have to decide, Nyra decides by itself: the boot partition, the system partition, disk encryption, alignment, swap. There are no expert options in the regular installer. Anyone who needs a special layout uses the Developer edition.
A few small things that matter:
- The system disk is chosen automatically, the fastest one (NVMe before SSD, SSD before HDD), with the reason written out.
- The rest of the space stays yours. After installing, Nyra offers to use it as space for files or as a games disk, in one click. Disks with data, including the ones from Windows, aren’t touched.
- You’re asked for your name while the files are copying. Instead of staring at a progress bar, it gets to know you: you type your name, pick a color, and the computer’s name is generated from it automatically (nobody needs to know what a hostname is).
- Before it writes anything, it tells you what will happen, in plain words: “Windows will have 380 GB. Nyra will use 128 GB. Your files in Windows stay untouched.” No partition is erased without you confirming it by name.
Dual boot
Most people don’t jump straight to Linux. They want to try it, but keep Windows around in case something doesn’t work. Except that dual boot is exactly where things break.
It’s happened to me, and to my dad: after a big Windows update, Linux simply disappears. Windows puts itself first in the boot order, sometimes overwrites the boot files, and if you start Windows through the Linux bootloader, you find out it’s asking for your BitLocker key. A regular user thinks they’ve lost their system.
Here’s how we solve it in Nyra:
- A separate boot partition. The Windows partition is shrunk safely, and if something goes wrong, Windows stays untouched. Nyra makes its own boot partition, so it no longer touches anything of Windows'.
- Preparation before installing. A small app for Windows, “Move to Nyra”, saves the BitLocker key (and won’t let you continue until you’ve saved it), turns off Fast Startup, which breaks the NTFS partition, and prepares the space.
- The problem is solved from the Windows side too. A service that only runs in Nyra doesn’t help at all if Nyra doesn’t even get to boot. So we put a small task on Windows (“Nyra for Windows”) that runs for a fraction of a second at startup and after every Windows Update, and puts the boot order back. It’s not a process that stays running all the time, and the code is public.
- BitLocker no longer asks for the key. Windows is started directly by the firmware when you press “Restart in Windows”, so to it, it’s a normal boot.
- The boot menu is always visible, with Nyra and Windows, and your computer’s fallback key (F12, for example) is written out in advance, on the final screen of the installation.
After a big update, Windows finishes its update, and Nyra takes its place back by itself. Nothing to repair.
After a few weeks, if you rarely use Windows, Settings asks if you want to take its space. For me, not forcing you to choose all at once is part of what a properly done move means.
Where does AI come in?
A project like Nyra is huge: a lot of work, a lot of capable people, things that are hard to get at the start. So I work with Claude. It writes code and does research, I decide what gets done and what ships, and everything goes through tests before it reaches anyone. This way I can move much faster than I could alone.
In the system, though, there is no AI. I don’t think it’s a healthy path to put it in the OS for everyone. If you want an assistant, you install it yourself, like any other app.
And one more question: a lot of money is invested in Linux, in various organizations, and yet we still don’t have a truly friendly distribution for the regular person. Maybe the problem isn’t a lack of money, but the fact that nobody put the user at the center.
If you want to follow the project, you’ll find it at nyraos.com , and the recipe for the base image is public on GitHub .