Home

Published

- 3 min read

Setup MacOS for development

img of Setup MacOS for development

Photo by Josh Sorenson from Pexels

For the longest time, my primary OS was Windows. With the M1 chip, I decided to switch to a MacBook Air. Here is a collection of programs and settings I use to make macOS work a little better for me.

General Settings

Natural Scrolling

By default, the Mouse wheel scrolls in the opposite direction than in Windows. Apple decided to do this to make it consistent between their Phone, iPads and Laptops. However, I cannot get used to working like that.

To disable it:

  1. System Preferences > Accessibility > Mouse
  2. Disable “Scroll direction Natural”

Shaking Mouse enlarges Mouse Arrow

By default, macOS has a feature enabled that allows you to find your mouse pointer. You have to shake your mouse and the pointer gets gigantic. When working with 2D or 3D programs, this can become very annoying.

To disable it:

  1. System Preferences > Accessibility > Cursor
  2. Disable the checkbox “Shake mouse pointer to locate”

Disable Quick Note

When you go with your mouse to the lower right corner, you can create a ‘Quick Note’ for the Apple Notes app.

Unfortunately, it is always the same ‘Piece of Paper’, there is no way to switch to a new document or the actual Notes App. - thus, it is very limited what you can do with this.

  1. System Preferences > Mission Control > Hot corners
  2. Switch the bottom right from ‘Quick Note’ to ‘-’ (Or you can set it to ‘Mission Control’ to see an overview of your currently open apps

Wallpaper

You can change your wallpaper by going to System Preferences > Desktop & ScreenSaver.

But the real question is where do you find great Wallpapers?

System Apps

Window Snapping (Rectangle)

MacOS is missing window arrangement features (i.e. Windows Aero Snap). Rectangle adds this functionality, is customizable - and even has keyboard shortcut support.

Source: https://github.com/rxhanson/Rectangle

brew install --cask rectangle

Window Switcher (Alt-Tab)

MacOS has a wierd default behavior when switching between windows. It does not switch between windows, but between applications. This is very annoying when you have multiple windows open in the same application. AltTab fixes this.

Source: AltTab

brew install --cask alt-tab

Note: By default the shortcut is set to Option+Tab. You can change it to Alt+Tab in the app settings.

Home-End Key (Karabiner-Elements)

When you use a mac the Home and End key do not jump to the beginning or end of a line. It is mapped to FN+Left or FN+Right. However if you use an external keyboard, suddenly you do not have a FN key anymore.

*Note: You can remap your keys using ~/Library/KeyBindings/DefaultKeyBinding.dict, However in my experiments it did not work with Electron apps.

I use Karabiner-Elements to remap the keys. After the setup you you can download presets from here to add the modifications for the home and end keys. You probably will want the home and end modification as well as the shift-home and shift-end modification.

Stats

A small tool to display the system information in the taskbar.

  • For Intel Macs, you can use it to monitor the device temperature.
  • With M1 Macs, that run so silent, you can see if the computer is stuck or working on a heavy computing task.

https://github.com/exelban/stats

Terminal Improvements

Homebrew

A package manager for macOS.

https://brew.sh/

Fig.io

An autocomplete plugin for working with the terminal

https://fig.io/

Apps

Obsidian

An incredible note taking tool.

https://obsidian.md/

QLMarkdown

Adds a preview render for Markdown files in Finder.

brew install --cask qlmarkdown *maybe it needs the —no-quarantine flag (if you trust the source)

You have to run the app once to set up the render settings, or it will only render as plain text.

https://github.com/sbarex/QLMarkdown

Git

Update git to 2.37

    brew install git

Enable auto setup remote to push branches that you did not yet setup on the remote

    git config --global push.autoSetupRemote true