My mac tiling setup inspired by Omarchy

Things I like about Omarchy

  • The tiling via Hyprland (at least in theory)

  • Keyboard driven usage of the Operating System

  • Straight sharp corners/edges

  • No animation, or adjustable animation between workspaces

  • Frameless web apps

  • Snappiness

Not so important for me

  • Keyboard shortcuts to open apps (super - s for booting Shopify etc.)

  • Convenient and quick style changer. I only need one I like.

  • Quick OS-install. Quick is always nice, but I set up a computer a couple of times per decade, so its not a critical factor.

  • Quick install/uninstall of apps. Pretty cool, but again, I don't actually do it that often and therefore not so important.

  • The "battle against Apple" aspect. I like the increased competition, but its not important enough for me to change my work station.

I don't like this

  • No Adobe

  • No Logic Pro

  • No Apple Photos

  • No CleanShot X

  • No Laravel Herd

  • Lacking native mail app

My mac setup inspired by Omarchy

Homebrew

Homebrew is ground zero. This is where we start. Install it by opening a terminal and pasting the install script from https://brew.sh/

JankyBorders

Install via Homebrew: https://github.com/FelixKratz/JankyBorders

This will be used afterwards to clearly show which window is active.

Karabiner Elements

Karabiner-Elements is a powerful and stable keyboard customizer for macOS.

I mainly just want it for one task: creating a so-called HYPER-key. A combination of left-shift, left-ctrl, left-cmd and left-alt by the keypress of CAPS-LOCK (Which I don't really need otherwise)

Install here: https://karabiner-elements.pqrs.org/

Boot it up, and go to Settings -> Complex Modifications -> Add pre-defined rule and enable caps_lock to command+control+option+shift.

remember to grant permissions as per documentation: https://karabiner-elements.pqrs.org/docs/getting-started/installation/

Aerospace

Aerospace is the most integral part of the tiling setup. Install it via Homebrew: https://nikitabobko.github.io/AeroSpace/guide#installation

My config file can be found here

Sketchybar

Sketchybar aims to create a highly flexible, customizable, fast and powerful status bar replacement for people that like playing with shell scripts.

I don't really like to play with shell scripts, but I find the customization straight forward for my needs.

Install here: https://github.com/FelixKratz/SketchyBar

My sketchbar config can be found here.

Make decisions regarding workspaces

Window tiling can be nice, but in my personal experience, its very rarely positive with more than two windows in the same screen. I even mostly prefer it at one.

This means that you need to use workspaces dedicated for different purposes.

This is my setup:
Workspace 1: Browser
Workspace 2: Design (Mostly Figma)
Workspace 3: Code (Terminal + editor)
Workspace 4: Mail
Workspace 5: Music
Workspace 6: Project Management Tools
Workspace 7: Empty
Workspace 8: Empty
Workspace 9: Empty

On my empty three last slots, i juggle things like Notes, Discord, Whatsapp, Messenger and other random apps I don't dedicate a workspace for (yet).

As you can see from this setup, its actually only workspace 3 that per default has two tiles. Most others are mainly one. Why? Because many of the UI's are clunky. Take Spotify as an example. Even on my 27" screen on a 50% tiled layout, it feels crammed. Same goes for Mail or Figma.

Does it mean window tiling system is the wrong approach? Maybe. Time will tell. But the instant switching of workplaces are the main key useage for me. This ties back to my initial point on "things I like" regarding window tiling. I like it in theory, but I'm not sure yet if I actually like working with tiles all that often.

It's a bit similar to the "multiple screens or one screen" discussion. I had two screens in the beginning of my career, but quickly found out that it was not a good thing for my focus or for my neck. I've been using one screen for most of my life, and prefer it that way. I focus on one thing at the time, and don't like noise on other screens. The same applies to tiles. I don't want live updates from my CPU processes while I'm writing a blog post.

My most used commands

cmd + 1 = Workspace 1
cmd + 2 = Workspace 2
cmd + 3 = Workspace 3
...
cmd + pageUp = Previous Workspace
cmd + pageDown = Next Workspace
cmd + home = Workspace 1
cmd + end = Workspace 9

cmd + shift + 1 = Move selected window to workspace 1
cmd + shift + 2 = Move selected window to workspace 2
cmd + shift + 3 = Move selected window to workspace 3
...

hyper + left = focus to left window
hyper + down = focus to below window
hyper + up = focus to above window
hyper + right = focus to right window

ctrl + alt + left = focus to left window
ctrl + alt + down = focus to below window
ctrl + alt + up = focus to above window
ctrl + alt + right = focus to right window

alt + f = fullscreen (toggle on/off)
cmd + j = horizontal / vertical split (toggle)
hyper + f = floating (toggle on/off)
hyper + d = reset the tiles back to default

hyper + m = switch to merge mode
arrow keys = merge with [direction] (in merge mode)
space or esc = escape merge mode

hyper + w = workspace mode
left/right = go to workspace [direction] (in workspace mode)
shift left/right = move window to prev/next workspace
up/down = go to prev/next monitor
space or esc = escape workspace mode

hyper + r = resize mode
left = decrease width (in resize mode. add shift to have bigger increments)
right = increase width (...)
up = increase height
down = decrease height
space or esc = escape workspace mode

Wishlist

Straight borders, but thinner. The Jankyborders solution needs to have thick enough borders to cover the rounded ones from Apple. Kind of meh.

Even more snappy. My M1-mac is starting to get some years old, and maybe it would be different on a newer mac. But maybe not too.

Ability to freely decide if a window should be centered, tiled etc. without regards to other tiles. ie. one window on the workspace should be able to be tiled regardless of being alone on the workspace. Lets say I just want to drag a file from the desktop into another window. Then I'd like for the window to just be on the left side, leaving the desktop visible.

Even though I don't use more than two tiles often on the screen, when I do it's likely 3, and then I want a bento-style and not three columns or rows. It'd be very cool if the third frame in a workspace would combine with the second in a similar way to Omarchy automatically as a default.

Final thoughts

I'm giving this setup some time now, but it will be interesting to see if I prefer it over the previous Rectangle-based setup and old-fashioned cmd-tabbing between apps.

Link to my config files

How does it look?

Screenshot of my workspace setup
The obligatory screenshot: "very busy work-person doing very important things"