Perhaps I'm a bit jaded after running into too much bullshit trying to get Linux running well on laptops in the 90s and 00s. Since I made the move I never wax nostalgic for the "Good Ole Days" of fighting for hours to get Wifi working properly.
Even assuming Apple released the specs so you could port Linux to M1, on top of the usual laptop driver issues around the trackpad, wifi drivers, and video drivers, you also have to deal with the Secure Enclave. Without that, you are stuck with either a non-encrypted drive or running drive encryption on the CPU which is likely going to kill many of the performance gains from using the Mac hardware. Likewise, without the Secure Enclave, you lose fingerprint auth.
Not anti-Linux by any means, but dropping Linux on the M1 isn't going to get you the same performance or battery life by any means. You are far better just going with a laptop which was designed to be Linux friendly to start with.
I can assure you that you didn't have to do that for quite some time and it's not that which people are looking for.
- Am looking for a system that lets me run any damn thing I want without pipups, blocks, firewalls, warnings, requiring signed binaries etc.
I am looking to run and develop for the same environment I end up deploying on.
- I want a system that has native docker support, systemd and makes updating the whole system or installing pretty much anything as easy as one terminal command.
- It's important for me to trust my system; where I know no single entity has more power over the machine than myself and no secret upgrades I didn't desire are going to be pushed my way.
- There's no telemetry in my ideal system, certainly not at the system level and patched out at the app level where possible.
- I want a system that is open, configurable, respects the four freedoms and is community ran.
macOS cannot give me this, no matter how "fundamentally BSD" it is. I value the freedom that free software gives that no closed-source BSD ever could.
Here’s a script (that no longer works apparently due to a new system signing restriction) that disabled some of those, to give an example of the amount of crap running by default: https://gist.github.com/pwnsdx/1217727ca57de2dd2a372afdd7a0f...
This is the reason I initially started using macOS more than a decade ago.
However, I've been told that I'm the wrong kind of user by Apple fans whenever I criticize Apple for transforming macOS from a pretty Unix into a locked-down App Store appliance.
The BSD parts of macOS are getting old and crufty, and are being locked out and overridden by Apple's proprietary and significantly-undocumented layer. For an example of this, check out how networking is done on modern macOS versus how networking is done on a BSD or Linux.
> Perhaps I'm a bit jaded after running into too much bullshit trying to get Linux running well on laptops in the 90s and 00s
Linux has gotten much better, and the problems of the 90s and 00s have vanished for my use case.
These days, at least to me, Linux is the pretty Unix that just works that macOS used to be.
I'm literally trying to figure out how to install Python 3.6 alongside 3.9 in MacOSX .... right now, and it's not a one line command.
So... No. It has massive issues with developer friendliness. New OSX stalls with bluetooth mice and randomly locks my keyboard(MBP 2020). The only thing I can commend OSX on - battery life on a MacBook and nothing else
To be fair, that's not easy on any OS (well, maybe Windows). Certainly on CentOS it is a chore to get two versions of Python installed simultaneously.
Unsupported versions - harder, but still a few commands...
Supported versions? sudo apt install python-3.6 and done.
conda create -n myenv python=3.6
Having multiple versions of system Pythons can be complicated. I've learned not to touch the system Python.Sure, it has a 'nice/well integrated GUI', but I'm not allowed to choose a different one. Good luck configuring the one they give you for different machines without lots of pointing and clicking. (Yes I know about `defaults write`, I tried to maintain a script to configure everything that way and similar for several years, things change every version, and it's a mess even when it works. It's not how they want you to do it, and it shows.)
The way that for Windows people Unix was "other" and bad and scary. Now we have legions of programmers who were brought up on Linux, and now think of Unix as "other."
And admining them was definitely very different aside from the basic shell commands.
Although hardware specific software from Apple is probably a big part of that draw too. I don't think we're ever going to see Linux prioritize a certain hardware and put in the effort to make it integrate as well as macs does.