Why Linux in the first place?
I choose Linux over Windows and MacOS because:
- It is fast, lightweight.
- It is FOSS.
- It's the most privacy desktop OS.
- And most importantly it's customizability is endless.
Base Distro
My dotfiles is quite flexible, it can be easily adapted to almost any distro. But I still have preferences (in order): Arch-based > Ubuntu-based > Ubuntu/Debian-based > other.
Fedora seems to be more stable and up-to-date than Ubuntu, but it doesn't have packages that aren't strictly open source, a few can still be installed but it's annoying.
Arch has the most packages if including the AUR, which can sometimes be quite janky. Arch has a reputation for being easier to break than other distros, but I find all distros to break equally easy...
NixOS is very competitive to Arch in terms of package quantity and quality. But I find Nix to be is quite janky after ricing it!
Desktop Environment
After using window manager for a while, I decided to go back to DE (detailed explanation here) because I wanted to find an easy and stable experience that "it just works".
Some DEs like LXDE and XFCE are very light, too light in fact, it is not suitable for me because it is not as customizable as I want.
DEs like Pantheon and Deepin have a pretty good out-of-the-box experience, but it's quite limited when it come to customization. I recommend this DE if you love it at first sight and have no need for customization.
KDE Plasma is easy to customize out-of-the-box, from the simplest things to the most advanced. Plasma is easy to configure, suitable for Linux newbies who want to rice. KDE apps are also feature-rich (e.g: Dolphin) but its interface is a bit cramped.
Gnome design is very harmonious, consisted, minimalistic and elegant. Switching from Windows or other DE to Gnome initially feeling strange, but after a while you will understand the beauty of the design and a great workflow that Gnome brings to you. GNOME is actually no less than KDE but actually better when it comes to customization: Although GNOME is not officially supported, you can install extensions. Gnome extensions are very diverse and extensive, it integrates well into DE. Gnome has extensions like Unite while KDE can hardly config to do the same as convenience as Gnome.
Other requirements
- Bloat-free: Do not preinstall software like games, maps, image/video editors or even web browsers. Don't put a bunch of software that some people might or might not like, let the users choose the software they want themselves. The bloatware may be pre-installed in the live-image but leave it as an unchecked option during the installation process.
- DE mustn't have any theming/branding presented, just the pure default theme DE.
- The distro should preinstalled:
- Flatpak.
- A CJK font.
- Necessary video codex and firmware.
- Archive format like 7-Zip, Rar.
- CLI tools: Git and Curl.
- Vietnamese input method like Unikey or better.
- Tools to tweaks the DE:
- If it's Gnome then it should have Gnome Tweaks and
gnome-browser-connector
or Extension Manager. - If KDE then it's Kvantum.
- If it's Gnome then it should have Gnome Tweaks and
My ideal distro
Vanilla OS is a immutable distro that allows users to install applications from any Linux distro from Arch, Fedora to NixOS. It checks a lot on the list but when I tried it early 2023, it didn't seem to be ready yet... Vanilla was very janky, it freezes when I wake it up after suspend...
Blend OS is similar to vanilla but It's Arch-based, it's a bit bloater than Vanilla but also more stable. It also allows users to choose other DE than Gnome and Users can easily access CLI tools inside a container by write command-name.container-name
in the terminal.
Bazzite has all the goods of Blend OS, but it is Fedora Atomic Desktop, and it is much more stable because it is based on Fedora. At the moment, I find Bazzite to be the closest thing to "the representative distro" because it meets all the criteria I set, except for a few:
- It's still a bit bloat, Firefox is pre-installed, but it is Flatpak and can be easily removed.
- It does not have a quality input method for Vietnamese.