[aerospace] Further tweaks
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
customPkgs = pkgs.callPackage ../packages {};
|
customPkgs = pkgs.callPackage ../packages {};
|
||||||
|
leader = "cmd"; # Change this to experiment with different leader keys (e.g., "cmd", "ctrl")
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Provide arguments to role modules
|
# Provide arguments to role modules
|
||||||
@@ -43,6 +44,80 @@ in
|
|||||||
|
|
||||||
home.shell.enableShellIntegration = true;
|
home.shell.enableShellIntegration = true;
|
||||||
|
|
||||||
|
# TODO: Move this to its own role and/or module
|
||||||
|
programs.aerospace = {
|
||||||
|
enable = true;
|
||||||
|
launchd.enable = true;
|
||||||
|
userSettings.mode.main.binding = {
|
||||||
|
"${leader}-slash" = "layout tiles horizontal vertical";
|
||||||
|
"${leader}-comma" = "layout accordion horizontal vertical";
|
||||||
|
"${leader}-h" = "focus left";
|
||||||
|
"${leader}-j" = "focus down";
|
||||||
|
"${leader}-k" = "focus up";
|
||||||
|
"${leader}-l" = "focus right";
|
||||||
|
"${leader}-shift-h" = "move left";
|
||||||
|
"${leader}-shift-j" = "move down";
|
||||||
|
"${leader}-shift-k" = "move up";
|
||||||
|
"${leader}-shift-l" = "move right";
|
||||||
|
"${leader}-minus" = "resize smart -50";
|
||||||
|
"${leader}-equal" = "resize smart +50";
|
||||||
|
"${leader}-1" = "workspace 1";
|
||||||
|
"${leader}-2" = "workspace 2";
|
||||||
|
"${leader}-3" = "workspace 3";
|
||||||
|
"${leader}-4" = "workspace 4";
|
||||||
|
"${leader}-5" = "workspace 5";
|
||||||
|
"${leader}-6" = "workspace 6";
|
||||||
|
"${leader}-7" = "workspace 7";
|
||||||
|
"${leader}-8" = "workspace 8";
|
||||||
|
"${leader}-9" = "workspace 9";
|
||||||
|
"${leader}-shift-1" = "move-node-to-workspace 1";
|
||||||
|
"${leader}-shift-2" = "move-node-to-workspace 2";
|
||||||
|
"${leader}-shift-3" = "move-node-to-workspace 3";
|
||||||
|
"${leader}-shift-4" = "move-node-to-workspace 4";
|
||||||
|
"${leader}-shift-5" = "move-node-to-workspace 5";
|
||||||
|
"${leader}-shift-6" = "move-node-to-workspace 6";
|
||||||
|
"${leader}-shift-7" = "move-node-to-workspace 7";
|
||||||
|
"${leader}-shift-8" = "move-node-to-workspace 8";
|
||||||
|
"${leader}-shift-9" = "move-node-to-workspace 9";
|
||||||
|
"${leader}-tab" = "workspace-back-and-forth";
|
||||||
|
"${leader}-shift-tab" = "move-workspace-to-monitor --wrap-around next";
|
||||||
|
|
||||||
|
"${leader}-enter" = ''
|
||||||
|
exec-and-forget osascript <<'APPLESCRIPT'
|
||||||
|
tell application "Terminal"
|
||||||
|
set newWindow to make new window
|
||||||
|
activate
|
||||||
|
tell newWindow to set index to 1
|
||||||
|
end tell
|
||||||
|
APPLESCRIPT
|
||||||
|
'';
|
||||||
|
|
||||||
|
"${leader}-shift-enter" = ''
|
||||||
|
exec-and-forget osascript <<'APPLESCRIPT'
|
||||||
|
tell application "Google Chrome"
|
||||||
|
set newWindow to make new window
|
||||||
|
activate
|
||||||
|
tell newWindow to set index to 1
|
||||||
|
end tell
|
||||||
|
APPLESCRIPT
|
||||||
|
'';
|
||||||
|
|
||||||
|
"${leader}-i" = "mode service";
|
||||||
|
};
|
||||||
|
|
||||||
|
userSettings.mode.service.binding = {
|
||||||
|
esc = ["reload-config" "mode main"];
|
||||||
|
r = ["flatten-workspace-tree" "mode main"]; # reset layout
|
||||||
|
f = ["layout floating tiling" "mode main"]; # Toggle between floating and tiling layout
|
||||||
|
backspace = ["close-all-windows-but-current" "mode main"];
|
||||||
|
|
||||||
|
"${leader}-shift-h" = ["join-with left" "mode main"];
|
||||||
|
"${leader}-shift-j" = ["join-with down" "mode main"];
|
||||||
|
"${leader}-shift-k" = ["join-with up" "mode main"];
|
||||||
|
"${leader}-shift-l" = ["join-with right" "mode main"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.roles = {
|
home.roles = {
|
||||||
base.enable = true;
|
base.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user