The Linux ecosystem is vast and diverse, offering a multitude of distributions to suit every need and preference. With hundreds of distros to choose from, it’s a pity that most are rarely mentioned while the popular ones are constantly being regurgitated.
This thread aims to celebrate this diversity and shine a light on smaller projects with passionate developers. I invite you to pitch your favorite underappreciated distro and share your experiences with those lesser-known Linux distributions that deserve more attention.
While there are no strict rules or banlists, I encourage you to focus on truly niche or exotic distributions rather than the more commonly discussed ones. Consider touching upon what makes your chosen distro unique:
- What features or philosophies set it apart?
- Why do you favor it over other distros, including the popular ones? (Beyond “It just works.”)
- In what situations would you recommend it to others?
Whether it’s a specialized distro for a particular use case or a general-purpose OS with a unique twist, let’s explore the road less traveled in the Linux landscape. Your insights could introduce fellow enthusiasts to their next favorite distribution!
Dietpi for me. It is meant for sbc’s, but it can (also) be installed on x86 pcs. And its focus is on minimalism – as much as possible.
I love dietpi. The entire software install is a huge 1000 line bash script. If that sounds horrific, it’s genuinely well structured and readable
It does sound horrific, but mostly because it would be poorly executed by many devs.
Well, and the seeming trend towards install commands that look like curl $file.sh | sh
But if they’re not actively encouraging that, I see no issue with a well maintained install tool, created from well maintained toolsets that work on essentially any platform.
Never heard of sh, I use bash and I call it as /usr/bin/bash (for security).
CyclopOS I haven’t use it but apparently it has its own Remote Desktop app on play store
That app just looks like reskinned KDE Connect.
Alpine. The Linux, not GNU/Linux joke aside, Alpine’s kinda great. Light, fast, stable, great package manager. I’ve daily driven it on both a server and as my main distro and it’s pretty nice for both… Unless you’re on Nvidia.
Huh, I’d never actually considered that Alpine Linux existed as something other than a base for docker containers.
My first intro to it was with postmarketOS, and I have to say it felt super light and stable
Want there a post I saw just the other day about Nvidia starting to make open source releases with one of the upcoming driver updates? I just saw it yesterday and didn’t even think I checked it out yet but it’s somewhere here on my “look at better later” lists here.
It would be fine then if that was true.
Just the kernel module, which still interacts with the proprietary driver.
I think nixos is still niche, but seems to be gaining momentum. It has some unique features:
- Every package has its own dependencies, so you can install a 7 year old firefox alongside the latest, and have no interference.
- Packages with dependencies in common still share them (for space savings).
- Abandons the HFS, but can still fake it for apps that need it.
- Can make dev environments that are exactly reproducible across machines, and only exist within a specific shell session. So you can have a project that relies on an out of date version of a compiler, and another that uses the latest, and run both at the same time.
- Make your own packages that other people can install using a git repo address.
- The package language can also describe a machine’s configuration; systemd services, default packages, user accounts, etc.
- You can build and remotely deploy a machine config in one line.
- You can cross compile a machine config for another cpu architecture, like ARM.
- OS upgrades are atomic, and reversible. If it doesn’t work out, you can go back to the previous config.
- No reason to ever reinstall. Recently upgraded a machine that had sat in a closet for 5 years to the newest release. Flawless upgrade.
- Nixos boasts more packages than any other distro, over 100,000.
There are certainly downsides - poor docs, confusing core language. Instructions for installing something on say debian will not work on nixos. I do think this style of package management is the future, if perhaps not this specific implementation. It can be a pain but its also super solid.
Obligatory GNU Guix mention
Once the Prescheme project is revived, Guix will be even more faster, with the option to manage memory manually, wherever required.
It says on the webpage it has received a grant from NLnet, has it died since ?
It was announced a few months ago, so we’ll have to wait and see. If the maintain is open to mentorship, I’m jobless anyway, so I’d love to contribute.
I use NixOS on my workstations, and I’m slowly migrating many of my server VMs over to it.
NixOS w/flakes + home-manager + impermanence on zfs + disko w/ nixos-anywhere is amazing and gives an insane amount of declarative control over your system.
That said, the current state of the leadership gives me pause to recommend it to anyone, and I do have a few devil’s advocate responses to some of what you said:
Every package has its own dependencies, so you can install a 7 year old firefox alongside the latest, and have no interference.
Unless the dependency is Qt, then it better all be the same version.
Abandons the HFS, but can still fake it for apps that need it.
Using ldd and nix-alien to patch in dynamic libraries still sucks, and often doesn’t work without a lot of extra effort. If what I want isn’t in nixpkgs, and I can’t get nix-alien to work on the first try, I just end up not using whatever I want trying to run.
I hear you, its great for most cases, but when a package isn’t available or downloads binaries that depend on hfs it sucks. I’ve been going through hell with android dev lately and am currently doing my compiles on debian, lol.
Is Alpine Linux obscure? Well, using it as a desktop is obscure, I guess. The decision to use musl libc is the main limiting factor for desktop usage, but thanks to the existence of runtime package managers like flatpak and/or static linking, you can run basically anything that requires glibc on Alpine these days (at the expense of extra disk usage for glibc libs).
If you don’t know much about Alpine, it is an extremely lightweight Linux distro designed primarily for containers and virtualization, that ships with busybox and musl libc. It’s basically the closest you can get to GNU/Linux without the GNU. The main appeal to me is the simplicity of the tooling and installation, it’s the only Linux distribution I’ve used that gives me a similar vibe to OpenBSD. The defaults are almost perfect, but the first thing I would do when installing it is install the
docs
metapackage (otherwise you have no manpages), and optionally replace busybox with coreutils and friends (personally can’t stand how non-posix compliant busybox is). I’d also replace the default busyboxash
shell with a nice kornlike such asoksh
, a clone of the OpenBSD shell.I had PostmarkedOS, which is Alpine with some extra phone stuff
We need more arm packages…
Rhino Linux! A rolling release Ubuntu distribution. It uses the Ubuntu devel repos + pacstall.
TAILS for security
I’m not sure if it’s niche but openSUSE Tumbleweed isn’t as popular as it deserves to be. If you are looking for more niche, back in my distro hopping days I enjoyed Kaos and Solus
More niche? Opensuse Kalpa.
I started running it and their are some pains like figuring out which layer to install tablet driver software, undervolting software, and kde connect. Seam flatpak still sucks dick and the tray icon for it doesn’t work at all and it needs a ton of modifications to get things to where the native steam runtime just works, but still a fun experiment.
I like TailsOS, which is an amnesiac system that runs entirely in RAM and boots from a USB hard drive. The goal for the operating system is to be a safe operating system for people who are in compromising situations - from international reporters to survivors of domestic abuse, it is a way to highly reduce your ability to be tracked.
The downsides of amnesiac systems are obvious - without enabling the setting for permanent storage, effectively everything you do on the OS is lost every time. And if you do enable persistent memory, well, that’s not exactly entirely safe if you are caught out.
What I like the OS for though is as someone who is not compromised or in a situation where I need these privacies (despite appreciating them), my usage of it makes it safer for others who are using it (since internet is through Tor), and I feel more comfortable using computers in the wild when needed, since I’m not logging in on the public operating system that will be used by everybody else.
Many people give these projects flack or diminish their values as a “daily driver”, but I think often times forget the important aspects of them. They may not be a daily driver for you or I by nature of our needs, but they are certainly important daily drivers for others. In addition to that, supporting a project that helps people in compromised situations and becoming another node to bounce off of (again, Tor, not inherent to the usage of this OS) is a nice additional benefit.
Tl;DR amnesiac operating systems because they’re simple, straightforward, and make you feel more like whitehat hackerman when you’ve done nothing at all.
hannah montana, nuff said!
Not niche, but surely exotic: NixOS, a distribution that is configured via a purely functional language. There is no such thing as installing or uninstalling packages, you add or remove things from your configuration and then simply apply that configuration.
I really wanted to like NixOS (and I do, theoretically), but I couldn’t dedicate more than 5 full days over Christmas to learn how to get to a working development system.
May I ask what the issue actually was? Was it about “working system” or about “working development system”?
I don’t recall needing more than two days for getting a system up and running for the first time, and in fact it worked so well that I switched all my machines to it by now; granted, I have changed a lot about the configuration ever since and there seem to be a lot of paths to take in the beginning and it’s not always clear which one to take. But getting a working system, even one suited for development (personally, I’d recommend a nix development shell for that), shouldn’t really take that long.
It’s very good for servers. I wouldn’t use it on desktop.
Using it on all my machines (desktop and notebooks), can’t really complain – but then again, couldn’t really complain about Arch either
I think it could be good for something like an office, where it might be beneficial to have everyone on an identical setup that’s immutable so they can’t mess with it, and can (presumably) be duplicated by just copying a config file.
I assume the con would be that if something breaks in an update, it probably breaks for everyone. But by the same token, the solution should fix it for everyone too.
I couldn’t even get the installer to work. Tried a couple times but it just wouldn’t install so I gave up on it - still want to try it though
You can manually install it
Devuan - it’s like debian, but without systemd.
Void is my favourite distro, although I haven’t used it for a while. Extremely fast package manager, rolling release but not bleeding edge, super simple, very fun to tinker with (more than Arch imo). I stopped using it because I wanted something more popular for easier troubleshooting. But if I ever get a secondary PC/laptop I’ll probably start using it again.
take a look at Alpine Linux – Alpine, Void, and Gentoo all grew out of a similar “Linux plus BSD” attitude – Alpine’s package manager is as fast or faster than Void’s – Alpine is pretty under-represented (but not absent) on the desktop side of things while being rather over-represented in the container, VM, server side of things (meaning the small community tends to be rather admin heavy)
Oh I know about alpine, sadly it didn’t “click” the same way void did and felt more like a distro to use in embedded systems or similar space constrained situations. Gentoo on the other hand I like, but the initial setup + waiting for stuff to compile put me off of it. Maybe I’ll try it again sometime with all precompiled packages.
If that is what you are looking for, try Chimera Linux. It was created by a Void maintainer.
I’m annoyed by these Gnome centered distros. If I had to choose a single DE for a distro, I 'd choose a flexible one that can run on potatoes, such as Xfce. I suppose Xfce as default is a part of the MX linux popularity.
Underrepresented at best, at worst it’s arguably too easy to forget that Alpine is more than just container images.
Not sure how to solve that problem, it’s my go to for rolling an image but wouldn’t normally make the shortlist for standalone machines. In a prod env, that’s basically Deb, RHEL derivatives, etc. In a personal env for me, Arch derivs tend to win out on non-critical services if only because I invariably learn something useful that I wouldn’t want to learn in prod.
Guix - It’s basically an abstraction over software compilation and distribution. It uses guile lisp language as glue to bind it all together. (Full programming language to configure with)
The beauty arises if you want to get a minimal os running with a single application and package it either as a full iso or a docker container you can. Or if you need to get an OS to run as your router.
It’s also highly encourages free software to the point, that proprietary software actually feels like huge downgrade to include. (Compilation from source is always available)
I’ve been using this only for 11 months. I’ve barely scratched the surface on what is possible. So I’m pretty sure I’m not making it justice on what a gem it is. For example: Only recently I started to use programs in an immutable way.
The only thing I don’t like is that the packages are outdated. Node is really lagging behind.
Since there are not many developers there are some build systems that are more prioritized than others. If you come from emacs side of things, it’s great. Rust is around 4 versions older. And the single developer recently burned out. The package manager is a lot like nixos, so every package requires work to introduce to the system.
In NixOS there’s a bot that automatically bumps versions
Thanks for the info, although versioning afaik not the thing that keeps it behind. There are tools to import the necessary packages with ‘guix import crate’. It automatically selects the necessary packages.
Difficulties arise when Cargo.toml for example uses git as source. Then you have to pull and write specifications for not a standard package. The build system is isolated and cannot download anything off the internet.
So what nix does is it hashes the inputs, so git still works even immutably if the hash matches
Does nix require the exact commit be written out for the package, or does it generate a hash during the build taking the newest git commit?
You need to write the hash in the package, so it requires the exact commit
The NixOS ecosystem while maybe sometimes both chaotic and heavily centralized just seems miles ahead of what Guix System has to offer unfortunately; nix is a weird language (I’m not qualified to rate it but people have called it a bad DSL), but it does the job, and there were some factors that ruled out Guix System for me. Secure Boot support was one of them, which NixOS doesn’t support “natively”, but there is Lanzaboote. For better or for worse this kind of forced me to look into flakes very early.
The guix manual is pretty well explained. Now i’m learning Guile (Scheme’s dialog) and learning to configure both guix and guix system.
The fact of being able to revert system and home environment software installation and configuration without breaking anything, is too good to be true.
It’s also very cool to define packages either as compiled software or source packages to compile.