It's probably a story you have read or seen multiple times.
I was in need of a new laptop, as the old one:
But also:
So I asked my company for an Apple MacBook Pro with a M1 Pro SOC and 32GB of RAM .
I will be mentioning several software and hardware products. I am not affiliated to any of these brands. I am simply mentioning specific products for the reason that they do the things I expect them to do. Especially buying hardware to accompany a newer generation of MacBooks is not that easy, as there are a large amount of conflicting reviews online. My point is to just sum up what works for me and why it works for me, so that others might have more confidence in trying out / buying these products for use-cases which align with mine.
There's some things I missed in the out of the box OSX experience. Below I will cover a few subjects which enhance my developer experience on OSX.
Maccy
which allows me to get my clipboard history.In my free time I tend to play FPS games, which results in me not being able to cope with mouse acceleration.
Linearmouse
is a tool to adjust mouse acceleration and accelerated scrolling on OSX. The good thing about this utility is that you can configure it per device. This means I can configure it for my 'WFH mouse' as well as my 'office mouse' whilst not changing the touchpad behavior.Theres two modes in which windows reside in OSX: float around randomly or be fullscreened. This floating around behavior results in losing a % of your screen real estate, which feels like a waste. I have multiple monitors to use every pixel available on them, not to have my windows floating around randomly.
Rectangle
provides very Windows-like behavior. It gives you shortcuts to snap for 50% or 100% of a monitor, whilst also giving you the ability to move windows to another monitor.AltTab
is a drop in replacement for the default Command+Tab app switcher in OSX. I am using AltTab because it is:
Alfred
is used to open any new application, kind of like the Windows button behavior, but with better search results. The Dock
in OSX feels useless to me, as does the taskbar
in Windows. I don't feel the need to use my mouse to open up an application. Using my keyboard, Alfred is basically a Search engine
for my OS like Spotlight, but better.BetterDisplay
allowed me to manually set refresh rate, which allowed me to use my monitors as intended.Homebrew
is the most downloaded tool by developers on OSX. Homebrew makes installation of applications a breeze. It even selects the correct platform versions of the software you need, all by typing one or two commands.asdf
before on Windows in Git Bash and it's been a life saver. It allows me to not worry about dependency versions in all of my projects, as it auto selects the correct version based on a .tool-versions
file located in the repository root. It works just as well if not better on OSXModern times require for modern solutions, which means I needed to be creative to connect to all of my peripherals.
I am using a CalDigit Element Hub TB4
dock to connect all my peripherals to my Mac as follows:
HDMI cable
for one my monitors (more on this later), and the one Thunderbolt 4 cable
for power delivery and passing through the rest of the peripherals.I have an I-tec USB 3.0 16 port hub
(externally powered up to 90W, it's basically the OEM version of the Sabrent or Delock 16 port hub, but cheaper) connected to the CalDigit Element Hub. Below the list of peripherals I am connecting through this:
Belkin USB-C Gigabit Ethernet dongle
which is directly connected to the CalDigit Element Hub.DIGITUS USB 3.0 Sharing-switch
which allows me to switch all my peripherals between my MacBook and my desktop computer by the press of one button. This little device lets my entire setup act as a KVM, and allows it be expandable. A schematic of it all of how I planned it out:
Even in the office, in the USB C and thunderbolt world, you will be using a dongle if you like external peripherals.
I am using a generic USB C dongle (which I'm pretty sure has a brand, but I simply cannot even find the name of it) to connect my Varmilo VA87M Panda keyboard and my SteelSeries Rival 300 mouse. Any external monitor is connected through the MacBook's HDMI port.
After a WFH setup like that, you expected something more complicated right? It actually does not to be complicated if it just works for whatever you are doing I guess.
Transitioning from a Windows setup to an OSX setup is not easy. The out of the box experience did not really cut it for me, which meant I needed some tools to boost my productivity.
Attempting to pair a large amount of peripherals with a new MacBook is also not easy. Doing it the hard way trying to keep direct cables to the MacBook a minimum also does not help. It is however possible, especially without having to buy an off-the-shelf KVM which is, based on my online research, mostly unreliable. Was it worth it for my use-case? Entirely, I love the fact that I only need to plug in two cables when coming home.
Was switching to a MacBook worth it? After customizing the hell out of my setup, I have not come across any blocker up till now. The hardware is fast and responsive, the battery life is great, the software does what I want it to do. It's not like I feel like switching to another machine. Except maybe... an M2 MacBook or even M3 MacBook in the future? Because more power equals better... right?