Skip to content

Instantly share code, notes, and snippets.

@johnrlive
Created February 25, 2026 17:21
Show Gist options
  • Select an option

  • Save johnrlive/40419506291c7b84da10c466c3f0f993 to your computer and use it in GitHub Desktop.

Select an option

Save johnrlive/40419506291c7b84da10c466c3f0f993 to your computer and use it in GitHub Desktop.
# ~/.aerospace.toml
config-version = 2
# Sensible defaults
start-at-login = true
enable-normalization-flatten-containers = true
enable-normalization-opposite-orientation-for-nested-containers = true
after-startup-command = [
# JankyBorders has a built-in detection of already running process,
# so it won't be run twice on AeroSpace restart
# A color formatted as 0xAARRGGBB, where A is the alpha channel, R the red channel, G the green channel and B the blue channel. All constituents take a base 16 number, i.e. 0-F.
# Run Sketchybar together with AeroSpace
# sketchbar has a built-in detection of already running process,
# so it won't be run twice on AeroSpace restart
'exec-and-forget borders active_color=0xffa7c080 order=above hidpi="on" inactive_color=0xff595959 width=2 style="round"',
'exec-and-forget sketchybar'
]
## NOTE: I am not using SketchyBar
# Notify Sketchybar about workspace change
exec-on-workspace-change = ['/bin/bash', '-c',
'sketchybar --trigger aerospace_workspace_change FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE'
]
# Possible values: (qwerty|dvorak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
key-mapping.preset = 'qwerty'
# Mouse follows focus when focused monitor changes
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
[gaps]
inner.horizontal = 4
inner.vertical = 4
outer.left = 4
outer.bottom = 1
outer.top = 1
outer.right = 4
# Optional: a little padding can feel nicer (uncomment if you want)
# accordion-padding = 30
# ------------------------------------------------------------
# Omarchy-like bindings (closest practical mapping)
# Using alt as "Super" to avoid clobbering macOS defaults.
# Omarchy reference: Super+Space launcher, Super+W close, Super+T tile/float, Super+F fullscreen,
# Super+1..4 workspaces, Shift+Super+1..4 move-to-workspace, Super+Alt+Tab workspace cycle, etc.
# ------------------------------------------------------------
[mode.main.binding]
# --- Omarchy: Super + Space = Application launcher
# If you use Raycast:
alt-space = 'exec-and-forget open -a "Raycast"'
# If you use Alfred instead, swap the line above for:
# alt-space = 'exec-and-forget open -a "Alfred 5"'
# --- Omarchy: Super + Alt + Space = Omarchy control menu (approx)
# Put whatever you want here (Shortcuts app, a script, etc.)
alt-shift-space = 'exec-and-forget open -a "Shortcuts"'
# --- Omarchy: Super + Ctrl + L / Super + Escape (lock-ish)
# Locks the screen (works on macOS):
# alt-escape = 'exec-and-forget /System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend'
# --- Omarchy: Super + W = Close window
alt-w = 'close'
# --- Omarchy: Ctrl + Alt + Del = Close all windows (closest safe-ish analog)
# AeroSpace has "close-all-windows-but-current"; use shift+alt+w for "nuke the workspace"
alt-shift-w = 'close-all-windows-but-current --quit-if-last-window'
# --- Omarchy: Super + T = Toggle tiling/floating
alt-t = 'layout floating tiling'
# --- Omarchy: Super + F = Full screen (AeroSpace fullscreen, not macOS native full screen Space)
alt-f = 'fullscreen'
# --- Omarchy: Super + 1/2/3/4 = Jump to workspace
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
alt-3 = 'workspace 3'
alt-4 = 'workspace 4'
# --- Omarchy: Shift+Super + 1/2/3/4 = Move window to workspace (+ follow)
alt-shift-1 = ['move-node-to-workspace 1', 'workspace 1']
alt-shift-2 = ['move-node-to-workspace 2', 'workspace 2']
alt-shift-3 = ['move-node-to-workspace 3', 'workspace 3']
alt-shift-4 = ['move-node-to-workspace 4', 'workspace 4']
# --- Omarchy: Super+Alt+Tab next / Super+Alt+Shift+Tab prev / Super+Ctrl+Tab former
# Closest AeroSpace equivalents:
alt-tab = 'workspace next'
alt-shift-tab = 'workspace prev'
alt-backtick = 'workspace-back-and-forth'
# --- Basic i3-ish nav (handy, and matches the vibe)
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'
# or arrow keys
alt-up = 'focus up'
alt-down = 'focus down'
alt-left = 'focus left'
alt-right = 'focus right'
# Move windows (common Omarchy-style muscle memory)
alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'
# Quick “reset layout”
alt-r = 'flatten-workspace-tree'
# Reload config
alt-shift-r = 'reload-config'
# ------------------------------------------------------------
# Resize mode (optional but very useful)
# ------------------------------------------------------------
alt-equal = 'mode resize'
[mode.resize.binding]
h = 'resize width -50'
l = 'resize width +50'
j = 'resize height +50'
k = 'resize height -50'
# or arrow keys
left = 'resize width -50'
right = 'resize width +50'
down = 'resize height +50'
up = 'resize height -50'
# escape = 'mode main'
enter = 'mode main'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment