mirror of
https://github.com/harivansh-afk/dots.git
synced 2026-04-15 09:01:15 +00:00
stuff
This commit is contained in:
parent
02e0ef96b9
commit
3087f554c7
7 changed files with 205 additions and 4 deletions
6
Makefile
6
Makefile
|
|
@ -1,11 +1,15 @@
|
||||||
STOW_PACKAGES = zsh git nvim tmux karabiner ghostty claude lazygit codex
|
STOW_PACKAGES = zsh git nvim tmux karabiner ghostty claude lazygit codex aerospace
|
||||||
|
|
||||||
install:
|
install:
|
||||||
brew install stow
|
brew install stow
|
||||||
stow -t ~ $(STOW_PACKAGES)
|
stow -t ~ $(STOW_PACKAGES)
|
||||||
|
./rectangle/install.sh
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
stow -t ~ -D $(STOW_PACKAGES)
|
stow -t ~ -D $(STOW_PACKAGES)
|
||||||
|
|
||||||
restow:
|
restow:
|
||||||
stow -t ~ -R $(STOW_PACKAGES)
|
stow -t ~ -R $(STOW_PACKAGES)
|
||||||
|
|
||||||
|
rectangle-export:
|
||||||
|
./rectangle/install.sh export
|
||||||
|
|
|
||||||
181
aerospace/.aerospace.toml
Normal file
181
aerospace/.aerospace.toml
Normal file
|
|
@ -0,0 +1,181 @@
|
||||||
|
# AeroSpace config - https://nikitabobko.github.io/AeroSpace/guide
|
||||||
|
#
|
||||||
|
# Keybinding philosophy:
|
||||||
|
# alt+* = AeroSpace (focus, workspaces, layout)
|
||||||
|
# alt+shift+* = AeroSpace (move, modes)
|
||||||
|
# ctrl+h/j/k/l = Karabiner vim nav (arrows, scroll) - DO NOT USE
|
||||||
|
# ctrl+1-6 = Karabiner app launchers - DO NOT USE
|
||||||
|
# alt+w = tmux prefix (via Karabiner Right Cmd) - DO NOT USE
|
||||||
|
# C-h/j/k/l = nvim window nav (inside terminal) - no conflict
|
||||||
|
# zsh ctrl+j/k = autosuggestion nav (inside terminal) - no conflict
|
||||||
|
|
||||||
|
config-version = 2
|
||||||
|
|
||||||
|
start-at-login = true
|
||||||
|
|
||||||
|
# Normalizations
|
||||||
|
enable-normalization-flatten-containers = true
|
||||||
|
enable-normalization-opposite-orientation-for-nested-containers = true
|
||||||
|
|
||||||
|
# Layout defaults
|
||||||
|
default-root-container-layout = 'tiles'
|
||||||
|
default-root-container-orientation = 'auto'
|
||||||
|
accordion-padding = 30
|
||||||
|
|
||||||
|
# Mouse follows focus when switching monitors
|
||||||
|
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
|
||||||
|
|
||||||
|
# Gaps between windows
|
||||||
|
[gaps]
|
||||||
|
inner.horizontal = 10
|
||||||
|
inner.vertical = 10
|
||||||
|
outer.left = 10
|
||||||
|
outer.right = 10
|
||||||
|
outer.top = 10
|
||||||
|
outer.bottom = 10
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Main keybindings
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
[mode.main.binding]
|
||||||
|
|
||||||
|
# Focus windows: alt + h/j/k/l
|
||||||
|
alt-h = 'focus left'
|
||||||
|
alt-j = 'focus down'
|
||||||
|
alt-k = 'focus up'
|
||||||
|
alt-l = 'focus right'
|
||||||
|
|
||||||
|
# Move windows: alt+shift + h/j/k/l
|
||||||
|
alt-shift-h = 'move left'
|
||||||
|
alt-shift-j = 'move down'
|
||||||
|
alt-shift-k = 'move up'
|
||||||
|
alt-shift-l = 'move right'
|
||||||
|
|
||||||
|
# Switch workspaces: alt + number
|
||||||
|
alt-1 = 'workspace 1'
|
||||||
|
alt-2 = 'workspace 2'
|
||||||
|
alt-3 = 'workspace 3'
|
||||||
|
alt-4 = 'workspace 4'
|
||||||
|
alt-5 = 'workspace 5'
|
||||||
|
alt-6 = 'workspace 6'
|
||||||
|
alt-7 = 'workspace 7'
|
||||||
|
alt-8 = 'workspace 8'
|
||||||
|
alt-9 = 'workspace 9'
|
||||||
|
|
||||||
|
# Move window to workspace: alt+shift + number
|
||||||
|
alt-shift-1 = 'move-node-to-workspace 1'
|
||||||
|
alt-shift-2 = 'move-node-to-workspace 2'
|
||||||
|
alt-shift-3 = 'move-node-to-workspace 3'
|
||||||
|
alt-shift-4 = 'move-node-to-workspace 4'
|
||||||
|
alt-shift-5 = 'move-node-to-workspace 5'
|
||||||
|
alt-shift-6 = 'move-node-to-workspace 6'
|
||||||
|
alt-shift-7 = 'move-node-to-workspace 7'
|
||||||
|
alt-shift-8 = 'move-node-to-workspace 8'
|
||||||
|
alt-shift-9 = 'move-node-to-workspace 9'
|
||||||
|
|
||||||
|
# Layout toggles
|
||||||
|
alt-slash = 'layout tiles horizontal vertical'
|
||||||
|
alt-comma = 'layout accordion horizontal vertical'
|
||||||
|
|
||||||
|
# Fullscreen (replaces Rectangle: Option+F maximize)
|
||||||
|
alt-f = 'fullscreen'
|
||||||
|
|
||||||
|
# Float toggle (replaces Rectangle: Option+Shift+F almost-maximize)
|
||||||
|
alt-shift-f = 'layout floating tiling'
|
||||||
|
|
||||||
|
# Balance window sizes
|
||||||
|
alt-shift-b = 'balance-sizes'
|
||||||
|
|
||||||
|
# Last workspace (using backtick instead of tab to preserve macOS app switcher)
|
||||||
|
alt-backtick = 'workspace-back-and-forth'
|
||||||
|
|
||||||
|
# Monitor focus/move (replaces Rectangle: Ctrl+Option+Cmd+Space next display)
|
||||||
|
alt-period = 'focus-monitor next'
|
||||||
|
alt-shift-period = 'move-node-to-monitor next'
|
||||||
|
alt-shift-comma = 'move-workspace-to-monitor next'
|
||||||
|
|
||||||
|
# Modes
|
||||||
|
alt-shift-r = 'mode resize'
|
||||||
|
alt-shift-semicolon = 'mode service'
|
||||||
|
|
||||||
|
# Screenshot to clipboard
|
||||||
|
alt-shift-s = 'exec-and-forget screencapture -i -c'
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Resize mode: alt+shift+r to enter, esc to exit
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
[mode.resize.binding]
|
||||||
|
h = 'resize width -50'
|
||||||
|
j = 'resize height +50'
|
||||||
|
k = 'resize height -50'
|
||||||
|
l = 'resize width +50'
|
||||||
|
minus = 'resize smart -50'
|
||||||
|
equal = 'resize smart +50'
|
||||||
|
enter = 'mode main'
|
||||||
|
esc = 'mode main'
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Service mode: alt+shift+; to enter, esc to exit
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
[mode.service.binding]
|
||||||
|
r = ['reload-config', 'mode main']
|
||||||
|
f = ['flatten-workspace-tree', 'mode main']
|
||||||
|
b = ['balance-sizes', 'mode main']
|
||||||
|
esc = 'mode main'
|
||||||
|
backspace = ['close-all-windows-but-current', 'mode main']
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Auto-assign apps to workspaces
|
||||||
|
# -------------------------------------------------------------------
|
||||||
|
# Browsers -> workspace 1
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.Safari'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'company.thebrowser.Browser'
|
||||||
|
run = 'move-node-to-workspace 1'
|
||||||
|
|
||||||
|
# Terminals -> workspace 2
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.Terminal'
|
||||||
|
run = 'move-node-to-workspace 2'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.mitchellh.ghostty'
|
||||||
|
run = 'move-node-to-workspace 2'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.googlecode.iterm2'
|
||||||
|
run = 'move-node-to-workspace 2'
|
||||||
|
|
||||||
|
# Editors -> workspace 3
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.microsoft.VSCode'
|
||||||
|
run = 'move-node-to-workspace 3'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'dev.zed.Zed'
|
||||||
|
run = 'move-node-to-workspace 3'
|
||||||
|
|
||||||
|
# Chat -> workspace 4
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.tinyspeck.slackmacgap'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'ru.keepcoder.Telegram'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'org.whispersystems.signal-desktop'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.apple.MobileSMS'
|
||||||
|
run = 'move-node-to-workspace 4'
|
||||||
|
|
||||||
|
# Media -> workspace 5
|
||||||
|
[[on-window-detected]]
|
||||||
|
if.app-id = 'com.spotify.client'
|
||||||
|
run = 'move-node-to-workspace 5'
|
||||||
|
|
@ -4,7 +4,7 @@ font-codepoint-map= "U+f101-U+f25c=nonicons"
|
||||||
|
|
||||||
background-opacity = 1
|
background-opacity = 1
|
||||||
# background-blur = macos-glass-regular
|
# background-blur = macos-glass-regular
|
||||||
font-size=17
|
font-size=15
|
||||||
|
|
||||||
window-padding-y = 0
|
window-padding-y = 0
|
||||||
window-padding-x = 0
|
window-padding-x = 0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit d9a93f41a3224b752a5f4d72791d2f642cc03fb2
|
Subproject commit 1db6db7f92efefefa9283ad8c77eb3204f6e1659
|
||||||
BIN
rectangle/Rectangle.plist
Normal file
BIN
rectangle/Rectangle.plist
Normal file
Binary file not shown.
16
rectangle/install.sh
Executable file
16
rectangle/install.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Rectangle config - stored in UserDefaults, cannot be stowed
|
||||||
|
# Usage: ./install.sh import settings
|
||||||
|
# ./install.sh export export current settings
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
|
PLIST="$SCRIPT_DIR/Rectangle.plist"
|
||||||
|
|
||||||
|
if [ "$1" = "export" ]; then
|
||||||
|
defaults export com.knollsoft.Rectangle "$PLIST"
|
||||||
|
echo "Exported Rectangle settings to $PLIST"
|
||||||
|
else
|
||||||
|
defaults import com.knollsoft.Rectangle "$PLIST"
|
||||||
|
echo "Imported Rectangle settings from $PLIST"
|
||||||
|
echo "Restart Rectangle for changes to take effect."
|
||||||
|
fi
|
||||||
|
|
@ -40,7 +40,7 @@ bind f display-popup -w 80% -h 80% -E "\
|
||||||
|
|
||||||
# Auto-rename windows to the current running command
|
# Auto-rename windows to the current running command
|
||||||
set -g automatic-rename on
|
set -g automatic-rename on
|
||||||
set -g automatic-rename-format '#{b:pane_current_path}'
|
set -g automatic-rename-format '#{pane_current_command}'
|
||||||
|
|
||||||
#from github
|
#from github
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue