There are many Distros out there, but what they all do is make useful and modern systems.
What are your not well known hacks/tricks to make the Linux Desktop experience WAY better and modern?
Here are mine
Install a bigger Distro
I dont recommend Ubuntu anymore, as they are simply doing things that are not traditional anymore. Unless they open source their snap store, and allow third party repos, its simply not a free Linux Distro.
But its true that sticking to something "Upstream" helps a lot with stable Experience and Support.
I recommend Fedora, and they put a lot of focus on the new, modern Atomic Variants.
You may also stick to Opensuse, Arch or even Debian. Debian will get boring and stay partly broken. Opensuse struggles with adaption sometimes. Arch is Arch...
Get Flatpak & Flathub
Having an "out of the box" system helps extremely with updates, package conflicts and all. With Flatpak, you have access to nearly all Graphical Linux Applications (that are widely used and maintained).
Its not sufficient for everything, but 70% or so of the users could totally have a 90% Flatpak/10% native packages system.
This reduces the amount of entropy drastically. Entropy means chaos, the randomness that your package manager needs to fight. Every install and removal of a package makes your system diverge from the tested version upstream, and developers will often say "We cant reproduce this issue".
Also at the same time, Flatpaks remove the need of seperate packaging, they have official binaries (--subsection=verified). Thus the versions are often newer.
Also, Flatpaks are open, and have easy containerization and permission management.
Containerize workloads
Example: I have a Laptop that does Private, Secure and Work things.
Best would be to have isolated containers or even Virtual Machines, if you really dont want other apps spying on something you dont like. This is luckily nearly nonexistent, even though X11 and the lack of SELinux make common Distros not actually secure.
So if you can use VMs with graphical acceleration and have enough RAM, install a very light Desktop on there or even a Window Manager (Fedora Sway spin?).
One step below: you can use isolated containers. Toolbox and Distrobox are not suited for that out of the box, but there are ways to isolate its directories and also remove filesystem permissions completely.
The last but still useful step is to have Toolbox/Distrobox Containers. It doesnt isolate your filesystem at all, as its primary use case is to have app support from every Linux Distro. So you can use Ubuntu PPA, Arch AUR, Fedora COPR, Opensuse and many more Distro-specific repos.
While thats mostly not needed, you can group your projects here, most common use case is a dev environment with loads of other dependencies, that you dont want to put on your main system.
Stick to secure defaults
Example: Fedora and others are nearly unique at using SELinux, which is naturally on Android.
Also, Distros being very stable with Wayland, Pipewire and other modern standards, are a good indication. Switching from Kubuntu to Fedora-KDE for example was a great step.
Its not best to self hack all your security features. Even though MAC address randomization or secure DNS settings are not default poorly.
Things like hardened kernel, hardened malloc, measured boot, hash authentification (Heads BIOS for example) are not common, which is pretty bad.
Try OSTree Distros
There are now great talks about different versions of Immutability.
Linux User Space: Happy Rebasing to everyone!
Fedora Project Podcast: Silverblue and immutable Desktops
To keep it short: Do you know how your system will look like after using it regularily, updating, installing, uninstalling, for many upgrades?
You can be more sure by following the containerization standards, but still the system can not be resetted, and you cant simply display the changes you did to your system.
With OSTree Distros you can reset, rebase to another system (completely different or simply with some other packages), display every change you did to it, revert the changes to your last boot, keep any image as a backup before experimenting... And all updates and installs are atomic! If something fails, you will have no update, no chance to break at all, even when using rolling git releases or something.
Automate
Automate updates, this is so important and poorly not standard. This doesnt mean having to click a button on a store always. I am working on some better system, detecting networks and battery state.
Automate backups of important directories to an external Drive.
For example using Syncthing. Why need a server when you have all your data on two devices that you own. The chance of both breaking is not very high.
Or use Nextcloud, maybe combine it with Cryptomator if you dont trust your Server.
Automate command line tasks in your shell config.
Automate app startups if they take long.
Automate your passwords by using a password manager.
Automate annoying cookie banner removal using UBlock Origin.
Automate entering "sort by price" or "only in 100km range" etc in ebay, or anything else, using "Add Custom Search Engine" and a custom search string.
That's something that beginners do to entertain themselves. My desktop image has been rolling forward since 2013 (when I switched to 64 bit userspace) and it has survived through several generations of hardware.
My previous record was on the server — Debian from Sarge to Wheezy (2006 to 2017). In retrospect I should have stuck to it, but wanted to try Ubuntu Server... I've only returned to Debian this year.
But on desktop I've never made it longer than 5 years on the same distro. I guess things change much more on the desktop and maybe it's not a reasonable goal to stick with the same distro for too long? I've been on Manjaro now for 3 years, we'll see how that goes.
Haha if you mean by entertain having Black screens and stuff? Idk, I broke every KDE System before that wasnt Debian based. And I like new features. So Fedora. The Kinoite is probably not that important, if you dont install random packages. But just because it works for many people, it may not be the easiest way, with least troubles to save when it breaks.
I recently switched to Silverblue, somewhat accidentally, as I did not thought immutable distros a mature enough, that was an expirement to dig it myself. Guess what? It is really awesome, I do not watch back to common distros now. I also believe Silverblue is way easier and better for Linux novices, than Mint, which is indeed also good and user-friendly, but future of linux seems to be immutability and flatpaks. There is a KDE variant as well. OpenSUSE has Micro OS with another approach to immutability and Vanilla OS is coming soon with yet one more different approach. I guess there are more allready and there will be more and more.
Opensuse microOS (now Kalpa or Aeon, doing the same stupid mistake as Fedora) and VanillaOS are pretty similar. They simply use backups and a standard package manager afaik. No OSTree no reason, for me.
Yes I agree, Fedora Mint with Flathub and everthing out of the box would be perfect. Or just KDE, I think Fedora KDE is best. Its awesome on Wayland and with Plasma 6 will get awesome too.
How are they similar? Aeon rely on btrfs to work, that is simple and good approach, but less user-friendly? I did not tried it, after comparing Aeon and Silverblue I was confident enough Aeon is not for me. And Vanilla has some complex A/B partitions swapping, like Android does, not sure how it will work, but documentation is really confusing.
I do really like the portals system included in flatpak, plus OCI just has wider support (and tooling) then nix and guix atm. They are both, in my eyes, the next part of the dream of a fully defined system though, so I expect the tooling and support to keep growing!
I mean that they will simply not ship nonstable updates anymore, which makes the system outdated after a year or so. It may work for some (LMDE with only X11 is not secure at all) but software is not ready yet, so the current version is okay now, but soon not anymore.
There are some useful things in there, but it can get complicated.
If i could get to Linux I wouldn't need a lot of this stuff, or at least I wouldn't need to think about it.
Tho I can't get to it yet (and no I'm not willing to do a windows vm), because of 2 things :
I'm playing warframe, and sometimes I open alecafrale in the background with the overlays to know what reward to pick. And it seems they overwolf and the app is not compatible with Linux, at least from what I could read.
I am using gpu virtualisation to share my pc occasionally with my brother. And on Linux, there is an alternative with LIBVF.IO. but sadly, not compatible with newer amd gpus, or at least from the tutorial and arch wiki, pretty complicated to make it run, if even possible.
When these 2 things would be fixed, maybe I'll consider it, if i don't have to switch to windows every 2 days...
Debian testing or Debian testing + sid (unstable), with the MATE desktop (pretty & lightweight one, with a super simple interface); also, add the deb-multimedia repository...
You'll have a rock-solid distro, with super new packages. I don't need flatpak at all; basically, all the apps are from the debian/deb-multimedia repositories...
Super lightweight (low memory n CPU power needed); awesome for gaming (steam + proton glorious-eggroll; you can also use Lutris) & multimedia & super secure for a work-environment too!
I agree, I am using Nobara (which is basically Fedora but with gaming enhancements) and I wanted to switch to debian testing since since Red hat decided to be against free software.
So with debian testing I figured I could have the same experience as with Fedora
I’ve honestly been using Linux on and off for nearly 25 years, and daily the past 6 or so…and somehow just found out about this, and now my life is changed.
How good is nix system config to OCI container? I really need to get my hands on it more, because that seems like a good experience to me. Maybe even use it as a build system for OCI/k8s config map generator/k8s manifest builder so I can define a system and build out the pieces needed to deploy on distributed system if need be.
The packages come from nixpkgs, which is a huge GitHub repo with instructions on how to build packages. Nix, the package manager, interprets the instructions and builds the packages reproducibly.
Because it's a github repo, anyone can submit new packages, but the changes have to be approved by a trusted person