nix-darwin/modules/aspects/desktop.nix

159 lines
4.3 KiB
Nix

{...}: {
repo.homeModules.desktop = {
programs.aerospace = {
enable = true;
userSettings = {
start-at-login = true;
accordion-padding = 10;
default-root-container-layout = "tiles";
default-root-container-orientation = "auto";
on-focused-monitor-changed = ["move-mouse monitor-lazy-center"];
automatically-unhide-macos-hidden-apps = false;
key-mapping = {
preset = "qwerty";
};
gaps = {
inner.horizontal = 3;
inner.vertical = 3;
outer.left = 3;
outer.bottom = 3;
outer.top = 3;
outer.right = 3;
};
mode.main.binding = {
alt-slash = "layout tiles horizontal vertical";
alt-comma = "layout accordion horizontal vertical";
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"
"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"
];
alt-shift-5 = [
"move-node-to-workspace 5"
"workspace 5"
];
alt-shift-6 = [
"move-node-to-workspace 6"
"workspace 6"
];
alt-shift-7 = [
"move-node-to-workspace 7"
"workspace 7"
];
alt-shift-8 = [
"move-node-to-workspace 8"
"workspace 8"
];
alt-shift-9 = [
"move-node-to-workspace 9"
"workspace 9"
];
alt-tab = "workspace-back-and-forth";
alt-shift-tab = "move-node-to-monitor --wrap-around next";
alt-shift-semicolon = "mode service";
};
mode.service.binding = {
esc = [
"reload-config"
"mode main"
];
r = [
"flatten-workspace-tree"
"mode main"
];
f = [
"layout floating tiling"
"mode main"
];
backspace = [
"close-all-windows-but-current"
"mode main"
];
alt-shift-h = [
"join-with left"
"mode main"
];
alt-shift-j = [
"join-with down"
"mode main"
];
alt-shift-k = [
"join-with up"
"mode main"
];
alt-shift-l = [
"join-with right"
"mode main"
];
};
on-window-detected = [
{
"if".app-id = "com.apple.finder";
check-further-callbacks = true;
run = ["layout floating"];
}
{
"if".app-id = "com.apple.Notes";
check-further-callbacks = true;
run = ["layout floating"];
}
{
"if".app-id = "com.daymore.Across";
check-further-callbacks = true;
run = ["layout floating"];
}
{
"if".app-id = "com.bitwarden.desktop";
check-further-callbacks = true;
run = ["layout floating"];
}
{
"if".app-id = "org.hammerspoon.Hammerspoon";
check-further-callbacks = true;
run = ["layout floating"];
}
{
"if".app-id = "com.utmapp.UTM";
check-further-callbacks = true;
run = ["layout floating"];
}
];
};
};
};
}