I’m currently using ArchLinux with i3WM highly customizable with shortcuts
That having been said, I personally prefer the Apple way, because so much of the ecosystem just works in a way that you will never experience with Linux, no matter how much work you put in (but you do lose out on the joy of tinkering with things). It's a matter of preference.
That said, since you like i3, let me point out right away that window management on the Mac does _not_ work like you want it, and likely never will.
I use Moom (https://manytricks.com/moom/) for manually tiling windows since I can make it 99% consistent with what I have in Windows and Elementary, but I've used Amethyst (https://github.com/ianyh/Amethyst) when I felt like "going back" to i3, and it is sort of close enough.
That said, another important thing (if you intend to do development) is to absolutely not mess around with /usr/local and whatnot and understand how brew (https://brew.sh) works. Use pyenv, rbenv, etc. instead of messing about with system runtimes. Learn to live with the built-in terminal unless you absolutely must use iTerm (which I've stopped using because the built-in one is now plenty good enough), etc.
I also have some (old, and in need of update) tips over at https://taoofmac.com/space/howto/switch, but they're more focused on the Windows crowd, so take them with a pinch of salt.
The battery life is amazing, and I haven't heard the CPU fan yet (seriously, I compile things a lot, but the CPU fan remains idle and the laptop is cold). Real "Esc" key and a normal keyboard is a big plus.
In my case one external display was enough (as I only have one at home), also 16GB of RAM turned out not to be a problem for what I do so far (Go/C++/Python, some backend, some frontend, some IoT). Docker works fine, so does the rest of the tools I normally use.
As I mostly use terminal-based apps or VSCode - I didn't even notice any difference. It might be just me, but over the last few years I decided to get equally comfortable/productive with both macOS and Linux, so I trained myself to use the tools that work the same way on both platforms. So far it was well worth it.
Windows has improved a lot with WSL, but it still feels like your computer is not yours - there are ads and some privacy settings keep getting reverted on updates.
I strongly recommend it especially if you have other apple devices because the ecosystem _just works_
After 5+ months, the shortcut (involving control/option/command instead of ctrl/alt) and keyboard layout (for characters like äöüß»«) still drives me crazy. Daily. It's super hard to re-train your muscle memory regarding complex shortcuts from IDEs such as VS Code and IntelliJ. I've found myself to rather use the mouse for certain tasks because I cannot recall the correct shortcut.
In those 5 months, I've probably installed 5 macOS upgrades each requiring >6GB download and >30min installation time.
Besides that, I'm very happy with the hardware: overall quality, great touchpad, great performance, no fan in the MacBook Air.
If it's for work and sticking to defaults isn't your thing, then you're not going to enjoy it. You'll end up using it as a proxy to do stuff in Linux one way or another. Assuming you at least tried Hackintosh or macOS VM before to even consider it.
Personally I'm using Solus and as far as GUI goes it's pretty much vanilla Budgie, it's command line stuff that is somewhat tailored for me, that's all. I've been on the extremes and this is what I ended up with, customizing things is tiresome and a massive time-sink.
Linux (with an LTS release) just works, to the point where it is almost boring - which is a good thing for a work machine. OSX on the other hand would frequently break things to the point where I feared software updates. The Catalina upgrade for example killed my install and I had to format my drive.
Then the M1 came up, which promised a fixed keyboard, great battery life, great performance and backlit keyboard, so I switched over. Turns out, it was exactly as promised! Not much better, but notably not worse as it's often true with windows machines (marketing "8 hours" is usually "maybe 4-5 hours).
On the hardware side, I love it so far. Battery life when indoors is usually 10-12h (running webdev tools), but I noticed that outdoors at max brightness and with the same tools it's more like 7-8 hours. The only thing I'd change of the computer is the glossy screen for a matte one, so performance in the sun was even better. I don't bring my charger with me anymore when working from cafes, which is amazing.
On the software side, I knew (from my work machine) what kind of beast I was against. I still haven't found a way to properly stop Cmd+Q from killing the current app, which is way too close to Cmd+W for comfort. I will never like that closing the last window of an app doesn't actually close the app. I deeply dislike how many hoops I have to jump to install normal software from the internet. Nothing is a major stopper, just small inconveniences with no real "fix" since it's a walled garden.
I started trying macos a few weeks ago. If I'm going to go macos, I'm going to get one of the next macbooks. Before I drop £2.5-3k on a laptop almost entirely for the OS, I want to know if I actually like the OS. I bought the absolute cheapest mac mini with a view to sell it later.
It would take too long to explain why I want to switch, but essentially both windows and linux have different pain points that I'd just lost the will to work around. A key point is multidpi and fractional scaling. Windows is buggy. Linux/xrandr needs no explaination. My experience with wayland was not good.
It sounds trite, but macos just works. This is all I care about. Unlike in win/linux, I can spend my time doing things I care about, rather than configuring my computer. The most significant frustration is there's no way to easily switch windows from the keyboard à la twm. To tile the windows I use rectangle.
On to programming. I'm currently hacking with elixir, which works fine. I'm still using alacritty as my terminal, with fish, and haven't had any problems yet.
If everything continues as it is, at the end of the year I'll sell the mini and by a macbook.
I felt the change wasn’t all that big. I got my Firefox, terminal, homebrew replaced apt, etc. All the command line tools are there.
Under Linux, I just used XFCE so moving to macOS wasn’t a big deal. But lately I’m using Amethyst which is great.
The hardware is very nice. Incredible battery life and no driver issues ever.
But seriously, why don’t you try it?
The first 2 weeks were not pleasant and I almost returned the Mac. But I gradually got used to it, kept it, and did finish the emulator project, which now runs on little-endian CPUs too.
Now, 15 years later, I have dumped all my Windows machines, and while I use Linux on cloud VMs, I'd never try to get Linux running on a personal system. Every time I have tried (4-5x in the last 15 years), it has always turned into a time sink, with various things not working, and I just give up.
I am not big into customizing my environment. That also can become a huge time sink, and to me, it's for little gain. I need Emacs, some command line language tools, and I'm good.
Where Mac shines for me is: a) everything works without a lot of esoteric research into why my wireless breaks after a sleep (for example); b) Apple has GUI tools to do system administration; c) if I lookup how to do something with OSX, the answers are all mostly relevant. If I lookup how to do something unusual with Linux, like why my wireless doesn't work after sleep, there are many answers, but they are all dependent on which distribution of Linux is used, how it is configured, which exact version it is, what hardware I'm using, what rev of hardware I'm using, etc. It's just a lot more complicated.
I love Linux, don't get me wrong. I just hate sysadmining it. When I did it regularly because I owned a web company and had to nurse 5 servers, Linux sysadmin was easier because I had to do it, did it often enough that I didn't forget things, and had control of the configuration. But sysadmining a Linux laptop is a pain that I'd rather avoid by just using a Mac.
I'm very unhappy with macos, and hardware detection is a big issue.
None of my logitech Mx Master worked properly (1, 2 and 3) as Apple enforces a weird acceleration curve on the wheel, even when installing logitech's software. The latest ones are compatible bluetooth but support for these over bluetooth isn't good at all, so I have to use the unifying thingy that logitech gives you.
My Bluetooth headset (Bose 700) has this ridiculous bug where when switching codec (starting video call for instance), or turning the headset on and off will move the balance left or right. So for a while I was getting annoyed at bose because my headset was "broken". No, it turns out it's a software bug so annoying that someone wrote an app to fix it https://www.tunabellysoftware.com/balance_lock/ I remember finding a bug report from 2013, Apple still hasn't fixed it. It's almost as if they preferred you used their headphones.
Then there's the user experience, and it becomes more of an opinion at this point. Note that I used Gnome, which isn't to the taste of a lot of people so I might be an exception. But with that in mind:
Switching window with command tab is unintuitive, instead of switching from one window to another, you switch from one app to another. So going from one firefox window to another is a pain to do with a keyboard shortcut only (actually that's also gnome's default behaviour).
Window management in general is at best very clumsy. I still don't get why you'd want to maximise a window if it makes that application full screen. Splitting your screen to put two windows side by side requires some obscure long press on the green button (or is it with a key modifier?), or to install yet another program such a Spectacle.
The file explorer goes to great length to hide the root filesystem from you. It's also hard to convince it to open two windows so you can copy paste files from one folder to the next.
So none of that is related to the M1 part of your question, and on the plus side these new chips look very attractive. But heck I miss my gnome configuration.
edit: balancing my opinion a bit: on the plus side the concept of "App" that is just one file in a specific folder is very relaxing and a great user experience. As dev we're kind of forced to use alternative methods to install software, such as brew but I understand that's an acceptable trade-off for Apple
As a general non-development computer user (i.e. using standard office/productivity apps), I really enjoy working within the Apple ecosystem. As others have said, if you work within the ecosystem the way it was intended, it's a very positive experience. If you try and fight it, or treat it as Windows/Linux, your experience will be less positive (similar to if you try and treat Gmail as if it were Outlook). I'm a big user of multiple desktops and gestures.
For development, I actually use VSCode in remote SSH mode (which is absolutely incredible). I have a reserved t3a.xlarge Linux instance running in AWS which I basically do all my development on. It's backed up once a day using AWS Backup. Disclaimer is that I do this through my company so I enjoy a significant tax break on all of this (as a business expense). I can imagine that you might not want to spend your own money to do this.
For me, this means my development environment is hermetically sealed and I don't get any clashes between my user applications and development applications. I also write a lot of x86 specific software in CPP which runs on Linux. Moving between developing on MacOS with Clang (I always had problems with GCC on MacOS) to Linux with GCC was tricky. The eventual move to Arm by Apple would make this even harder.
As a general rule, I try and favour cloud services as much as possible and keep minimal data actually on my machine. I like the idea that I could throw my laptop under a bus and be up and running again very quickly (I basically need a browser, a terminal, and LastPass - any other apps are a bonus). Again, for me the driver is that if I don't have a functioning machine, I can't work and can't earn money. I don't particularly care who has my data (within limits).
Again, I have a specific set of circumstances and use cases but this is my experience.
I also switched permanently from Ubuntu on an X1 Carbon - docked into a 4k screen.
Unit tests and builds run faster, VS Code for both client and server dev is very responsive (3-4 react / python projects open at once with the language servers running), battery life is out of this world - I don't even pack my charger when I'm out on the road all day.
The machine just feels very snappy - even with 20+ apps open, videos playing, 50 or so browser tabs, watchdog running for dev (css, uvicorn). I feel like I spend a lot less time waiting on the machine. No fan spinning and barely any heat.
I really enjoy switching back now to using Microsoft Office and the Adobe Suite instead of the OSS alternatives.
I don't think RAM is like-for-like comparable in terms of capacity, because I see a lot less memory pressure on the 8GB air (I didn't want to wait the 2 weeks for the 16GB delivery) than on my 16GB i7 X1.
The disadvantages come down to architecture compatibility (problems building cryptography and numpy from pypi which was resolved). I offset this by also running a dev server environment on my HP Micro (with ESXi and a bunch of docker machines) over the LAN.
I've since switched my primary desktop to an M1 Mini (16GB) driving 2x 4k screens, and will use the Air for on-the-road work and personal browsing.
I still have the X1 Carbon sitting on my desk - but find myself using it less and less.
The only other disadvantages are number of USB-C ports on the Air - you'll probably want a hub with power pass-through. The display on the air also isn't the brightest - but still comparable to the X1. The pro is better in this regard. Third disadvantage is inability to access high-end GPU if you require one.
There is no real cost argument against the M1 - I don't even know how to spec an equiv X1 Carbon with similar performance, but even customizing the upgrade to a similar WQXGA display and 400 nits takes you to $3k+ (AUD) while the M1 air was $1950 (with 512GB). Leaves you change to get an x86 server to put on the LAN [0].
I'm a huge, huge fan of the M1 and endorse it to everyone I know. It really is a game-changer.
[0] Geekbench for the intel i7 i7-10510U in the X1 shows 992 single core score 3106 multicore, vs 1700 and 7375 for the M1 air. The display is 1440p (vs 1600) and 300 nits vs 400
You can buy an M1 MacBook Air to try, and return it to Apple within two weeks if you don't like it (or want to switch to another model like the pro).
One thing I would say is that macbook is best for people who want everything to work right outside of the box and you have a lot of commercial applications support on MacBook especially Adobe Suite.
But for Linux if you are into customization or making it more personalized to your needs then I would say Linux would be best choice but you might end up spending a lot of breaking and fixing things in that process which might use a lot of your time but its worth it since you’ll learn a ton in that process
I think the M series chips could be the new standard. However, I am skipping this generation. The Gen 1 products by Apple have historically been under supported and left in the dust after the next generation comes out. I would wait if I were you.
Check out what Louis Rossmann has to say about Apple hardware: https://www.youtube.com/watch?v=AUaJ8pDlxi8
Both my linux and Windows PC's sounds like an air plane is taking off for flight.
Performance is the icing on the cake.