"There are still many things I need to set up on the new laptop, for example: suspension/hibernation on closing the lid doesn’t always work"
For me, this is one of those things that should work out of the box. I appreciate Arch is one of those distros you configure manually, and can thus choose whether to implement this or not. But I'd rather not have my laptop burn out in my bag because the system didn't suspend properly.
I'm sure everyone has experience of this happening on any distro, and probably even on Windows and MacOS. But it should at least try out of the box in my mind.
That's because of the garbage S0 sleep state enforced by the UEFI/BIOS of the laptop
tl;dr: There's a way to disable Windows 10's "Cook your Laptop" facility, Microsoft calls it "Modern Sleep" for some reason I can't understand, via a simple BIOS change which disables S0 and re-enables S3. No more coming back to a laptop that's so hot you can burn your hands on it. To do this, go into the BIOS config and change the sleep option from "Windows 10" to "Linux".
True fact: proper sleep/wake on lid close is probably 40% of why I switched from Windows to Mac in about 1999 -- and that was when the Mac was on OS 9, not the BSD-based OSX.
I can't imagine going to a system where it wouldn't work. That's baseline, out of the box functionality for me.
When i was around 16, i was gifted a laptop. Mind you, this was my first pc ever. Before that i was going to internet cafes.
So being the good "hacker" i was at the time, i installed Ubuntu to be like the cool kids. Few days later the motherboard got fried in my backpack. Apparently, the laptop didn't go to sleep when i closed the lid and overheated.
I tried Manjaro the other day and had to try 3 kernel versions before I found one that woke from sleep without crashing, the display wouldn't hold its resolution through display sleep, bluetooth wouldn't connect without writing a custom config file, and CUPS auto-detected the wrong drivers.
I went back to Ubuntu and it all Just Worked.
My conclusion: yeah, the Debian stale package problem sucks, but it doesn't suck as badly as the rolling release instability problem.
The default config of systemd on Arch suspends to RAM when the lid switch of a laptop is triggered. Unfortunately many modern laptops no longer implement the S3 sleep state in favor of Microsoft's proprietary "Connected Standby" (i.e. the mode that tends to cook laptops in their bags). My new Thinkpad has a toggle in the EFI to re-enable S3, after which suspend to RAM works on Arch with no further configuration necessary.
Even with a fresh install of Windows 10 or 11, a recent laptop has chances to burn out in your bag because of the "modern suspend" feature, a.k.a. S0ix state.
And every time this comes up I need to clarify that if it worked out of the box I'd need to switch it off because I hate that behaviour, I only want it to sleep when I give an explicit command. And I've heard that from more people, but I guess we are the minority.
FWIW I've had this work out of the box for several years. Could be a case-by-case thing, but I've only ever had to configure it to my preferences rather than surprise-discover that it didn't work.
So far I rarely have issues with suspend/resume on Linux with laptops. My current laptops are a Thinkpad T14s Gen 1 and a Thinkpad P51, and they sleep and resume properly every time. Desktops as well: I’ve got a Ryzen 5950X+RX590 setup, works exactly as intended. Previous desktop too, and the one before that.
Granted… it could just be luck. I accept that. But, for me, I’ve never specifically sought out linux compatible parts and sleep/resume has not been an issue for a long time for me.
I tend to just run the later stable kernels, which might help a bit. Though Arch should give you basically this by default, so, I dunno.
I'm about to install KDE Neon or Pop!_OS on my Lenovo ThinkPad p1 Gen2 which currently runs Windows exactly because I have found it running in my bag to many times.
My older Lenovo Yoga with KDE Neon rarely do that. Also there is still a noticeable difference (30% last I measured on the same hardware) in compile times and when it comes to cli tools like git the experience is in a completely different league.
Yeah if you want any semblance of anything working 'out of the box', arch is just not for you.
There is no default install on arch. There is not even an installer. There's just the command line on a live system and then you create the partitions and put all the files in place automatically.
It's really great that arch exists but it's just not for everyone.
I have been running Arch since about 2008. This used to be a problem with laptops, but I have had great experiences with this exact problem since about 2012. Or maybe I got better at buying laptops with largely compatible hardware.
I recently moved a Dell XPS to Manjaro and it’s the first time power management has ever just worked out of the box for me on Linux, including proper hibernate (which tbh is my default choice for most sleep states).
I just completed my migration in the opposite direction after using Arch Linux as my daily driver for ~10 years.
I think Arch Linux is by far the better OS for pretty much all power users, but when using multiple devices, the benefits of the "Apple Ecosystem" outweigh the benefits of an amazing desktop OS for me, which is why I ended up switching to Mac OS.
Some key points which I believe are much worse on Mac:
* No great package managers. Nothing is super-integrated with the core system like pacman is in Arch, and even when heavily using some package manager, there will always be a bunch of software that can only be updated using their own auto-update mechanism instead of a central package manager.
* Docker in general is just much slower compared to running directly on Linux.
* Setting up ergonomic custom keyboard shortcuts is painful and requires (multiple?) third-party applications to do well.
Can an Arch person explain to me why their approach is worth it over something with a more comprehensive package manager like apt or dnf? I don’t mind compiling programs myself when needed, but for most things I’m happy to not have to hand-hold my OS when it comes to updates.
From the wiki:
> Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list
I think you're confusing Arch with Gentoo or something - the Arch package manager is not from-source, it ships binaries just like apt. Perhaps you're thinking of the AUR, which does usually just host the PKGBUILD which you run makepkg on directly to compile, but that's analogous to something like an Ubuntu PPA, not the core package manager.
The main thing that people like about it is the rolling release model; new packages for virtually everything are updated within hours or days of an upstream release, with incredible practical stability.
> > Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list
> Like... why?
That's very much a "cover-your-ass" type disclaimer, like a ToS that says you have no right to expect anything to work. In practice, 99.99% of upgrades work completely unattended, and in the .01%, you see a failure, you go to the News site and it says "sorry, we made a backwards-incompatible push, please delete this path before upgrading" or something like that, you do it, and then everything is fine again for another 18 months.
Arch still has the vestiges of this reputation as a wild-west distribution for reckless code cowboys, but in practice it is the de-facto "set it and forget it" distro. I spend literally 10x less time worrying about my distribution and package manager when I'm on Arch then on any other computing system I've ever encountered.
Arch is the first system I have been able to support, fully. As in, 100% of the issues I run across with my distro, I can resolve. I used to run Ubuntu as my gnome desktop distribution, and when it worked (99% of the time), it was a superior experience to Arch. However when running Ubuntu I would inevitably run across some issue that seemed to require a level of sysadmin chops that I never have possessed. For the past year I've been running an Arch desktop, I have resolved every issue by using the Arch wiki and Google/ stack overflow. I suspect that partly, the Arch approach is appealing to those of us who prefer a simpler system, because those are easier to grapple with in a support context.
> a more comprehensive package manager like apt or dnf
I don't see how apt or dnf are any more comprehensive than pacman. What do you mean by that?
Before Arch, I used Fedora. It used yum as its package manager. That thing managed to corrupt its own databases at least twice during normal usage. Distribution major version upgrades always caused problems.
I never had problems like these after switching to Arch.
> I don’t mind compiling programs myself when needed
You only need to compile user packages. Official Arch Linux repositories host binary packages. You can download the PKGBUILD if you want.
> for most things I’m happy to not have to hand-hold my OS when it comes to updates.
99% of the time updates just work for me. Sometimes they introduce a few .pacnew files, I diff and merge them with my local files and that's it.
> Like… why?
Sometimes manual intervention is necessary. Usually it's not a big deal. The news tell you what to do and most importantly why you must do it.
The most complicated maintenance I ever experienced with Arch was when it switched /bin to /usr/bin.
As another plus, the Arch wiki itself is absolutely fantastic. People will point to the Arch wiki even when running other distributions. For example, it is the place to go when doing something like GPU passthrough to another OS running on qemu/KVM.
> Can an Arch person explain to me why their approach is worth it over something with a more comprehensive package manager like apt or dnf?
Can you explain to me how dnf or apt is more comprehensive than pacman? I use all three: arch on my laptop, fedora on my desktop, ubuntu on my work laptop. I do not see the difference in comprehensiveness.
There are some house cleaning tasks pacman won't automatically do for you because doing so could break things you rely on. The same is true on fedora. It'll leave configs untouched, unless you run rpmconf which might then just break your stuff:
> If you use rpmconf to upgrade the system configuration files supplied with the upgraded packages then some configuration files may change. After the upgrade you should verify /etc/ssh/sshd_config, /etc/nsswitch.conf, /etc/ntp.conf and others are expected. For example, if OpenSSH is upgraded then sshd_config reverts to the default package configuration. The default package configuration does not enable public key authentication, and allows password authentication.
The problem is ultimately one of churn, and how the system deals with it. Anecdotally Ubuntu tries to deal with it harder than the others, and my experience is that Ubuntu breaks (or suddenly stops behaving the way you had it configured) the most during updates. The others break less but require some attention from you.
Some of the churn is caused by distros, some of it is caused by the upstream projects. Churn is big in the Linux world.
> Can an Arch person explain to me why their approach is worth it over something with a more comprehensive package manager like apt or dnf? I don’t mind compiling programs myself when needed, but for most things I’m happy to not have to hand-hold my OS when it comes to updates.
It sounds like you may be confusing Arch with some other distro. You rarely if ever need to compile anything yourself. Pacman works just like apt or dnf, i.e. resolves dependencies, downloads and installs packages for you, unless you have something specific in mind.
In the last two years I’ve been on the arch-announce mailing list I think I have only needed to respond to breaking updates twice.
I choose arch for three reasons. 1. The official repos and the AUR have nearly every package I have ever needed. And usually packages are updated soon after a release. 2. Being rolling release, I never need to reinstall arch, just run updates periodically. 3. I love learning, and I have learned more about Linux and system maintenance from arch than anything else. While there might be a slightly larger cost of time spent setting up (and maintaining when I break something) arch, I have decided that the tradeoffs are worth it to me.
I'm honestly not sure what you mean by apt or dnf being more comprehensive. The feature set of all Linux package managers are pretty similar. The major difference with Arch is you're heavily recommended not to do partial upgrades, but pacman will do it if you really want to. That's a difference in update philosophy between batched releases and rolling releases, not a difference in the package managers.
If you mean comprehensive in terms of available software, corporate and commercial software seems to often offer debs and rpms but not tarballs installable by pacman. On the other hand, for anything open source, the Arch official repository plus AUR has way more packages available than the Debian/Ubuntu and Redhat official repos, and having everything in one AUR for third-party packages is much more convenient than the apt/dnf way of adding a repo per vendor.
As for checking the home page every time you upgrade, you really don't need to. I think that's to stave off complaints if something breaks, because it might since you have full freedom to set things up however you want and Arch can't guarantee the standard packages with standard settings are going to work for the combinatorial explosion of possible individual setups everyone might have. But in five years of daily Arch use (I have it as the OS on 8 devices in my house right now), I've auto-upgraded daily and experienced one breakage I can think of, two days ago when certain graphical apps stopped showing a visible window. It was annoying and I still don't know why it happened (guessing something about the Wayland/NVIDIA combo is still creating issues), but it fixed itself on the next ugprade 7h hours later or so.
Sometimes when visiting arch forums the undertone is a little gatekeep-ey and people asking for more beginner friendly ways to install software like GUIs or AUR helpers are responded to with answers like 'You don't. You compile it yourself from the command line'.
> Can an Arch person explain to me why their approach is worth it over something with a more comprehensive package manager like apt or dnf? I don’t mind compiling programs myself when needed, but for most things I’m happy to not have to hand-hold my OS when it comes to updates.
People who like Arch because they think the AUR is actually good hate doing repo management. What they like about the AUR is that it's One Big Repo, and it (unlike the barren Arch repos themselves) is pretty comprehensive.
> > Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list
> Like… why?
Because Arch's interpretation of ‘keep it simple, stupid’ means they are allergic to engineering in their distro tools. As a result, their package manager has deficient dependency resolution behavior. This is exacerbated by the fact that the devs make relatively little use of things like transitional packages, for some reason. But Pacman is fast, because by choosing not to have a complete dependency solver, it avoids tackling a problem with high computational complexity. For some people, that part of the user experience is good enough that it allows them to forgive Pacman for doing insane things like pointlessly breaking installed software every now and again.
You don't have to run arch if you are happy with your Ubuntu or whatever other distro. I run arch because I like trying out new software when its released, not when maintainers of ubuntu decide to include it in the next release cycle. You are pretty much always on the latest kernel, for good or bad. aur also is a gem compared to apt when it comes to modifying in-tree packages and maintaining those with the system package manager.
But well, if you are happy with your distro you don't have to use anything else.
As a developer, used macOS for 13 years. Switched to Ubuntu after Apple went to M1.
It's been pretty much flawless and required no more tweaks during setup than a typical macOS install would. Developing on the same environment as our servers is a massive plus.
The key is choosing the right hardware from the start. For my desktop, I chose an Asus TUF gaming motherboard that had everything Intel. For my laptop, I chose a laptop that is supported by the manufacturer, in this case a Dell XPS 13.
(Selecting the correct hardware is no different to creating a Hackintosh setup, but the hardware support is infinitely better)
Not only is the hardware support better, but even with good hardware support, you have to do more on Hackintoshes (manually download and copy tens of kexts, edit a very, very long plist file for OpenCore, screw with the serial number if you want iMesasge, etc., etc.). Linux usually "just works."
Getting your custom stack tuned feels great, but maintaining that entire stack across updates is daunting. You can't join meetings because your headphone/ mic/ video drivers aren't working? yikes. i trust apple to handle hardware and os for me.
After almost 2 years running Arch I switched back to Windows last summer on my home laptop (Dell XPS 13 9380).
The pipewire update needed by pulseaudio effects broke the sound output to my bluetooth headset.
Also at the same time a Gnome update made my desktop environment unstable.
I did not want to spend time on freezing dependencies, reverting some of them etc. Got tired at the time of these occasional maintenance operations, and not optimal hardware support. To be honest most of the update issues were related to Gnome major updates. I think an update only broke once my system, I could not login (pam configuration upgrade issue). I was running the LTS kernel.
I think I had better battery life on Linux thought. It must have improved with Firefox/Chromium hardware acceleration.
Arch is still my preferred distro for a dev machine thought.
Back to Windows, I just updated to W11 today, I very much like the changes in the UI.
Also the ability to run some Linux GUI apps without starting a X server, exporting the DISPLAY, etc directly from the a WLS2 vm is nice.
Even thought I think I'll keep my development environment in a VM (arch) mainly because of docker. I found docker for desktop on Windows really too slow. Security wise I also prefer that, I install too many tools that I don't trust. The drawback of using a VM is of course performance but that is not that an issue for the kind of dev/work I do (NodeJs/Typescript/Vue/Python/Cloudformation/Terraform). Also sometimes I have an idea or something I'd like to test quickly and I don't want to start the VM and I just give up.
I'll probably stick to that 1 or 2 years, when I'll think about replacing my laptop. If I had to today, I'll probably go for a Macbook air m1.
Arch is like the IKEA version of Linux.
Thanks to their WIKI, i feel that i can troubleshoot most issues by myself despite not having huge linux experience.
If I may suggest, take a look at autorandr [1], it saves your monitor configuration and automatically enables it when a set of monitor is detected. It's a small thing, but it improves the experience and will replace your home alias.
I currently run a dual boot with Arch and Windows 11 on an XPS 13. There are positives to each:
* Windows has much better support for handling the Hi/Multi DPI setup that is my laptop + 2 4K screens. Wayland gets there, but unfortunately the font rendering is annoying bad, and the fractional scaling doesn't quite look right. And of course it's a very "just works" experience if you stay on the happy path. The Windows OneDrive + Office integration is great, and I have some photo software I run that is Windows-only.
* Arch gives a much better "pure laptop" experience. Hotkeys make everything easy, tiling WMs are just infinitely superior if you're working off one small screen. Also I get BETTER battery life on Arch, the laptop runs totally cool (and fans never spin up), and closing the lid puts it into true S3 sleep. It's very snappy and I use less RAM.
Also, I think people have this idea that if you use Arch the only "right" way to do it is to spend a million hours setting up a whole universe of CLI apps and becoming a wizard with hotkeys. I only use the CLI if it's truly easier than a GUI or something I don't use often. I basically just install the regular google-chrome-stable binary from AUR and then do everything on the web. Email? I set up a desktop link to fastmail. Spotify? Don't bother with native linux app, just set up a desktop link to the web player. Need to use Excel and don't feel like switching to windows? Just go use the web version, etc...Seriously, the move to webapps is doing more for the linux desktop experience than anything else.
I'm super pleased with my Linux desktop. I'm now full time Linux on the desktop, having run Windows, dual booting Windows/Hackintosh, and then Windows/Linux for quite some time. I still have a Windows partition, but I haven't been in it in half a year at this point. The experience on my desktop hasn't been flawless, but it has been pretty nice on the whole. I can't say the same for my laptop, which has been a 2 year experiment at this point. When I was using it predominantly to do light work in the office, it worked out well, but I find it more and more difficult to use from a non-coding productivity standpoint.
When I do work, I generally remote into my desktop via VSCode anyway at this point (and I really like this workflow tbh), but because I don't daily drive the laptop, there's less time spent to improve the tooling, and the ratio of time spent working to time spent fixing a weird issue is much lower than on my desktop. With some of my work potentially benefiting from the new Apple SoCs, the reversal in direction back to good sane defaults in hardware layout, and the far greater likelihood that my ratio of work to fix ratio would significantly increase, I'm pretty sure that an Apple Silicon laptop is in my near future.
For my personal desktop, I use Arch linux, and I'm perfectly happy. However, for a work laptop, I am pretty sure I'd take a new M1 Macbook Pro over a Thinkpad/XPS w/ Arch Linux.
A MBP can get 15+ hours of battery life, supports suspend/resume, and in the case of the Intel models, smooth GPU switching between dedicated and onboard.
Linux does none of that well. On a desktop, none of that matters, but I wouldn't take those tradeoffs on a work laptop.
I used Fedora/Ubuntu at works and Arch Linux at home exclusively to 2012 when I started to get into Ios dev.
Nowadays I used Mac exclusively for all of my work + personal setup(except Server of course).
And I'm convince that the only reason for me to use it is due to iOS dev. If I can get away with it I will go back to Linux. Some points:
- No more dealing with homebrew and its bizarre upgrade policies. You don't know when a package will be break. You run `brew install python` and every thing broken.
- No more dealing with the weirdo of its disk image and the locked of system volume
- No more dealing with junks stuff in a few place such as `/Library` or `/System/Library` and `~/Library`
- No longer has to run docker in a VM
- Fuse just works
- No more buggy file watchers. For some reasons the file watcher (fsnotify package I belive) on Mac sometime works, sometime not and sometime just had CPU up to 100%
- No more custom syntax to work with fslimit
- No more plist file that also gzip and encrypt
- No more installing software by going to a website and download a stupid xip file.
- No more reverse engineering how a certain thing works and script it out.
But due to iOS works, not just iOS development I also help with CI/CD for mobile app and having access to a mac locally is handy, I have to keep using it.
I made a similar jump over the past few years out of frustration with stagnating apple hardware (pre-m1). I spent a year with a hackintosh, which worked pretty well, but became disenchanted by the continued locking-down of the OS.
For the most part, daily driving Linux as my desktop has been great - no small thanks to Electron. Slack, Spotify, VSCode, etc. all just mostly work.
Going the arch-route took extra upfront work since you're effectively building a desktop environment from scratch, but the benefit is knowing exactly how -everything- works. If I press my "volume up" shortcut and the overlay volume bar isn't displayed, I know exactly which sway config and executable to look at. It's refreshingly simple.
The downsides are that upgrading is a bit anxiety producing (will I break anything?). HiDPI on Linux is still (in my experience) a bit of a mess. If you run wayland, you need to patch xwayland/sway/wlroots if you don't want blurry x11 apps. And there are some quirks- like, I can't drag files into Slack. Maybe it's fixable, but at some point you become satisfied with "good enough".
I tried for years to switch away from Mac OS to Linux. I tried Ubuntu a few times as I am familiar with it from a server perspective.
It finally clicked when I tried Manjaro. The killer app for me is i3 Window manager (which you can of course use on other distributions). In general though I just like there being 'less'. I use Thinkpads and yes - have had issues with audio, and with sleep etc, but all solvable.
This really doesn't sound like an article written as a "Linux newbie" ~ but props to them for finding solutions to their various workflow needs and learning. That's a big part of what Linux is all about :)
Arch is great, although I think fedora does a much better job at providing a no-nonsense Linux workstation and would make for a smoother transition from macOS.
I am personally facing up to make the opposite switch. 2 days of battery life is very attractive for me. I am thinking of keeping my current laptop as my "desktop" and carrying a Mac around.
Since most of my tools are cross platform, (jetbrains ides), my work can just continue Grimm one place to another using GitHub for synchronisation.
Was interested in the idea of Arch in a commercial environment.
Presumably this only works in a certain kind of place: one with motivated individuals and without the "oh my God people might do what they think is sensible" types from an overactive Compliance group.
Personally this would be a very satisfying kind of place to work because the single biggest challenge I face in my company is the endless fiddling that the desktop team do breaking things, as it's is often done wrongly or should be left well alone. I don't begrudge the people in the team as they're actually decent but they're stuck having to juggle various demands and roll out a steady stream of MS changes faster than they appear to have capacity for.
Haha... I've used Ubuntu and then Arch prior to switching mac. If you have enough time and nerves to do OS/desktop env stuff yourself, then go ahead... In the end I decided to use my time for more effective things and stop geeking around.
Yeah. Sounds like geeking around. 20 years ago we had this cult of "living in the console" and ignoring X servers at all. It was fun for some time - even watching some video stuff using mplayer's aalib, playing mud.... But then again - this is not about productivity - it is just fun, while if you need to do work, family, etc... There's rarely time for that.
[+] [-] popey|4 years ago|reply
For me, this is one of those things that should work out of the box. I appreciate Arch is one of those distros you configure manually, and can thus choose whether to implement this or not. But I'd rather not have my laptop burn out in my bag because the system didn't suspend properly.
I'm sure everyone has experience of this happening on any distro, and probably even on Windows and MacOS. But it should at least try out of the box in my mind.
[+] [-] orangepurple|4 years ago|reply
tl;dr: There's a way to disable Windows 10's "Cook your Laptop" facility, Microsoft calls it "Modern Sleep" for some reason I can't understand, via a simple BIOS change which disables S0 and re-enables S3. No more coming back to a laptop that's so hot you can burn your hands on it. To do this, go into the BIOS config and change the sleep option from "Windows 10" to "Linux".
More info: https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/Fix-f...
[+] [-] ubermonkey|4 years ago|reply
I can't imagine going to a system where it wouldn't work. That's baseline, out of the box functionality for me.
[+] [-] _6zew|4 years ago|reply
When i was around 16, i was gifted a laptop. Mind you, this was my first pc ever. Before that i was going to internet cafes.
So being the good "hacker" i was at the time, i installed Ubuntu to be like the cool kids. Few days later the motherboard got fried in my backpack. Apparently, the laptop didn't go to sleep when i closed the lid and overheated.
Still hurts.
[+] [-] jjoonathan|4 years ago|reply
I went back to Ubuntu and it all Just Worked.
My conclusion: yeah, the Debian stale package problem sucks, but it doesn't suck as badly as the rolling release instability problem.
[+] [-] fsh|4 years ago|reply
[+] [-] bestouff|4 years ago|reply
[+] [-] wink|4 years ago|reply
[+] [-] vurudlxtyt|4 years ago|reply
[+] [-] deeblering4|4 years ago|reply
[+] [-] jchw|4 years ago|reply
Granted… it could just be luck. I accept that. But, for me, I’ve never specifically sought out linux compatible parts and sleep/resume has not been an issue for a long time for me.
I tend to just run the later stable kernels, which might help a bit. Though Arch should give you basically this by default, so, I dunno.
[+] [-] eitland|4 years ago|reply
My older Lenovo Yoga with KDE Neon rarely do that. Also there is still a noticeable difference (30% last I measured on the same hardware) in compile times and when it comes to cli tools like git the experience is in a completely different league.
[+] [-] GekkePrutser|4 years ago|reply
There is no default install on arch. There is not even an installer. There's just the command line on a live system and then you create the partitions and put all the files in place automatically.
It's really great that arch exists but it's just not for everyone.
[+] [-] javier2|4 years ago|reply
[+] [-] thom|4 years ago|reply
[+] [-] sunaurus|4 years ago|reply
I think Arch Linux is by far the better OS for pretty much all power users, but when using multiple devices, the benefits of the "Apple Ecosystem" outweigh the benefits of an amazing desktop OS for me, which is why I ended up switching to Mac OS.
Some key points which I believe are much worse on Mac:
* No great package managers. Nothing is super-integrated with the core system like pacman is in Arch, and even when heavily using some package manager, there will always be a bunch of software that can only be updated using their own auto-update mechanism instead of a central package manager.
* Docker in general is just much slower compared to running directly on Linux.
* Setting up ergonomic custom keyboard shortcuts is painful and requires (multiple?) third-party applications to do well.
[+] [-] gbrown|4 years ago|reply
From the wiki:
> Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list
Like… why?
[+] [-] apetresc|4 years ago|reply
The main thing that people like about it is the rolling release model; new packages for virtually everything are updated within hours or days of an upstream release, with incredible practical stability.
> > Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list > Like... why?
That's very much a "cover-your-ass" type disclaimer, like a ToS that says you have no right to expect anything to work. In practice, 99.99% of upgrades work completely unattended, and in the .01%, you see a failure, you go to the News site and it says "sorry, we made a backwards-incompatible push, please delete this path before upgrading" or something like that, you do it, and then everything is fine again for another 18 months.
Arch still has the vestiges of this reputation as a wild-west distribution for reckless code cowboys, but in practice it is the de-facto "set it and forget it" distro. I spend literally 10x less time worrying about my distribution and package manager when I'm on Arch then on any other computing system I've ever encountered.
[+] [-] alexarnesen|4 years ago|reply
[+] [-] matheusmoreira|4 years ago|reply
I don't see how apt or dnf are any more comprehensive than pacman. What do you mean by that?
Before Arch, I used Fedora. It used yum as its package manager. That thing managed to corrupt its own databases at least twice during normal usage. Distribution major version upgrades always caused problems.
I never had problems like these after switching to Arch.
> I don’t mind compiling programs myself when needed
You only need to compile user packages. Official Arch Linux repositories host binary packages. You can download the PKGBUILD if you want.
> for most things I’m happy to not have to hand-hold my OS when it comes to updates.
99% of the time updates just work for me. Sometimes they introduce a few .pacnew files, I diff and merge them with my local files and that's it.
> Like… why?
Sometimes manual intervention is necessary. Usually it's not a big deal. The news tell you what to do and most importantly why you must do it.
The most complicated maintenance I ever experienced with Arch was when it switched /bin to /usr/bin.
[+] [-] MegaDeKay|4 years ago|reply
[+] [-] foxfluff|4 years ago|reply
Can you explain to me how dnf or apt is more comprehensive than pacman? I use all three: arch on my laptop, fedora on my desktop, ubuntu on my work laptop. I do not see the difference in comprehensiveness.
There are some house cleaning tasks pacman won't automatically do for you because doing so could break things you rely on. The same is true on fedora. It'll leave configs untouched, unless you run rpmconf which might then just break your stuff:
> If you use rpmconf to upgrade the system configuration files supplied with the upgraded packages then some configuration files may change. After the upgrade you should verify /etc/ssh/sshd_config, /etc/nsswitch.conf, /etc/ntp.conf and others are expected. For example, if OpenSSH is upgraded then sshd_config reverts to the default package configuration. The default package configuration does not enable public key authentication, and allows password authentication.
(From https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-u...)
The problem is ultimately one of churn, and how the system deals with it. Anecdotally Ubuntu tries to deal with it harder than the others, and my experience is that Ubuntu breaks (or suddenly stops behaving the way you had it configured) the most during updates. The others break less but require some attention from you.
Some of the churn is caused by distros, some of it is caused by the upstream projects. Churn is big in the Linux world.
[+] [-] guerrilla|4 years ago|reply
It sounds like you may be confusing Arch with some other distro. You rarely if ever need to compile anything yourself. Pacman works just like apt or dnf, i.e. resolves dependencies, downloads and installs packages for you, unless you have something specific in mind.
[+] [-] cturtle|4 years ago|reply
I choose arch for three reasons. 1. The official repos and the AUR have nearly every package I have ever needed. And usually packages are updated soon after a release. 2. Being rolling release, I never need to reinstall arch, just run updates periodically. 3. I love learning, and I have learned more about Linux and system maintenance from arch than anything else. While there might be a slightly larger cost of time spent setting up (and maintaining when I break something) arch, I have decided that the tradeoffs are worth it to me.
[+] [-] nonameiguess|4 years ago|reply
If you mean comprehensive in terms of available software, corporate and commercial software seems to often offer debs and rpms but not tarballs installable by pacman. On the other hand, for anything open source, the Arch official repository plus AUR has way more packages available than the Debian/Ubuntu and Redhat official repos, and having everything in one AUR for third-party packages is much more convenient than the apt/dnf way of adding a repo per vendor.
As for checking the home page every time you upgrade, you really don't need to. I think that's to stave off complaints if something breaks, because it might since you have full freedom to set things up however you want and Arch can't guarantee the standard packages with standard settings are going to work for the combinatorial explosion of possible individual setups everyone might have. But in five years of daily Arch use (I have it as the OS on 8 devices in my house right now), I've auto-upgraded daily and experienced one breakage I can think of, two days ago when certain graphical apps stopped showing a visible window. It was annoying and I still don't know why it happened (guessing something about the Wayland/NVIDIA combo is still creating issues), but it fixed itself on the next ugprade 7h hours later or so.
[+] [-] schleck8|4 years ago|reply
[+] [-] pxc|4 years ago|reply
People who like Arch because they think the AUR is actually good hate doing repo management. What they like about the AUR is that it's One Big Repo, and it (unlike the barren Arch repos themselves) is pretty comprehensive.
> > Before upgrading, users are expected to visit the Arch Linux home page to check the latest news, or alternatively subscribe to the RSS feed or the arch-announce mailing list > Like… why?
Because Arch's interpretation of ‘keep it simple, stupid’ means they are allergic to engineering in their distro tools. As a result, their package manager has deficient dependency resolution behavior. This is exacerbated by the fact that the devs make relatively little use of things like transitional packages, for some reason. But Pacman is fast, because by choosing not to have a complete dependency solver, it avoids tackling a problem with high computational complexity. For some people, that part of the user experience is good enough that it allows them to forgive Pacman for doing insane things like pointlessly breaking installed software every now and again.
[+] [-] javier2|4 years ago|reply
But well, if you are happy with your distro you don't have to use anything else.
[+] [-] jimjimjimjim|4 years ago|reply
[+] [-] rbut|4 years ago|reply
As a developer, used macOS for 13 years. Switched to Ubuntu after Apple went to M1.
It's been pretty much flawless and required no more tweaks during setup than a typical macOS install would. Developing on the same environment as our servers is a massive plus.
The key is choosing the right hardware from the start. For my desktop, I chose an Asus TUF gaming motherboard that had everything Intel. For my laptop, I chose a laptop that is supported by the manufacturer, in this case a Dell XPS 13.
(Selecting the correct hardware is no different to creating a Hackintosh setup, but the hardware support is infinitely better)
[+] [-] kaladin-jasnah|4 years ago|reply
[+] [-] Kalanos|4 years ago|reply
I've switched to: macOS > brew (basic cli utils & gui apps) > some basic zshrc (not ohmyzsh) > docker (not environment managers) > done.
^ but i've lost trust for them to handle dev tools for me.
[+] [-] bengalister|4 years ago|reply
The pipewire update needed by pulseaudio effects broke the sound output to my bluetooth headset. Also at the same time a Gnome update made my desktop environment unstable. I did not want to spend time on freezing dependencies, reverting some of them etc. Got tired at the time of these occasional maintenance operations, and not optimal hardware support. To be honest most of the update issues were related to Gnome major updates. I think an update only broke once my system, I could not login (pam configuration upgrade issue). I was running the LTS kernel.
I think I had better battery life on Linux thought. It must have improved with Firefox/Chromium hardware acceleration.
Arch is still my preferred distro for a dev machine thought.
Back to Windows, I just updated to W11 today, I very much like the changes in the UI. Also the ability to run some Linux GUI apps without starting a X server, exporting the DISPLAY, etc directly from the a WLS2 vm is nice.
Even thought I think I'll keep my development environment in a VM (arch) mainly because of docker. I found docker for desktop on Windows really too slow. Security wise I also prefer that, I install too many tools that I don't trust. The drawback of using a VM is of course performance but that is not that an issue for the kind of dev/work I do (NodeJs/Typescript/Vue/Python/Cloudformation/Terraform). Also sometimes I have an idea or something I'd like to test quickly and I don't want to start the VM and I just give up.
I'll probably stick to that 1 or 2 years, when I'll think about replacing my laptop. If I had to today, I'll probably go for a Macbook air m1.
[+] [-] calferreira|4 years ago|reply
[+] [-] Sayrus|4 years ago|reply
[1] https://github.com/phillipberndt/autorandr
[+] [-] extr|4 years ago|reply
* Windows has much better support for handling the Hi/Multi DPI setup that is my laptop + 2 4K screens. Wayland gets there, but unfortunately the font rendering is annoying bad, and the fractional scaling doesn't quite look right. And of course it's a very "just works" experience if you stay on the happy path. The Windows OneDrive + Office integration is great, and I have some photo software I run that is Windows-only.
* Arch gives a much better "pure laptop" experience. Hotkeys make everything easy, tiling WMs are just infinitely superior if you're working off one small screen. Also I get BETTER battery life on Arch, the laptop runs totally cool (and fans never spin up), and closing the lid puts it into true S3 sleep. It's very snappy and I use less RAM.
Also, I think people have this idea that if you use Arch the only "right" way to do it is to spend a million hours setting up a whole universe of CLI apps and becoming a wizard with hotkeys. I only use the CLI if it's truly easier than a GUI or something I don't use often. I basically just install the regular google-chrome-stable binary from AUR and then do everything on the web. Email? I set up a desktop link to fastmail. Spotify? Don't bother with native linux app, just set up a desktop link to the web player. Need to use Excel and don't feel like switching to windows? Just go use the web version, etc...Seriously, the move to webapps is doing more for the linux desktop experience than anything else.
[+] [-] belthesar|4 years ago|reply
When I do work, I generally remote into my desktop via VSCode anyway at this point (and I really like this workflow tbh), but because I don't daily drive the laptop, there's less time spent to improve the tooling, and the ratio of time spent working to time spent fixing a weird issue is much lower than on my desktop. With some of my work potentially benefiting from the new Apple SoCs, the reversal in direction back to good sane defaults in hardware layout, and the far greater likelihood that my ratio of work to fix ratio would significantly increase, I'm pretty sure that an Apple Silicon laptop is in my near future.
[+] [-] awill|4 years ago|reply
A MBP can get 15+ hours of battery life, supports suspend/resume, and in the case of the Intel models, smooth GPU switching between dedicated and onboard.
Linux does none of that well. On a desktop, none of that matters, but I wouldn't take those tradeoffs on a work laptop.
[+] [-] kureikain|4 years ago|reply
Nowadays I used Mac exclusively for all of my work + personal setup(except Server of course).
And I'm convince that the only reason for me to use it is due to iOS dev. If I can get away with it I will go back to Linux. Some points:
- No more dealing with homebrew and its bizarre upgrade policies. You don't know when a package will be break. You run `brew install python` and every thing broken.
- No more dealing with the weirdo of its disk image and the locked of system volume
- No more dealing with junks stuff in a few place such as `/Library` or `/System/Library` and `~/Library`
- No longer has to run docker in a VM
- Fuse just works
- No more buggy file watchers. For some reasons the file watcher (fsnotify package I belive) on Mac sometime works, sometime not and sometime just had CPU up to 100%
- No more custom syntax to work with fslimit
- No more plist file that also gzip and encrypt
- No more installing software by going to a website and download a stupid xip file.
- No more reverse engineering how a certain thing works and script it out.
But due to iOS works, not just iOS development I also help with CI/CD for mobile app and having access to a mac locally is handy, I have to keep using it.
[+] [-] stevencorona|4 years ago|reply
For the most part, daily driving Linux as my desktop has been great - no small thanks to Electron. Slack, Spotify, VSCode, etc. all just mostly work.
Going the arch-route took extra upfront work since you're effectively building a desktop environment from scratch, but the benefit is knowing exactly how -everything- works. If I press my "volume up" shortcut and the overlay volume bar isn't displayed, I know exactly which sway config and executable to look at. It's refreshingly simple.
The downsides are that upgrading is a bit anxiety producing (will I break anything?). HiDPI on Linux is still (in my experience) a bit of a mess. If you run wayland, you need to patch xwayland/sway/wlroots if you don't want blurry x11 apps. And there are some quirks- like, I can't drag files into Slack. Maybe it's fixable, but at some point you become satisfied with "good enough".
[+] [-] jefc1111|4 years ago|reply
It finally clicked when I tried Manjaro. The killer app for me is i3 Window manager (which you can of course use on other distributions). In general though I just like there being 'less'. I use Thinkpads and yes - have had issues with audio, and with sleep etc, but all solvable.
[+] [-] RistrettoMike|4 years ago|reply
[+] [-] anschwa|4 years ago|reply
[+] [-] samarthr1|4 years ago|reply
Since most of my tools are cross platform, (jetbrains ides), my work can just continue Grimm one place to another using GitHub for synchronisation.
[+] [-] nmstoker|4 years ago|reply
Presumably this only works in a certain kind of place: one with motivated individuals and without the "oh my God people might do what they think is sensible" types from an overactive Compliance group.
Personally this would be a very satisfying kind of place to work because the single biggest challenge I face in my company is the endless fiddling that the desktop team do breaking things, as it's is often done wrongly or should be left well alone. I don't begrudge the people in the team as they're actually decent but they're stuck having to juggle various demands and roll out a steady stream of MS changes faster than they appear to have capacity for.
[+] [-] fsflover|4 years ago|reply
Sounds like a problem of hardware not designed for Linux. Everything has been working out of the box for me on a Librem laptop.
[+] [-] otar|4 years ago|reply
[+] [-] dainiusse|4 years ago|reply
[+] [-] kwertyoowiyop|4 years ago|reply
[+] [-] flippinburgers|4 years ago|reply