this post was submitted on 05 Aug 2024
428 points (93.7% liked)
Linux
48356 readers
424 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The thrilling thing about arch is you get to put together your own user land applications, especially things that could form your desktop environment, audio stuff, etc.
I agree it is not that complicated. If you want more thrill, here is what I recommend:
gentoo Linux
has the option to compile everything from source. This isn't just for bragging rights. This resolves a whole class of software breakages that can happen on other distros (especially when using old or less common applications).
NixOS
Takes it a step beyond gentoo and uses a functional, lazy approach in package management. Every package is fully reproducible, has a kind of isolated environment. Your entire setup is reproducible and declared with a single file.
---- below this line is torture. Not recommended
slackware
Idk how it works exactly, but package management looks like a manual pain
Linux from scratch
A book where you create your Linux installation from scratch, compiling every single component until you reach a working system
Notable mentions
Slackware avoids the issue of package management completely.
You just install the entire repository up front, which resolves all dependencies.
If you need software that isn't in the repo, you can install it any way you like from wherever you like, there's no real package manager that gets in the way. Usually you compile it with Sbopkg, a helper script very similar to Arch's AUR helpers. It comes with rudimentary dependency resolution in the form of queue files, which just list what needs to be installed in the correct order for any given source package, and then does it for you.
A more modern approach I follow is to use Flatpaks.
nix sounds cool but it also sounds like a PAIN to use until it gets proper support
It has a lot more support than you think. As a gentoo user, I am jealous of nixos often seeing more support than gentoo, when gentoo is older and seemingly easier to support. But nix seems to have a bigger hype nowadays.
Gentoo, while source-based and having an interesting approach with USE flags, does not come with NixOS' strengths.
I'd even say that Gentoo's packaging might be better in some aspects than that of nixpkgs, which does feature options that you can change via overrides but generally isn't as modular as Gentoo's system. But the mistake a lot of people – and I'd say you as well – make is that they look at the wrong parts for comparison, and don't understand what makes NixOS so powerful. It's not the sheer amount of packages or how they're built, but rather the module system, the declarative nature and the option for rollbacks at the "package manager" level. Yes, these features come with increased complexity. However, I recommend not to look into what people have published in GitHub as their configurations, as these are rather general and as such more complicated than one needs for casual use.
For some reason I really love how you ran out of steam on this post. Take my upvote, and may you make many whole-enough-assed posts in the future.
Void is far from torture. It is just as easy to set up as Arch, if not more so.
I agree, I organized the post wrong. Void should've been up, but it's also a notable mention that I can't write a lot about since I did not do too much with it.
I use it daily, which things won't work? Honestly it's "just a distribution", you'll have the same experience with it as OP has with Arch.
Bunch of random small things gave me issues. Sdkman (kinda like a Java version manager) and transmission on arm64 on wireguard would not work either.
I ran transmission and WireGuard for ages before I recently switched my server over to x86, worked fine?
Idk about Sdkman though, I don't do Java development, but if it's written in Java itself I fail to understand why it wouldn't work 🤔
My setup was really weird. I was running it under a network namespace. Maybe that's why? The app would run like normal, but it would not successfully create any connections. I replicated the same setup on glibc and it worked.