be honest, the only reason you use arch is so you can get the latest unixporn rice wm from the AUR
if you actually cared about what was going on in your system you would use something else like pic related, void, slackware, or etc
all of the aforementioned distros are more stable than arch, and you miss out on what exactly?
I use Arch because pacman is fast as fuck and I like to destroy and recreate containers very often.
Void's package manager is pretty fast, but it has less stuff, and fewer active maintainers getting new package versions out the door.
use paru instead of pacman
I use arch and I get the -bin packages of everything on AUR. Don't have time to spend compiling like a fool. I trust it enough.
>more stable than arch
in my experience, arch has been the most justwerks distro of them all
>gentoo
was fun to install once and then coompiling everything quickly became a pain in the ass.
>void
not as many packages in the repos. some not in official repos for autistic reasons. wifi constantly broken on my thinkpad for some reason.
>slackware
never tried, but it sounds like kind of a pain tbh
>or etc
I've tried nearly everything... the only big distro I haven't tried is debian. It seems pretty alright actually but I think I'm done distro hopping now
slackware is actually pretty nice, it makes up for its lack of some features by making itself really transparent so you can easily pick it apart and have it do something like automating installation of a slackbuild with a quick little shell script
wouldn't recommend it to people that aren't comfortable with occasionally getting their hands dirty
I use artix actually, but it is arch based so I guess same applies.
I use it because of the AUR I suppose.
I do care about what's going on in my system, but where do I miss out on that on arch opposed to gento/void or whatever
Oh, you guess? You suppose? Do you ponder, perhaps? We got a philosopher here, huh?
> arch
Just werks for me
> gentoo
As other anon said, compiling can eventually become tedious
> void
As other anons said, less package
> slackware
Not my job to manage dependencies
> other
Debian and rhel-like including fedora are fine, though I prefer to use them on servers
>As other anon said, compiling can eventually become tedious
assuming I have a homeserver, could I make that thing compile my shit remotely? Then I could just pull my binaries from my own server that I control.
https://wiki.gentoo.org/wiki/Distcc
Arch is pretty much the biggest bleeding edge distro.
I use gentoo, It's a fucking meme.
Between lack of packages in official overlays, packages not compiling for some fucking reason or having to check flags and then kernel options because it might be related to your issue. Or maybe it's not and you just wasted hours.
Time is also wasted compiling huge packages that don't necessarily have a bin package.
In the end for what? So that you can tweak a few parameters that don't even matter for some packages.
If you want "muh unbloated kernel" just use zen and if you want a systemd-free distro, there are way better alternatives.
Gentoo has always been a meme to troll newfags on the board. Anyone that claims otherwise is either lying or massively autistic.
I use gentoo, I'll never go back to anything else.
The main repo has just under 19,000 packages, and the language overlays have tons of stuff too if you use a specific language and want all their shit.
Compilation errors I've only ever had on VCS ebuilds because pretty much any package that needs special kernel modules tells you the modules needed on the wiki page
I don't see how compiling an update in the background for half an hour while continuing to use the "old version" of a package keeps running in the foreground, plus the only things that take anywhere over 30 minutes to build are a web browser (use firefox it compiles faster), the kernel (you should slim down the default because you don't need all those options), and the compilers itself (llvm fuck you by god fuck you)
>so what
I don't have anything installed that I don't want installed, and I get to patch software and the updates of the patched software continue to get updates without manual intervention.
>way better alternatives
Nothing else has the power of portage, so no, not really.
I think you got memed into it so you assume it has no purpose, you just use it as a slower binary distro. If you want to, more power to you, but if you buy an electric machining table and never turn the power dial past 0.15, you probably were better off with the basic hand file
NixOS has over 80,000 packages in its main repo and Nix is way more powerful than Portage, on top of having a binary cache so compiling doesn't take nearly as long.
>more packages
More outdated ones for sure, since that counts every package version as a +1. I'm only counting a package once per N versions.
>more powerful than portage
No, not really.
>binary cache
Gentoo has had ccache since ccache existed. Unless you mean -bin packages which the main gentoo repo also has for any massive packages.
Plus, on nix, if any dependency gets update you need to rebuild the whole tree after that dependency even if they didn't change anything about themselves, which is why they're trying to move away from AWS
Nix is literally losing most of it's package history because server hosting is too expensive for their garbage distro.
This quote from the haskell wiki sums up nix as a distribution model:
>But GHC is able to efficiently manage garbage collection, so it's not uncommon to produce 1gb of data per second
>More outdated ones for sure, since that counts every package version as a +1. I'm only counting a package once per N versions.
The Nix repo doesn't keep old versions of packages around, except in the Git history. There are more than 80,000 unique projects currently available in the latest commit of the repo.
>No, not really.
Yes, really. Anything Portage can do, Nix can do 100 times better. And then there's the things Portage has no hope of ever achieving. Including the distributed binary cache, remote builds, generating and modifying derivations on the fly and never having to deal with dependency conflicts.
>Gentoo has had ccache since ccache existed.
Nix binary caching is very distinct from ccache. It's way more exact. It tracks every little detail about how a package was built, including config options and environment variables like CFLAGS. This way, it's practically impossible to tell whether a package has been built locally or downloaded as a binary from a central build farm.
>Plus, on nix, if any dependency gets update you need to rebuild the whole tree after that dependency even if they didn't change anything about themselves
A small price to pay for the guarantees Nix provides. This removes the need of having to run something like revdep-rebuild and eliminates dynamic linking errors outright.
>Nix is literally losing most of it's package history because server hosting is too expensive for their garbage distro.
No such thing has happened yet. All the history is still there, and if it were deleted, it could always be rebuilt as long as the source is still available.
>Yes, really. Anything Portage can do, Nix can do 100 times better. And then there's the things Portage has no hope of ever achieving. Including the distributed binary cache, remote builds, generating and modifying derivations on the fly and never having to deal with dependency conflicts.
https://old.reddit.com/r/NixOS/comments/y9qgbg/how_to_correctly_apply_a_patch_to_a_nix_package/
https://wiki.gentoo.org/wiki//etc/portage/patches
>Nix binary caching is very distinct from ccache. It's way more exact. It tracks every little detail about how a package was built, including config options and environment variables like CFLAGS. This way, it's practically impossible to tell whether a package has been built locally or downloaded as a binary from a central build farm.
so efficient they can't afford their AWS builds. That's what I call efficient
>small price to pay
Enjoy compiling Chromium after a libpng update. Oh unless you use totally default builds, which I don't, so the binary cache is totally missed in all my builds.
>No such thing has happened yet.
https://discourse.nixos.org/t/the-nixos-foundations-call-to-action-s3-costs-require-community-support/28672
>https://old.reddit.com/r/NixOS/comments/y9qgbg/how_to_correctly_apply_a_patch_to_a_nix_package/
>https://wiki.gentoo.org/wiki//etc/portage/patches
Both can apply patches, great. Here's a thing Portage can't do: Install one package with a dependency on libabc with a patch applied, and install another package with a dependency on the same libabc but with no patches applied.
>so efficient they can't afford their AWS builds
The storage format isn't efficient, but the concept itself is. Portage still can't do this.
>Enjoy compiling Chromium after a libpng update.
I will compile it once and it will be available to all my systems. You will recompile it multiple times.
>https://discourse.nixos.org/t/the-nixos-foundations-call-to-action-s3-costs-require-community-support/28672
As I said, no deletion of anything has taken place yet.
>both can apply patches
I see you didn't read the thread I linked.
>the storage format isn't efficient but the idea of it is
I'll leave this one hanging for anyone else reading the thread.
>you will recompile it multiple ttimes
No, I won't. libpng gets updated and my browser doesn't rebuild itself. Much more efficient, one might say. Very modular and modern.
>As I said
As you said, yet. I'm waiting for it to happen so I can post gifrel in an OP one day
>I see you didn't read the thread I linked.
Why would I care about some redditor who can't figure out how to do it? I have a bunch of patches in my config, many of them self-made. Do you think I'm lying about a trivial feature?
>I'll leave this one hanging for anyone else reading the thread
Why do Gentoo users refuse to admit they're wrong? Transparent binary caching is a great feature. Downloading a binary will ALWAYS be faster than recompiling the package needlessly. It has already been proven that more efficient storage formats can be used. For example, https://github.com/zhaofengli/attic uses CDC to store similar packages extremely efficiently. And to reiterate the original point of the discussion: Portage cannot do this and will never be able to.
>No, I won't. libpng gets updated and my browser doesn't rebuild itself.
Unless libpng's ABI breaks. Then you're left with a broken browser for 12 hours until you finish recompiling it.
>As you said, yet. I'm waiting for it to happen so I can post gifrel in an OP one day
I'm confident it won't happen. People are already working on finding ways to store and transfer the binaries more efficiently. This will also eliminate your rebuild complaint.
efficiency and speed aren't the same retard. Downloading a binary is faster, the way they're stored is not efficient in the least.
I wouldn't expect a nix user to understand concepts outside of what is coddled to them through their hackjob language, but come on.
>broken browser for 10 hours
I see you've never used gentoo. Compilation is done in the background and leaves binaries unaffected until clean finish. Also, what are you running a single core from 1985? There is no package that takes over 2 hours to compile on any modern system I've used in my cluster. Once you include the clustering, it's even faster.
>I'm confident it won't happen
I don't put my distribution in the hands of AWS on blind faith, so I guess I'm saying is that I'm confident it will.
Maybe you were just filtered so hard you had to go to nix. I can understand why you'd be enraged and confused at a functional distribution.
>Downloading a binary is faster, the way they're stored is not efficient in the least.
And yet storing a binary in an inefficient manner and downloading it is more time efficient than recompiling the package. What's your actual point?
>I see you've never used gentoo.
I see you lack attention to detail. Portage will install the new version of libpng immediately after it's done compiling. In the case of ABI breakage, any binary dependent on it is now broken until it's recompiled. I don't know what world you live in, but most people don't have an entire server rack full of Threadrippers to recompile Chromium in 2 hours.
>I don't put my distribution in the hands of AWS on blind faith
Why would AWS delete their customers' data?
>my distribution
Do you not know what's stored in that binary cache? Hint: It's right in the name. It's a cache, with binaries. Keyword: Cache. Do you know what the most important property of a cache is?
>Maybe you were just filtered
On the contrary, Gentoo was annoyingly limiting. I put up with its limitations for far too long. I usually consider Gentoo users to be fairly intelligent even if their distro is quite outdated in the way it operates. Most of them would probably have a great time on NixOS. That's why I'm surprised to see you opposing it so harshly. It's clear you want to get the most out of your distro, but you refuse to change your antiquated ways of achieving that goal. I used to be the same way. It took me a long time to understand why NixOS is so much better. I'm sure you feel the same way about binary distros as I feel about Gentoo, and you know you feel that way for good reason.
>Most of them would probably have a great time on NixOS.
NTA, having used gentoo for 6+ years, I can definitely say "no". I have dozens of patched packages on my system and a heavily riced portage configuration in general, and I can't imagine rebuilding fucking everything to test a glib patch to launch vim in my terminal with "gio open file.txt", and similar shenanigans like that. It allows me the same kind of introspection into the inner workings of the distro that Slackware gave me, but actually gives you the tooling to maintain whatever shit you're up to semi-automatically.
Gentoo is just the antithesis to the updooter. You can *always* install new packages even if you haven't updooted your entire system for months, and portage keeps track of .so versions to not break anything during updates, among other such checks. In fact, it's not unheard of to just run glsa-check to check for CVEs and only update the things listed there inmediately, delaying the rest.
If you're constantly updating then sure, the build times will suck, but part of the point of gentoo is that you don't have to, since everything is built against the exact set of package versions on your system. If you simply delay your updates until it's convenient to do so, you'll have a much better time.
>I have dozens of patched packages on my system and a heavily riced portage configuration in general, and I can't imagine rebuilding fucking everything to test a glib patch to launch vim in my terminal with "gio open file.txt"
Who says you have to do any of that? Just build glib, or whatever package you want to test that depends on glib, independently, do your tests, and once you know it works you can apply it to the rest of your system.
So the fact that Nix is the least efficient distro doesn't matter because downloading is fast?
If they have a userbase of people like you then no wonder they can't cover the AWS costs, you think the most efficient use of money is burning it ASAP
How the fuck did we go from
>the storage format for packages in binary caches could be more efficient
to
>Nix is the least efficient distro
Could you be any more dishonest?
Which other distribution has server costs in the 10s of thousands per month with obsolete, unused packages?
I don't think there are any, in fact I'm sure even a massive enterprise like Canonical with servers all around the globe spends less than Nix per package
What does spending money on keeping an archive of old packages around have to do with distro efficiency?
>spends less than Nix per package
There are about 600 million files in the official binary cache. The format is such that one package is made up of 2 files. If multiple packages contain the exact same data, one of those files will be the same across both. In the worst case scenario, the binary cache holds 300 million packages. At a monthly cost of about $9000, that's $0.00003 per package per month, or $0.00036 per package per year, or 0.036 cents per package per year. Do you think Canonical provides an archive of over 300 million packages?
>Do you think Canonical provides an archive of over 300 million packages?
No, but I also think they spend less per package.
Again with the inflated numbers, most of those are the SAME PACKAGE with the SAME SOURCE AND VERSION but with a different dependency version. libxyz-1.23.9a vs libxyz-1.23.9b
>most of those are the SAME ... but with a DIFFERENT ...
So you're saying they're different?
If the source is the exact same, and they build the exact same way, and there's no difference, then no they're not different. In fact, a dynamically linked binary would have the exact same hash no matter what version the dependency is
Quite literally exactly the same
That's the thing. They don't build the exact same way. If a dynamic library changes its ABI, then that's a very obvious difference and will also result in a different binary.
If a library changes its ABI the package itself must change tosupport it
Unless you think the software is magic and just changes itself.
>You will recompile it multiple times.
Gentoo has binpkgs, I've bootstrapped new machines using my main's packages a bunch of times, in a matter of minutes.
>Gentoo has binpkgs
Which fail to track the exact inputs of a package and are practically useless as a result, unless you painstakingly keep ensuring that all your machines are set up to be compatible with each other. You say "bootstrapped", so.you probably wouldn't consider binpkgs a viable solution for regular use.
>painstakingly
git pull is so hard bros.
Yes, binpkgs work best across machines configured similarly, which personal machines often are. Portage makes sure whatever binpkgs you're installing are consistent with your configuration and either error out or build from source if they aren't, depending on how you set it up.
>Portage makes sure whatever binpkgs you're installing are consistent with your configuration and either error out or build from source if they aren't, depending on how you set it up.
Completely wrong. Binpkgs don't track CFLAGS correctly, for example.
They track anything sensible, yes. The best set of CFLAGS is an empty set, as changing CFLAGS is the biggest meme of gentoo.
The problem is exactly that: you have to rebuild *everything*, for *every* update. At least gentoo gives you the option instead of beating you over the head about some reproducibility shit that doesn't even benefit you in many scenarios.
>They track anything sensible, yes.
They also don't track patches, and many other things. They're extremely imprecise.
>The problem is exactly that: you have to rebuild *everything*, for *every* update.
First you call yourself an anti-updooter, now you're complaining that updooting is inconvenient.
>At least gentoo gives you the option
To do what? Have a broken system? Yeah no, I'm good, thanks.
>doesn't even benefit you in many scenarios.
Couldn't be more wrong.
They don't need to track patches because those don't affect compatibility.
It's impossible to not updoot and use a system sanely on nixos.
The rest is just "no u". It just werks and doesn't break on me like other distros did.
>They don't need to track patches because those don't affect compatibility.
>Changes to the source code don't affect compatibility
Holy brainlet
>It's impossible to not updoot and use a system sanely on nixos.
More made up bullshit
to the source code don't affect compatibility
Do you think every patch requires a whole #ifdef __ARCH__?
I have a whole collection of patches I just copy paste from system to system, architecture to architecture, intel to amd, as different as you can get, and these patches never change the "compatibility"
What do you think a patch is?
>more made up bullshit
Mindbroken by the fact that if you neglect an update it breaks worse than apt
>Do you think every patch requires a whole #ifdef __ARCH__?
Obviously not, retard. You patch your packages for a reason. So why do you consider it acceptable for binpkgs to completely disregard patches? How fucked in the head do you have to be to think it's fine for your package manager to simply ignore what you requested ("install this package with these patches")?
>Mindbroken by the fact that if you neglect an update it breaks worse than apt
Even more made up bullshit. It breaks far less often because the system is mostly stateless. For example, there's no need for things like dispatch-conf, because config files are simply replaced based on your system config, or making sure that new and old packages are compatible with each other, because all packages are upgraded at once. Short of the odd manual database migration for some stateful software, the system literally cannot break from postponing updates. And for those cases, system.stateVersion exists.
How do you think a binary would work with a source patch?
It doesn't magically change the binary, and if you say "give me a binary" it's antithetical to user control to FORCE the download and compilation from source.
How would you do it?
>download firefox-bin
>ok, got it
>Compiling firefox now
Based off how you like to handle your etc files (just replace it every update) maybe you think the above system IS how it's meant to work, rater than actually following user configuration guidelines.
>How do you think a binary would work with a source patch?
It's evident you know absolutely nothing about how Nix works, and are underestimating it exrremely as a result. This is the power of a properly implemented binary cache. The package manager considers all inputs and calculates a hash. This hash uniquely identifies the paclage with all its patches and build flags and anything else that goes into it. You can upload this binary to a repo, and when someone else asks for the same exact hash, it will be downloaded.
>download firefox-bin
This has nothing to do with binpkgs. Your idea of how this should work is apparently this:
>build firefox with these patches
>ok got it
>I found a binary for firefox in the binpkgs repo
>I can't tell if it has the patches you asked for
>but I'll download it anyway
I use Artix because:
1. gentoo is too hard lol
2. gentoo probably sucks on shit hardware and my daily driver is shit
>2. gentoo probably sucks on shit hardware and my daily driver is shit
People use it on Wiis and stuff, the only real limitation is bootstrap speed. Once you have something installed, you just use it while it updates in the background.
cool. I would try to install it of I had a second compooter
I use arch because it's what everybody uses and it simply just werks. Not using your meme 1% market share distro.
works on my machine