diff --git a/modules/darwin/graphical/default.nix b/modules/darwin/graphical/default.nix index 36cebcb3..4aaef71a 100644 --- a/modules/darwin/graphical/default.nix +++ b/modules/darwin/graphical/default.nix @@ -1,11 +1,57 @@ -{ ... }: +{ config, ... }: { - services.skhd = { + home-manager.users.${config.chvp.username}.programs.aerospace = { enable = true; - skhdConfig = '' - cmd - return : open -na /Applications/iTerm.app - cmd + shift - return : open -na ~/Application/Emacs.app - ''; + userSettings = { + enable-normalization-flatten-containers = true; + enable-normalization-opposite-orientation-for-nested-containers = true; + start-at-login = true; + automatically-unhide-macos-hidden-apps = true; + on-focused-monitor-changed = ["move-mouse monitor-lazy-center"]; + mode.main.binding = { + alt-enter = "exec-and-forget open -na iTerm.app"; + alt-shift-enter = "exec-and-forget open -na emacs.app"; + alt-h = "focus left"; + alt-j = "focus down"; + alt-k = "focus up"; + alt-l = "focus right"; + alt-shift-h = "move left"; + alt-shift-j = "move down"; + alt-shift-k = "move up"; + alt-shift-l = "move right"; + alt-minus = "resize smart -50"; + alt-equal = "resize smart +50"; + 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"; + 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"; + alt-tab = "workspace-back-and-forth"; + alt-shift-tab = "move-workspace-to-monitor --wrap-around next"; + }; + workspace-to-monitor-force-assignment = { + "1" = "main"; + "2" = "main"; + "3" = "main"; + "4" = "main"; + "5" = "secondary"; + "6" = "secondary"; + "7" = "secondary"; + }; + }; }; }