Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NiriMac — Workspace Orchestrator for macOS

NiriMac replaces the broken macOS Spaces experience with a developer-focused workspace orchestrator. One command creates a tiled workspace (4 terminals + browser), switchable instantly via hotkey, with live Claude Code agent status in your menu bar.

Built on AeroSpace (tiling WM) and SketchyBar (status bar).

Quick Start

# 1. Install dependencies
brew install --cask nikitabobko/tap/aerospace
brew install FelixKratz/formulae/sketchybar
brew install jq

# 2. Clone and set up
git clone https://github.com/YOUR_USER/niri-mac.git
cd niri-mac
chmod +x bin/niri-mac

# 3. Add to PATH (add to your .zshrc)
export PATH="$PATH:$(pwd)/bin"

# 4. Initialize
niri-mac init

# 5. Create your first workspace
niri-mac workspace create my-project

What It Does

+---------------------------+------------+
|  Terminal 1 (claude code) |            |
|           +               |  Browser   |
|  Terminal 2 (shell)       |  (Arc)     |
+---------------------------+            |
|  Terminal 3 (shell)       |            |
|           +               |            |
|  Terminal 4 (logs/tests)  |            |
+---------------------------+------------+
     ~70% width                ~30% width

SketchyBar shows live status per workspace:

[ 1: auth-api (opus|$0.42|67%) ] [ 2: frontend (sonnet|$0.15|23%) ] [ 3: docs (idle) ]
  ^-- green                        ^-- yellow (thinking)              ^-- gray (no agent)

Commands

# Workspaces
niri-mac workspace create <name>              # Create workspace with tiled windows
niri-mac workspace create <name> --layout focus --dir ~/src/app
niri-mac workspace switch <name>              # Switch (also: Alt+1..9)
niri-mac workspace close <name> [--force]     # Close all windows
niri-mac workspace list [--json]              # List with Claude Code status

# Layouts
niri-mac layout list                          # dev, focus, review, monitor
niri-mac layout show <name>                   # Show layout config
niri-mac layout create <name>                 # Create custom layout
niri-mac layout windows <name>                # Show window definitions

# Terminal
niri-mac terminal list                        # Show supported terminals
niri-mac terminal test                        # Verify integration
niri-mac terminal info                        # Current config

# Dashboard & Status
niri-mac status                               # Interactive TUI dashboard
niri-mac hotkeys list                         # Show keybindings
niri-mac doctor                               # Health check
niri-mac logs [-f]                            # View logs
niri-mac version                              # Version info

Default Hotkeys (i3-style)

Key Action
Alt+1..9 Switch to workspace
Alt+Shift+1..9 Move window to workspace
Alt+Shift+N Create new workspace
Alt+Shift+W Close workspace
Alt+H/J/K/L Focus left/down/up/right
Alt+Shift+H/J/K/L Move window
Alt+F Toggle fullscreen
Alt+/ Toggle tiling direction

Layout Profiles

Layout Windows Description
dev 4 terminals + browser Default development setup
focus 1 terminal + browser Deep work mode (50/50)
review 2 terminals + browser Code review
monitor 1 terminal (fullscreen) Dashboard/monitoring

Custom layouts: ~/.config/niri-mac/layouts/

Supported Terminals

iTerm2, Warp, Kitty, Alacritty, WezTerm, macOS Terminal

Auto-detected during niri-mac init.

Configuration

Config lives at ~/.config/niri-mac/config.toml:

[general]
terminal = "warp"           # auto-detected
browser = "arc"             # auto-detected
default_layout = "dev"
status_refresh_interval = 2

[hotkeys]
create_workspace = "alt+shift+n"
close_workspace = "alt+shift+w"
switch_prefix = "alt"

[claude_status]
enabled = true
show_model = true
show_cost = true
show_context_percent = true

Requirements

  • macOS Sonoma (14.x) or Sequoia (15.x)
  • AeroSpace — tiling window manager
  • SketchyBar — menu bar (optional, for status display)
  • jq — JSON processing
  • A supported terminal emulator

License

MIT

About

Workspace orchestrator for macOS — tiling workspaces with Claude Code status, built on AeroSpace + SketchyBar

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages