DEV Community

Cover image for Creating a Cleaner MacOS Workspace
Max Bridgland
Max Bridgland

Posted on

Creating a Cleaner MacOS Workspace

The default macOS window management and desktop environment is great don't get me wrong. However, after using alternative window management solutions on Linux distros, I've craved a better solution. I've enjoyed ricing my Linux desktops for the past couple of years, and in doing so I've looked for similar tools I can use on macOS.

Alt Text

In this article I'll be walking you through how to get a setup resembling the photo above. The tools in use you see are:

  • yabai (Window Management)
  • skhd (Hotkeys for yabai, running commands, etc)
  • iTerm2 (Terminal Emulator)
  • pywal (Colorscheme Generator)
  • Übersicht (JSX Widgets on the desktop)
  • ncmpcpp and mopidy (Spotify music player on the command line)
  • dmenu-mac (Alternative Spotlight launcher)
  • gotop (htop alternative)

Getting Started

yabai

Alt Text

Yabai is a window manager that came from the creators older WM known as chunkwm. If you've ever used i3 or i3-gaps, it's extremely similar. Yabai works as a tiling window manager. There are a ton of customization options you can find on the GitHub Wiki.

To install follow the instructions found here. Make sure to disable SIP on your Mac!

If you'd like a similar setup to what I have, you can use the .yabairc file found here

skhd

skhd (simple hotkey daemon) is a hotkey manager for macOS. It was created by the same person as yabai and works hand in hand with it. Using skhd you can create keybinds to edit your workspace, launch applications, change system values, and more.

To install follow the instructions found here. If you'd like a config that already includes some yabai bindings, you can use the .skhdrc file found here

iTerm2

iTerm2 is a great macOS terminal emulator. It offers a massive amount of customization for your setup and even works with pywal. Pywal is a tool that will generate colorschemes from images and set your wallpaper w/ said image.

To install iTerm2, grab it here.

If you'd like to use my profile, simply open Profiles > Default > Colors: Under colorscheme select import > import this file and select it as your colorscheme.

To install pywal, run pip3 install pywal haishoku. I find that the haishoku backend generates the most favorable colorschemes.

ncmpcpp/mopidy

Alt Text

ncmpcpp is a command line based music player. You can see it in use in the two terminals on the top of the image. It has the ability to control mpd which I use mopidy to host. Mopidy is an mpd alternative that offers an MPD-like protocol and plugins. I use mopidy because it allows me to add Spotify to my mpd server! This means I get all spotify functionality through mpd.

First install mopidy, mopidy-mpd, and mopidy-spotify. To do so you can follow the steps here. Next follow the steps here to install ncmpcpp. Ignore the steps for installing mpd

I haven't changed much to those configs from the default so feel free to experiment on your own!

gotop

Gotop is an awesome go based process manager. It shows you a lot of information about your system and what processes are using what. You can install it by first installing Go and then running go get -u github.com/cjbassi/gotop

Other Customizations

You can also use custom CSS for Firefox and theme that. I made a tool to make the process easier. Read more about Foxify-CLI here.

Top comments (8)

Collapse
 
mrbrazel profile image
Taylor Brazelton

Loved the post. I moved to a mac from a linux box about 2 years ago and have been craving some i3 like action. Sadly I'm not sold on disabling SIP. I need to learn more about it before making a decision about security.

Collapse
 
m4cs profile image
Max Bridgland

For sure! Lots of people are worried when it comes to disabling SIP. As long as you know what you download/run on your computer, it will be fine. With SIP disabled you still have to Control + Open Applications and other security measures like that :)

Collapse
 
joeldpalmer profile image
Joel Palmer

This is very nice. Another tiling window manager to try is Amethyst: Tiling window manager for macOS along the lines of xmonad. It's free and open-source. Great experience with iTerm and Amethyst. ianyh.com/amethyst/

Collapse
 
m4cs profile image
Max Bridgland

Amethyst is awesome! I originally used that for a long time but recently switched to yabai as it gave me a bigger i3 vibe. Amethyst is def worth it to check out for easy configuration and keybinds though!

Collapse
 
almorelle profile image
Alexis Morelle • Edited

The gotop repo says :
NO LONGER MAINTAINED. A maintained fork of gotop exists at github.com/xxxserxxx/gotop
;)

Collapse
 
m4cs profile image
Max Bridgland

Didn't know there was a new maintained fork! Thanks :)

Collapse
 
eddybabyable profile image
Edward Austin

I've been looking at the various link but does anyone know what typeface that is?

Collapse
 
arudp profile image
arudp

I think it looks like hack