Created
February 25, 2026 17:21
-
-
Save johnrlive/40419506291c7b84da10c466c3f0f993 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ~/.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