I really tried to like macOS for an entire year. I used Yabai[1] as tilling window manager which is much better than Amethyst mentioned in the article. I also wrote my own compose key tool macos-compose[2] and rofi-like clone choosem[3] (eventually bought into Alfred).<p>Yet with all of this effort I still went back to linux after a year (Arch with Qtile and Gnome). What really killed macos for me was the fact that animations could not be disabled entirely and everything felt like it's behind several ms of a delay. I work on the move so I don't have the luxury of multi-screen setup so switching between programs, workspaces and windows is the most important part of my workflow - it just drove me nuts.<p>Now I run simple Lenovo yoga laptop with arch+qtile+gnome and honestly, my performance at work at least doubled. That's my anecdote anyway.<p>1 - <a href="https://github.com/koekeishiya/yabai" rel="nofollow">https://github.com/koekeishiya/yabai</a><p>2 - <a href="https://github.com/Granitosaurus/macos-compose" rel="nofollow">https://github.com/Granitosaurus/macos-compose</a><p>3 - <a href="https://github.com/Granitosaurus/choosem" rel="nofollow">https://github.com/Granitosaurus/choosem</a>
I did the exact opposite. I was on MacOS since 10.2.<p>But lately I felt things have become way too locked down (both hardware and software), too dumbed down (too many apps resemble mobile apps with limited functionality) and too opinionated. Sometimes I just want things differently. Another reason was that many new features are specific to iCloud integration and as I use many OSes (both computer and mobile) I could not take advantage of those anyway. I need cross platform. So a lot of selling points became irrelevant.<p>I moved to FreeBSD with KDE on top and it felt like a breath of fresh air finally being able to set up my system the way I want it. This is so empowering.<p>It became my daily driver about a year ago and I haven't looked back though I still use Mac and Windows for work, Windows personally for gaming and Linux for some servers.<p>Of course I lost some stuff too like Apple's excellent multi DPI and great hardware integration. And many apps that were great like pixelmator. But I gained a lot of configurability and the ability to upgrade my hardware again.
For me Linux is about freedom. Other systems might be better in UI/UX or performance (e.g. give more FPS in games for NVidia cards), but I remember the times when Microsoft dominated the IT world and it looked scary.<p>All corporations strive to fragment the market using non-compatible technologies and then to monopolize the market by consuming other fragments.<p>This strategy failed in the 90s with the arrival of Linux. Although many times I felt like the whole world will become Microsoft/Wintel, I think we barely missed.<p>Now, corporations are trying to do it e.g. via forcing everybody into the cloud and killing open protocols. E.g. I have several email accounts and I can't gather mail from all of my mailboxes in one application. Situation is even worse with Calendars. I have two jobs and also my own personal calendar server and I can't collect all my calendars in one app also. I have to routinely check Google Calendar, because even though I can add it to my Thunderbird Calendar, moved or canceled events changes are not propagating to Thunderbird. And I can't integrate Microsoft Outlook calendar into my Thunderbird at all.<p>I really don't want to rely on whims of one corporation. Also, regarding MacBooks: I remember when the touchbar had no alternatives and it is really awful. This is what monopoly means: you have to live with bad decisions. You have to pay absurd money for a piece of cloth or a roller for the desktop case.
Give <a href="https://rectangleapp.com/" rel="nofollow">https://rectangleapp.com/</a> a try if you want a window manager that can place your windows around the screen nicely.
I used to love iTerm2 but the only thing that it was missing was that I couldn't set it up as I wanted with a script when I needed to install a new macOS from scratch (there's probably a feature that allows that and I didn't notice).<p>I moved to tmux + Alacritty [1] (Rust hype and speeed) which is cross-platform and only needs its config file, a nice and clean yaml, in the right place to restore it as I want. Now when I full wipe my Mac I just need to run the script that pulls the config file from GitHub and tada! Also, the configuration file is almost identical to my Linux one so I can move around similarly and have a consistent look.<p>I'm also used to replace macOS programs like `sed`,`grep`,`getopt`,`ssh` (macOS OpenBSD one won't work with Yubikey),`coreutils` and `awk` with the GNU version. You can download them with Homebrew and to replace them with the macOS default ones you just need to put them at the beginning of your path like this:<p><pre><code> export PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH
</code></pre>
[1]: <a href="https://github.com/alacritty/alacritty" rel="nofollow">https://github.com/alacritty/alacritty</a>
I highly recommend Hammerspoon[1] for any macOS automation tasks you want to do. It is not only extensible but alleviates the need for using multiple tools due to its broad feature set.<p>The only downside after two years of using Hammerspoon is that the community is small since it isn't as user-friendly as yabai, amethyst, etc. However, you'll probably enjoy its open-ended nature, given your article.<p>[1] <a href="https://github.com/Hammerspoon/hammerspoon" rel="nofollow">https://github.com/Hammerspoon/hammerspoon</a>
What works best for me is to not really fiddle with the setup too much beyond the defaults or to install redundant stuff, like using brew to get a fresher version of ssh or installing iterm2 when terminal does the job, or otherwise spending time on window dressing.<p>I try and lean into the philosophy of the mac, which is that its a desktop which behaves like a real desk. Right now I have 15 windows from various applications open on this one desktop, and its in a giant pile just as if I had a bunch of papers and files in a messy pile on my desk. This works great because you can press a button or swipe along the trackpad and spread out this pile, exposing everything that's in it along with all your other desktops, as if you are spreading out the stacks of papers on your desk.<p>IMO this method is how you focus on stuff anyway. Your eyes aren't looking at the 12 different things in your tiling window manager at once, so you might as well just have a few things pulled up on top of your pile of windows that are of focus and take advantage of your screen real estate rather than have a bunch of tiny panes artfully spaced. The mouse makes it easy to do fast and sloppy window adjustments which are good enough.
A few tips/software recommendation in no particular order:<p>- On iTerm2 you can setup a system wide hotkey to toggle a floating terminal in front of all your windows, whatever you're doing [1]. This works even in full screen apps. It really changed my workflow with iTerm, and is really handy.<p>- For system stats in the menubar, I really recommend iStat Menu [2]. It's paid (12$ for a license), but the quality of the graphs and interface makes it well worth it imo.<p>- If you have an external display and want to precisely tweek your resolution, I recommend SWitchResX [3]. It's mostly a GUI that wraps some display CLI tools. With it I adjust the resolution of my 4k external monitor currently, running it at 3200x1800 with HiDPI, and adjust it based on my eye fatigue.<p>- As a more powerful and versatile replacement to Spotlight (Cmd+Space), Alfred [4]. You can customize it to run anything you want, from converting timestamps to dates, opening apps, search the whole system, run scripts, etc<p>- If you have too many icons in your menubar and want to hide some (either totally or behind a button click), Bartender [5]<p>[1]: <a href="https://apple.stackexchange.com/questions/48796/iterm-as-a-slide-out-terminal-from-the-top-of-the-screen" rel="nofollow">https://apple.stackexchange.com/questions/48796/iterm-as-a-s...</a><p>[2]: <a href="https://bjango.com/mac/istatmenus/" rel="nofollow">https://bjango.com/mac/istatmenus/</a><p>[3]: <a href="https://www.madrau.com/" rel="nofollow">https://www.madrau.com/</a><p>[4]: <a href="https://www.alfredapp.com/" rel="nofollow">https://www.alfredapp.com/</a><p>[5]: <a href="https://www.macbartender.com/" rel="nofollow">https://www.macbartender.com/</a>
I have been using computers for over 30 years, and each and every one has issues, bugs, finicky bits that suck the life out of you and the minutes out of the hours. DOS, SunOS, *BSD, Linux and Mac. All of em.<p>Just pick your poison everyone, and let us all get on with our lives.<p>Edit: ...and Windows 3.11 and up.
It sounds like this could be the year of OS X on the desktop!<p>I jest, but this all sounds like a lot more trouble to get the experience you want than most Linux distros would give you. It's not the primary audience of OS X, sure, but it's nice to see how well-served by Linux a sizable slice of users is.
> A better solution for me was using Karabiner-Elements to only swap the right command and option keys:<p>macOS has a built in tool called hidutil[1] for simple keyboard remapping. Prefer to use that since Karabiner-Elements has some issues on M1 and macOS Big Sur. I use this[2] tool to generate a simple launchd config.<p>1 - <a href="https://developer.apple.com/library/archive/technotes/tn2450/_index.html" rel="nofollow">https://developer.apple.com/library/archive/technotes/tn2450...</a>
2 - <a href="https://hidutil-generator.netlify.app" rel="nofollow">https://hidutil-generator.netlify.app</a>
I recently went back to Linux after using MacOS for seemingly ever.<p>I’m on Ubuntu LTS with ZFS and i3 and while I miss the amazing hardware of my 2020 MacBook (non M1) I just love the flexibility of the Linux setup: package management is a first class thing, containers are too; Magnet was nice but it’s no i3. And overall things just work which is really nice.<p>I do miss airdrop and access to messages and other aspects of the apple ecosystem that I enjoy from lock-in but I’m happy for now and going to keep at it.
I was on macs during 2015-2021 and went back to Linux this year. I'm not entirely happy, although sway/i3 is so much better than macos's desktop.<p>But I miss things like Bluetooth, wlan, sound, graphics just working. Yes, that's still a thing in Linux even if not quite as badly as 5ish years ago.<p>I think I'll be going back to macs.
Ought to use Mos for the mouse scrolling fix. Works pretty well. I think there is a brew cask for it too.
<a href="https://mos.caldis.me/" rel="nofollow">https://mos.caldis.me/</a><p>I also used Linux for years and that has separate options (Gnome) for mouse and trackpad scroll direction. Really sad that this isn’t built in functionality. But hey, we got more emojis and FaceTime faces! /s
This is great guide to making macOS more comfortable for Linux users. I'm a pretty serious macOS (and Linux) user and was pleased to have learned something valuable from this article.<p>defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool YES<p>It drives me crazy that my desktop Hackintosh wakes up every couple of hours, and I'm really hoping this fixes it.
I mostly switched to librem 14, arch linux (i3wm, gnome from time to time), still using a mac for work (mostly presentations, video conferencing). Development tends to get more and more difficult on the mac for me (the security check for running shell programs is sometimes annoying. Currently hunting down a node compile error ... works perfectly under arch).<p>For my mac:
I tried Amethyst, as others mentioned Yabai seems better.
Yet, I switched to just to hammerspoon scripts, for tiling/desktop management etc.:
<a href="http://www.hammerspoon.org/" rel="nofollow">http://www.hammerspoon.org/</a>
It fits my needs and is adjustable.<p>For shell: iterm2 is ok, yet I'm currently in love with kitty.
<a href="https://github.com/kovidgoyal/kitty" rel="nofollow">https://github.com/kovidgoyal/kitty</a><p>Brew alternatives: macports, nix (<a href="https://nixos.org" rel="nofollow">https://nixos.org</a>) I love the idea, yet still haven't gotten around to use it much.<p>shell: fish
editor: nvim / neovide
Mouse acceleration: to disable it I've been using SteelSeries ExactMouse Tool (<a href="https://steelseries.com/engine" rel="nofollow">https://steelseries.com/engine</a> -> expand Miscellaneous at the very bottom).
It's very lightweight and I just install it once and never think about it again.<p>Mouse scrolling: I always found this to be a bad experience on OSX/macOS so I've been using Smooze. It allows you to set the scroll curve to your own liking. It has other features that I don't use and although it's not free, iirc it was cheap and definitely worth it.<p>Window management: a lot of others have mentioned great tools like Rectangle, but I've found Moom to be slightly better for my use cases. I prefer it over Rectangle (although Moom doesn't have window snapping so I actually use both) because you can set a custom grid e.g. 12x12 and have windows resize anywhere on the grid. With Rectangle, you can only choose from the (many) presets but unfortunately no customization.
As a linux user since the Ubuntu 5.04 Hoary Hedgehog days, this is the first time in 16 years I've been tempted to switch to a mac. From what it looks like, the M1 seems to be deliver incredible performance at little power consumption. If there was a way to put linux on it without tinkering, I'd do it in a heartbeat.<p>But because I can't, I'm seriously considering what it'd take to switch from my current setup (ubuntu 20.04, cinnamon, slide dock) to a mac. Keyboard shortcuts and workspaces are top of mind. I've also never been a fan of mac's dock where it groups all instances of an application together - I much prefer a classic Windows tray where each instance of an application has its own box I can easily alt-tab between. I also think mac's file manager isn't great.<p>Much appreciated OP - may shoot you some questions over email.
<Unpopular Opinion> I’ve used msft windows most of my life. Recently switched to a macOS and for the life of me just can’t get used to the switch between alt tab and cmd tab behavior. Also windows explorer > finder.<p>Yes Mac OS looks cooler I guess, but I’ve found windows very practical.
I wasn't satisfied with the Automator way to make a new-terminal shortcut, it was kinda slow, and not 100% reliable. I found FastScripts and was able to make it fast and reliable. (I still use version 2.8, version 3 was just released, haven't tried it.) <a href="https://redsweater.com/fastscripts/" rel="nofollow">https://redsweater.com/fastscripts/</a><p>For the mouse wheel, there's a nice minimal proper fix: <a href="https://github.com/emreyolcu/discrete-scroll" rel="nofollow">https://github.com/emreyolcu/discrete-scroll</a>
Moved to mac from Linux around 2010 after being exposed to it by a few other developers. Never ever looked back.<p>Sitting on a 2013 mbp maxed out, just required a battery change this year. Still usable but will move to the M1 2022.<p>Blows my mind devs are still stuck on windows and linux machines.
Possibly worth taking a look at MacPorts and Pkgsrc, both of which are arguably better package managers than Homebrew, although the latter has a hell of a lot more packages (and is pretty easy to roll your own packages for).
Hammerspoon has been really helpful in tiling windows with my keyboard and adding keybings like "jump to application". Also, there are a lot of useful plugins that add even more functionality like a fuzzy searchable clipboard history.
Lots of links/tips on windows management on macOS in this thread. For people interested, you can check out my FLOSS app which brings Windows alt-tab to macOS: <a href="https://alt-tab-macos.netlify.app/" rel="nofollow">https://alt-tab-macos.netlify.app/</a><p>I investigated this space for years so check out the list of alternatives on the page linked above as well.<p>Also note that i'm looking for someone to take over the project: <a href="https://github.com/lwouis/alt-tab-macos/issues/1179" rel="nofollow">https://github.com/lwouis/alt-tab-macos/issues/1179</a>
> So I decided to use the native macOS window management instead and try to get used to it instead of actively fighting against it.<p>That’s something I wouldn’t have expected to read here, as I myself find it quite hard to change paradigms. I learned that the hard way when I had to use a Mac for the first time after using Windows and Linux my whole life, and tried to use it as I wanted instead of how it’s intended to be used. Once you know how the paradigm works, you can try to adapt it to your workflow, but not before or you’ll be frustrated quickly.
On macOS, over the years, I have been trying to stay with the default native apps and programs that comes with the OSes as much as possible. You might need to tinker and learn the nuances (shortcuts, etc). However, I continue to tinker with other must-have tools, utilities, and programs to get things done.<p>1Password, Alfred, Lulu, Rectangle, Bartender (Hidden Bar is the open source alternative) - <a href="https://oinam.fyi/digital/apple/" rel="nofollow">https://oinam.fyi/digital/apple/</a>
Since a few people already have mentioned Rectangle for Window management, I wanted to point out that there is also a payed version of it called Hookshot (<a href="https://hookshot.app/" rel="nofollow">https://hookshot.app/</a>). The same developer also offers a great app called Hyperkey (<a href="https://hyperkey.app/" rel="nofollow">https://hyperkey.app/</a>) which defines CAPS as your hyper-key.
> Putting the display to sleep easily by moving the mouse cursor in the corner is nice (I’d still prefer a keyboard shortcut), and can be enabled in the system preferences:<p>You can lock the screen with cmd+ctrl q.<p>Control–Shift–Power button* or Control–Shift–Media Eject : Put your displays to sleep.<p>Here are some other keyboard shortcuts: <a href="https://support.apple.com/en-us/HT201236" rel="nofollow">https://support.apple.com/en-us/HT201236</a>
Folk interested in exploring the macOS window manager landscape are welcome to check out my annotated list at <a href="https://taoofmac.com/space/apps/window_managers" rel="nofollow">https://taoofmac.com/space/apps/window_managers</a><p>I have been bouncing between Moom and Phoenix of late, and still looking for a good auto-tiling option that isn’t Amethyst (which is OK, but doesn’t do all I want).
> So here I noticed a major difference in how Homebrew seems to work compared to Arch Linux for example. On Arch Linux applications are built from source code centrally instead of relying on binaries from a vendor.<p>Homebrew also builds from source, but it uses cached builds they call bottles. I believe other package managers that build from source also used cached builds, I don’t know about Arch.
You can show/hide terminal windows with a hotkey natively using iTerm2.<p>Under Preferences > Keys > Hotkey I've set the system-wide hotkey to option+space which means if I need a terminal, I can press those keys and have iTerm pop up over my active window.<p>Pressing them again hides the window and brings focus back to the previously active window which has been great for productivity.
I am thinking about getting a MacBook Pro M1 Max as well, however I would prefer running Linux on it... hopefully
Asahi Linux (<a href="https://asahilinux.org" rel="nofollow noreferrer">https://asahilinux.org</a>) is usable soon.<p>Or is there (or will there be) a serious competition to the MacBooks in 2022? It doesn't look like.
From the article:<p>> "My current assumption is that the videotoolbox hardware decoding support doesn’t support the same codecs in mpv yet as it does in Firefox"<p>mpv supports videotoolbox hardware decoding of h264/h265, it's just not enabled by default. It prevents the use of most filters and has slightly lower quality decoding in my experience.<p>To get hardware decoding in mpv and hopefully get the same minimal CPU usage as Firefox just call mpv with `--hwdec=videotoolbox` or add `hwdec=videotoolbox` to your `~/.config/mpv/mpv.conf` file.<p>Also from the article:<p>> "here I noticed a major difference in how Homebrew seems to work compared to Arch Linux for example. On Arch Linux applications are built from source code centrally instead of relying on binaries from a vendor."<p>This is true for Homebrew formula as well, like the mpv formula, just not Homebrew casks. Most casks are proprietary closed source applications.
I faced similar issues with the Swiss keyboard layout. I suggest switching to the “US International“ layout and use the dead keys to obtain the umlauts. There’s also a keyboard option that enables a umlaut menu with a long press on the keyboard- if you really want to avoid the dead keys (this might help: <a href="https://apple.stackexchange.com/questions/254094/character-accent-menu-doesnt-appear-anymore-in-macos-sierra" rel="nofollow">https://apple.stackexchange.com/questions/254094/character-a...</a>).<p>The Apple “English International“ keyboard has a big enter key - if you dislike the small enter key of the US keyboard layout.
I see way more people advocating. Homebrew now than a few years ago.<p>I chose MacPorts back then since it seemed a bit better designed as a package manager but these days I see few people suggesting it.<p>What’s the current consensus - is homebrew now good enough to consider switching?
What’s the current state of tiling managers on macOS? Seems Rectangle, Magnet and Amethyst are all mentioned below, has anyone done the “pepsi challenge” and cares to share their findings?<p>I’d be grateful but I guess I just have to try all three myself…
I have the same MX Master 3 Mouse and had lots of troubles getting the acceleration and scroll feel "normal" on macOS. SmoothScroll[1] was the best for correcting the inconsistent rate of scrolling down pages -- however it was not free, so I stopped using it. I ended up using the free version of USB Overdrive[2] as it allows you to disable acceleration among other things.<p>1 - <a href="https://www.smoothscroll.net/win/" rel="nofollow">https://www.smoothscroll.net/win/</a><p>2 - <a href="https://www.usboverdrive.com/" rel="nofollow">https://www.usboverdrive.com/</a>
I switched back to linux because I enjoyed it more than OSX, maybe I am strange but I find Gnome more "focus".<p>I was using ubuntu for the last year and hardly customized it, just using Gnome and my tools. (altho i mostly just need a terminal/web browser/vscode and compilers)<p>last three months I have been ill and had to stay at the hospital with plenty of time in my hand in between chemo so I decided to dig more into linux internals and went with nixos....<p>I learned so much during that time about my system and how it works. I think I actually enjoy more computing since then...
I don’t get all this hate for animations… they really are barely noticeable! Relax a bit! And also windows manager… I hardly need to have more that 2 windows at the same time together in the same screen!
Amethyst has some quirks, and you need to restart it at least once a day. But releases are fairly frequent and I use it daily. I really like it. I've been using alacritty with tmux because I don't need all the bells and whistles in iterm2. macos mostly has bsd versions of command line tools which tend to lack a lot of features, so `brew install coreutils gsed` gives you sane versions of these tools at the cost of having to prefix everything with `g`. But good enough.
I read all this and after seeing all the workarounds and special fixes to get back to a good workflow he had on the mac... I just have one question: Why use a Mac?<p>So he likes the extra performance (which he won't use 99.99% of the time), and he likes the screen (why not use an external screen like most sane people?).<p>I still don't understand. Why give up the amazing arch Linux for shitty Mac OS? Makes no sense whatsoever.
Reasonably well written blog post all things considered, although I'm not clear as to why the author felt the need to install <i>vim</i>, <i>ssh</i> and <i>rsync</i> using <i>brew</i> when all three are provided by default on MacOS ?
Author, to help you with the mouse scrolling direction: <a href="https://github.com/ther0n/UnnaturalScrollWheels" rel="nofollow">https://github.com/ther0n/UnnaturalScrollWheels</a>
Regarding shortcuts: one that often gets overlooked is <i>Move focus to next window</i> under <i>Shortcuts > Keyboard</i> which lets you cycle between windows of the active application. I have it mapped to <i>⌘`</i>.
"apple's builtin music player"<p>Are they talking about iTunes? oof. I'm an apple all the way person, and even I would say "noooooooooo" if you don't have an existing collection of iTunes music
Never tried it, but you should be able to copy `StandardKeyBinding.dict` to your library, convert it to XML and edit keybindings directly.<p>I also like 'Spectacle' to move windows around.
You might want to try Ionica (<a href="https://ionica.app" rel="nofollow">https://ionica.app</a>). UX will be better than Foobar’s, that’s for sure.
Try Swinsian[1] for music, significantly better than the default app IMO.<p>[1] <a href="https://swinsian.com/" rel="nofollow">https://swinsian.com/</a>
> macOS is working better than expected for me so far, and definitely better than Windows would.<p>Which begs the question, why did he switch to MacOS in the first place?
I'm always interested in these setup stories and comments on HN.<p>This one seems to be lacking the obligatory XKCD 1806. So here it is.<p><a href="https://xkcd.com/1806/" rel="nofollow">https://xkcd.com/1806/</a>
Seriously? Whyyyyy?<p>I mean I completely get why my <i>dad</i> uses MacOS over Linux; nothing for him to think about and all his devices just sort of work.<p>But if you're at this level of customization, why would you take the chance? (I.e. you know Apple's just going to change something weird on you.)
> 3 times the CPU performance of my desktop system with an Intel i7 6700k<p>I love those performance comparisons with 5-10 years old processors. Let's compare M1 with 80186 from 1982, then it will look even faster!<p>Here is comparison with the new mobile Intel processor that will be released next month:<p><a href="https://browser.geekbench.com/v5/cpu/compare/11905527?baseline=11714129" rel="nofollow">https://browser.geekbench.com/v5/cpu/compare/11905527?baseli...</a>