Hey fellow Linux enthusiasts! I’m curious to know if any of you use a less popular, obscure or exotic Linux distribution. What motivated you to choose that distribution over the more mainstream ones? I’d love to hear about your experiences and any unique features or benefits that drew you to your chosen distribution.
I use Ubuntu, which is apparently the least popular distro around.
I use Manjaro and based on the downvotes I received when mentioning it around here, I can assure that you are excused and you can give me this crown.
Lol same. When I installed Manjaro it was a popular choice, but in the past couple years sentiment has really turned against it. I haven’t experienced any of the problems people claim it has, so I can’t be arsed to distro hop again.
Exactly where I’m at. I’ve had no issues with it, I have my home computer all set up and customized over the last 3 years, I’m not doing that again just to say that I’m on a different distro unless something goes very wrong.
I understand the criticisms of manjaro, and don’t recommend it to people, but it seems to be the only distro to work with my hardware/software without issue. So for now, here I am.
Manjaro is great. I keep on coming back to it time to time.
Fantastic distro.
None of the criticisms people have against it affect me.
I use Ubuntu, it’s the default for ROS. I tried debian but the instructions didn’t work instantly so I just as quickly gave up and went back to Ubuntu since I was busy. Lol.
In fairness, I’ve been using it since 2004. So I was using a less popular linux. It’s not my fault the world has changed. So I think it counts and is completely relevant to the spirit of the question. /s
deleted by creator
Not OP, but as someone using Ubuntu LTS releases on several systems, I can answer my reason: Having the latest & greatest release of all software available is neat, but sometimes the stability of knowing “nothing on my system changes in any significant way until I ask it to upgrade to the next LTS” is just more valuable.
My primary example is my work laptop: I use a fairly fixed set of tools and for the few places where I need up-to-date ones I can install them manually (they are often proprietary and/or not-quite established tools that aren’t available in most distros anyway).
A similar situation exists on my primary homelab server: it’s running Debian because all the “services” are running in docker containers anyway, so the primary job of the OS is to do its job and stay out of my way. Upgrading various system components at essentially random times runs counter to that goal.
Yeah, I use Ubuntu LTS on my server because updates make me nervous. I can’t just update it all willy-nilly. If something goes wrong during an update, I must stop what I’m doing and get it up ASAP.
A few months ago I accidentally deleted grub the morning before I went to an all day concert, and I had lots of unhappy people that were using services that I host. Luckily that was an easy fix.
My laptop, though? I use Opensuse Tumbleweed. I’m fine with the rolling release for my laptop. Just not my server.
Also not OP, but I learned about the pain of Nvidia drivers the hard way. No way in hell am I letting my system auto update on a work day
I switched to NixOS almost two years ago, and it’s really nice being able to define my whole system in a single set of config files. If my hard drive dies or I switch computers, I can just reinstall NixOS using my config files and everything will be set up the exact same way. It’s extremely solid and I don’t need to baby my system because if it breaks I can just reinstall everything back to normal.
And I can share parts of the config between devices, so when I change my Neovim or VSCodium configs using Home-Manager it gets synced to my other devices, as well as being saved as part of my NixOS config files.
+1 for Nix. In my case I switched from Opensuse Tumbleweed to NixOS about a year ago. Before NixOS I had spent years distro-hopping fairly regularly just in an effort to find something that was atleast moderately simple to setup/troubleshoot, (I’m no developer, and my Linux technical expertise really only covers the basics) and that would be resilient to the careless tinkering I tended to do in general.
Using NixOS on a daily basis has been a complete pleasure. After experiencing the sane-ness of a declarative system I’ll never go back. As of late, NixOS seems to have been growing steadily in popularity, although most of its userbase are experienced developers, businesses, and almost no Linux beginners. This is understandable given its current state and reputation as an advanced distro, but I am of the opinion that–if a GUI software store for nixpkgs and a GUI program for editing the system’s configuration options were developed–NixOS could quickly become one of the most desktop user-friendly distros available given its underlying immutability and unrivalled stability in general.
I don’t understand how tinkering proofness achieved through learning “Nix syntax” is any better for the average joe compared to a the default settings of tumbleweed including snapper.
NixOS has snapshots built in as well but I’ve never had to actually use them to recover anything because Nix packages are built in isolation from one another, and their dependencies are declared, so packages can’t break each other when installing or upgrading them.
NixOS is also an immutable distro, which prevents accidental bad changes to the system. Tumbleweed is very friendly and stable compared to many other distros out there, but it’s still vulnerable to accidental breakage in the same ways most other distros are. I think the cherry on top for the average joe using Nix compared to OpenSUSE, however, is just the fact that the Nixpkgs repository absolutely dwarfs OpenSUSE’s.
Luckily, if you prefer to stick with whatever distro you’re running already, but want the power of the Nix package manager, you can get the best of both worlds and install just Nix (without NixOS) on any distro.
I’ve been exploring with Nix lately but mainly just using nix-shell on my server that runs Debian. But I like the idea of what you laid out. I started reading through the NixOS docs the other day and it made it a fair way through. But I was kind of just looking for some like boilerplate config files that would set up a system in the way you describe. Anything you could point me to?
When you install NixOS it asks like what DE you want and what timezone and then generates a basic config file for those settings and your partition layout. It does have a GUI installer now that does that but you can also run
nixos-generate-config
and it’ll generate a basic config file. There’s also a bunch of people’s configs online, here’s mine.
Im still toying with the idea of nix (using Fedora rn) but I don’t code at all rn and don’t need to rebuild my system all the time so I think it’s pointless
voidlinux on my laptop (from Fedora) - why? I wanted to see what a systemd-less distro was like nowadays. I have used Linux since 1992 and Unix since 1984 so I’m used to SysVinit. What I find with voidlinux is a system I can understand easily - not that I struggle with systemd, but I felt there was just so much happening under the hood, just too clever by half. If I wanted MacOS, I’d have bought an Apple.
The packaging system on voidlinux is sooooo much faster than fedora. The really weird thing is that my battery life almost doubled. I can’t explain it except to say that the laptop is much calmer than under fedora, which seems to run the fan constantly. Same workload, CPU governers, powertop tweaks etc etc - but battery life almost doubled.
The one downside is a smaller array of packages in the repositories. But since I’m happy installing from source for those few corner cases, it’s no biggie.
I’ve left fedora on my media/file server for now as I still do some fedora packaging (mainly for sway related packages).
I used Void with xfce for a year and I feel like it was the best “new” distro I’ve ever had my hands on. It was clean, efficient and I loved initd and xbps.
i distrohopped a lot until i landed on Void, then i just stayed because it does everything i need, it’s fast, understandable, easily tweakable, and rock solid
Void is just soo good.
- Runit is super simple and makes sense to me. - I get to build the distro the way I want it.
- I’ve learned a ton about the inner workings of Linux using Void for the last 3 years.
- You’re right about packages, but I’ve not had issues as I’ve found flatpacks or appimages for anything not offered.
- Xbps has spoiled me. I HATE using almost every other package manager. They’re all so slow and cumbersome.
I LOVE void, while I did need to do a bit more research at times, I felt like it taught me more about how an OS functions. The first time I made my own unit script was also super satisfying.
Very well written. Makes me wanna try out void again (although I am very fine with debian)
Void and Alpine are great for their simplicity and speed, I’m using those two exclusively outside of work.
Void here too. I was mostly Solaris & OpenBSD for many years, Void is the first linux I’m happy to run on my main machines.
I realized I was going to be comfortable with Void when I saw in the docs that to config the network you just “put the commands in rc.local”. Ha ha. Yes, that’s how you’d do it in 7th Edition Unix! Back to the basics.
What made you go away from OpenBSD? Really curious, did you actually use it as a desktop system?
Yes, although the thing on my desk is just an x-term & media player, so “desktop system” doesn’t mean that much…
Mostly video performance (1080 vid stuttered badly, while it plays fine on the same machine under linux.) & compatability. (Not that I want to run a browser on my x-term, but it would be nice to have as a fallback option. Can’t install anything recent.) Oh, and extended attributes in the filesystem. I REALLY like being able to add name=val tags to a file. It’s immensely useful. That might be my favorite feature of linux? Funny.
Also, I was in the midst of switching from Solaris to Linux on my server, so it just seemed like a good idea to run the same OS on the desktop.
Sounds like some sort of weird bug under Fedora, given the huge difference.
I consider it too from Artix. I heard it has lots of (often broken) AUR packages in the repo?
I don’t know if openSUSE Tumbleweed counts as a less popular distro but it’s certainly underrated. I chose it with a roll of the dice and stayed because it’s bloody good.
Yeah btrfs and snapshots on TW is amazing. Also TW is rock solid even though it is a rolling distro.
I can vouch for openSUSE Tumbleweed, too. Just today btrfs saved another day.
My first Linux distro was SuSE 7.x, just because we had an installation box in the high school library. 8 CDs to install packages from etc. Funny stuff.
Then I played with Gentoo & Debian for a couple of years, but went back to openSuSE once I started my first real job. We had to use it because we needed a Red Hat compatible and enterprise ready Linux. And I am using openSuSE to this day if I have a choice. Everything works, if I quickly need something YaST can configure a lot of shit and is just super user-friendly.
But I recommend Leap for day-to-day work, Tumbleweed with its rolling updates keeps updating almost 24/7.
I use Slackware, which is so unpopular it doesn’t even show up in this thread, yet.
What made me choose it is the fact that it hardly ever changes, at all. It’s a bit weird to set up at first, but all knowledge gained about it will stay relevant for a very long time. Also, it is a real general purpose distro, so I can use it on my gaming PC, laptop and server.Debian would probably be a better choice when I just take practicability into account, but I like Slackware’s philosophy, and running a system that forces me to learn it inside out. Arch is too bleeding edge for me.
I would love to use Slackware as a daily driver, but no package management OOTB makes me feel I am not worthy of using it. I believe third-party tools exist, so maybe I will use it at some point, but perhaps I’d be better served with Void for now
In practice, Slackware package management after installation works like Arch’s AUR.
You install (or build) packages from a community-maintained repo and are officially supposed to do it manually and always read the build scripts and READMEs, but a helper with dependency resolution (slpkg) exists, works well and most people use it.What do you use? What are some problems you have with Slackware?
I use slackpkg+ which is an addon to the default package manager that allows you to install packages from community and third-party repositories.
And sbopkg which gives you a TUI frontend to install Slackbuilds (Slackware-specific build scripts for building from source).
Neither offer dependency resolution, which I don’t really need anyway.Now that I know how Slackware works and what its quirks are, I don’t really have any issues with it. But it’s pretty hard to figure that out when you’re coming from more modern distros. It throws curveballs at you, like not booting after a kernel upgrade if you forget to copy the new kernel to your EFI partition and recreate the initramfs.
Most online documentation is wildly out of date and googling is no help due to how few users there are.
It took a while till I figured out the README files that come preinstalled with the distro are actually the official, up-to-date documentation and very helpful, and also that the place where most users (including the maintainers and author of the distro) gather and answer questions is the linuxquestions.org forum.How do you install packages without appropriate dependency resolution?
I didn’t know about that. I should probably run it in a VM for a while before trying
You read the package’s .dep file, which lists dependencies, add those to your install queue in the right order and then install the queue.
It’s not as daunting as it sounds, since the default Slackware installation already includes most common dependencies.
The most dependencies I ever had to install for a package were 3. But if you need a lot of additional software with many dependencies, it’s best to do it just once for installing slpkg and then let that tool deal with it.Thanks. I’m probably going to install some software for IOT devices alongside the usual workstation stuff (vim, tmux, browsers, audio, git, htop, a WM with add-ons etc). I’ll take a look at
slpkg
.
Is Gentoo lacking enough popularity?
If so, I use it because it offers unrivalled flexibility, even compared to Arch, portage, which is an epic package manager, a dedicated security team, reasonably large community and developer base, source-based package distribution and fast package updates, which often outpace even arch.
I like it because -Ofast -flto go brrr
Does Gentoo count?
It’s not that unpopular. I chose it because it is very powerful. It really makes use of every Linux power there is. It makes solving problems yourself much easier, and customization is big.
Gentoo master race! :-D
I’ve been running crunchbang++ on an older laptop since they updated to the latest Debian release.
I love how simple and speedy it is and since it’s based on Debian 12 and GTK 4 I can still run all my software super easily.
It’s also become my go-to live distro.
#! Was my go to distro for a long time. I was really happy to hear that the #!++ distro was now trucking along.
NixOS for declarative system configuration.
Nix is definitely gaining popularity quick too
I still have no idea what it actually is and at this point I’m afraid to ask, cause the answers usually contain the words “declarative”, “atomic”, “Haskell” “build environment” and “/nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-118.0/”
It all began with Nix software build system and package manager; they needee a way to build, compile software in a reproducible way. That is, if it builds on my machine, it should build on yours too given some constraints. Then they build a whole package repository for such sofware or package definitions, Nixpkgs, that can be build or retrieved using Nix package manager. Nixpkgs grew to be a repository for enabling runnig an GNU Linux OS on it: NixOS. It is declarative in the sense you write what it should contain like packages and behaves like system services. For example, see https://git.sr.ht/~misterio/nix-config.
Atomic in the sense that when you want to change system’s configuration or state, everything should suceed in that update, otherwise fails; it is everything or nothing. This enables storing previous and current system revisions, so can rollback to previous state.
Nix plus things like flakes, nix shell, enables a build inviroment akin to containers, but much better, correct, and flexible.
Haskell is just an ecossytem Nixpkgs support.
Cool, thanks.
Is NixOS a general purpose distro, a specialized tool for developers, a toy for distro-hoppers or an unfinished proof-of-concept?
Can it be run like any other Linux desktop system apart from the package manager?
How do you install packages that aren’t in its repo?NixOS is a general purpose distro (I use it on my router, server and laptop, and plan to install it on my phone, it doesn’t get any more general purpose). To run packages that aren’t in its repo, you write a package yourself. Note that unlike on traditional Linux systems, there’s essentially no concept of “installing” packages. Packages are built and put into /nix/store, then you can optionally add them to your system packages or user packages and they will be symlinked to /run/current-system/sw or ~/.nix-profile, but there’s nothing preventing you from just using the package without adding it to system/user packages.
Basically all that. The unfinished part IMO is mostly for use in developer use cases, and that some ecosystems like JVM are not as well supported.
Can run yes, given that you have to spend some time learning Nix and NixOS specifics. I do that myself.
You either package the software if it is easy to do so—take a look a at nix-init which eases the process—or use Flatpack, containers, steam-run…
I like that, I’d describe the documentation as a POC. It fits.
May I ask what does .nix files do? I have joined unixporn community,and when I look into the dotfiles of some nix os user,their config are all written in nix rather than .conf or some other prevalent files. Should I learn nix if I want to use nix os? Or can I config my apps such as waybar in a way just like other systems (such as arch)?
Nix files are Nix [function] expressions to declare and set your system; there are many options you can set for example. You just need to learn a few chapters of https://nixcloud.io/tour/ and https://nixos.org/manual/nix/stable/language/, also modularization using imports.
For user/de configuration, you can either do the usual way or use home-manager.
You should have some understanding of the nix language to use it, but I wouldn’t worry too too much.
I would also start by installing nix and home-manager on top of whatever distro you already use. For some config, you need to specify things in nix, but for things in home-manager, for example, you can usually either use nix or point to a toml or conf or whatever file.
I prefer to come at it from an immediate utility level, and I think a good place to start with that is home-manager.
You can install nix and home-manager on any Linux distribution or MacOs. It lets you, in a single place, specify what packages you want, services you want to run at the user level, and what config files you want in your home directory. For a lot of things, home-manager has built-in config options, but you can also specify arbitrary config files.
Then, you can take this one file to a new computer, and with no other config, have everything set-up the way you like it.
NixOs allows you to do this for your whole system.
It also has a bunch of other benefits, which tie-in to the jargon you bring up. But if you want to check it out, I’d worry about that later.
NixOS uses a naming convention for packages that keeps them all separate from each other, that’s how you get
/nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-118.0/
./usr
isn’t used for packages and only contains/usr/bin/env
for compatibility, nothing else.The whole system is held together by nothing more than shell scripts, symlinks and environment variables, standard Unix stuff. Making it very easy to understand if you are already familiar with Linux.
“Declarative” means that you whole configuration happens in one Nix config file. You don’t edit files in
/etc/
directly, you write your settings in/etc/nixos/configuration.nix
and all the other files are generated from there. Same is true for package installation, you add your packages to a text file and rebuild.If that sounds a little cumbersome, that’s correct, but Nix has some very nice ways around that. Due to everything being nicely isolated from each other, you do not have to install software to use them, you can just run them directly, e.g.:
nix run nixpkgs#emacs
You can even run them directly from a Git repository if that repository contains a
flake.nix
file:nix run github:ggerganov/llama.cpp
All the dependencies will be downloaded and build in the background and garbage collected when they haven’t been used in a while. This makes it very easy to switch between versions, run older versions for testing and all that and you don’t have to worry about leaving garbage behind or accidentally breaking your distribution.
The downside of all this is that some proprietary third party software can be a problem, as they might expect files to be in
/usr
that aren’t there. NixOS has ways around that (BuildFHSEnv
), but it is quite a bit more involved than just running asetup.sh
and hoping for the best.The upside is that you can install the Nix package manager on your current distribution and play around with it. You don’t need to use the full NixOS to get started.
Step 1. Write down all the packages you want in a list, configure all of your system with predefined config options Step 2. Rebuild Step 3. Use packages
Step 4. Configure more settings and install more packages Step 5. Realise you broke everything Step 6. Boot previous version of config and continue with your life
Also makes configuring your system far simpler
Installing gnome is as simple as putting
services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true;
In your config file and then doing nixos-rebuild switch
I use Void Linux on my home servers and I really like it. Clean , small, and stable.
Fedora Silverblue
I use Fedora Silverblue, I don’t know if that (still) counts as “underground”-distro.
Reason I switched: I’ve been distrohopping/ desktophopping for the whole time I used Linux (~2-3 years) and always came back to Fedora. I really like it’s sane (for me) defaults.
Problem: I broke pretty much any system I installed after a few weeks.
Knowing enough to change everything, but doing exactly that without knowing exactly what I do and how to fix stuff is really bad.
Instead of fixing a problem, I just reinstalled. That took me just an hour everytime, but still is a bad practice, even when it’s quicker.Also, everytime I was happy with Gnome, KDE got a shiny new feature I just wanted to have, and I switched the Fedora spin, since switching DE on a used system feels really dirty and buggy.
The last time I broke my (Tumbleweed) install without actually doing anything I just said “Fuck it, even if I loose some freedom, I will now only use immutable systems from now on!”.
I decided for Fedora, and oh boy…
Actually, I didn’t loose much freedom or functionality at all!
(Only exception: no VPN app, I have to use the menu from Gnome; and somehow, Boxes doesn’t work atm, maybe that’s just a bug).
I’m now using it for 2 months and couldn’t be happier!!! Why?
- Atomic updates + super quick and easy rollback support (already saved my butt) by rebooting and selecting another image.
- Clear separation between “my” stuff and the OS, which is really intuitive.
- Feels clean.
- I can rebase anytime I want (switch to KDE, a WM, and so on) with one command and no residual data or bugs.
- Self maintaining with automatic updates in the background.
- Unlimited software: not an advantage of SB, but you have to use distrobox sometimes, and I would never discovered that tool without!
- AND, a project called uBlue . You can create or download custom images, like a SteamOS/ Nobara-clone, Vanilla with QOL-changes, almost all DEs (e.g. XFCE, which is unsupported by default), and so on.
I’m really in love with Silverblue, everybody should check it out!
Is it still necessary to reboot if you install/update/remove some system package?
Yes and no.
As the other commenter said, you can apply live if it has to be (but you absolutely shouldn’t).But, I never have to reboot anyway. When I install apps, I do that in containers (Toolbox, Distrobox, Flatpak) and they give me all functionality I need.
You basically only install drivers and absolutely essential stuff per OSTree and you only do that once.Updates get applied and installed in the background for me. There’s no prompt to reboot, they only get staged.
I shut down my PC every few days anyway, and when I boot, I boot into the new image.I don’t see that as a problem. Rebooting is only a matter of seconds on a NVME
I haven’t really used Tool/Distrobox so correct me if I’m wrong, but don’t they basically contain a sort of a lightweight copy of the OS (minus the kernel/and some core stuff? ), so wouldn’t you have to keep all your containers up-to-date as well, in addition to your host OS? I’m just wondering how much of a double-up/space waste there is going on with such a setup.
I’m no expert, so I can’t help you much.
The container downloaded in less than a minute in my case, and I have really really bad internet.
The containers are really minimalist (basically only a set of dependencies) and shouldn’t take much disk space.Heck, and even if they do, space is really cheap anyway.
They function sort of like how Flatpaks do. With Flatpaks, you also don’t download a whole OS, only dependencies.Maintainence wise, you’re right.
Normally, you would have to type the “distrobox-upgrade” command to update all containers.
In my case, since I use uBlue, this gets done automatically afaik.
Not strictly, no - there is an apply-live option now. Restarting is still a good idea though as with any distro.
I don’t know if I’d count it because I’d consider it part of Fedora, but +1 for Silverblue. I’ve been playing with it for 3 years and daily driving it for the past year - it’s been great seeing it improve during that time and feels like the future.
I use NixOS for very similar reasons. And also, because I like my full configuration in one place.
Yeah, I fully get why people like Nix.
I fully respect it when people want a “next-gen-Arch” with the DIY-aspect of building their own OS. At least, that’s my impression on it.
For me personally, it sounds like too much work. I’m not advanced enough and want something hassle free that “just works”.
But especially for professional developers (reproducibility) and Linux enthusiasts, it sounds like a dream!
As a fellow Silverblue user, I really wanted to like NixOS. I was surprised to discover it did not support declarative management of flatpak workflows, which pretty much eliminated it as an option for me. That, combined with its highly unconventional filesystem hierarchy, and its cumbersome configuration and project documentation was enough to send me back to Silverblue.
Don’t get me wrong, NixOS is very powerful and an excellent solution for some use cases; it just wasn’t right for mine.
I used to have Silverblue for my work laptop OS, I broke it quite fast, multiple times, got annoyed, switched to NixOS like on my home setup. I am the person that tinkers with everything, and NixOS just wont die. I need to install it only once per computer’s drive lifetime.
deleted by creator
I can’t speak for the OP, but I routinely copy/paste from my post history in order to save time.
deleted by creator
Void linux is also very nice for the same case
deleted by creator
Void Glibc is my second-favourite distro. Awesome choice.
I use UWUntu
Another for crunchbang++ a really good minimal Debian distro with no desktop environment, just Openbox window manager. Have been using since it picked up from the original crunchbang. Have built my own kinda desktop environment how I like it and I will never change.
OpenMandriva. It is the official successor from Mandrake/Mandriva and has a rolling release edition called ROME which has brand new software. It is independent too and does not belong to a corporation.
We are looking for developers, packagers, translators, supporters. If you are interested come and join our Matrix chat :)
Does it still use RPM packages?
DNF and RPM, yes. You can usw zypper too. There is also a znver1 Architecture Edition optimized for the Zen/Ryzen CPU architecture.