universeair: Basic Yabai Config

This commit is contained in:
2024-01-29 13:59:11 -05:00
parent a7f794f65b
commit fb83eb1e50

View File

@@ -10,7 +10,34 @@
services.yabai = { services.yabai = {
enable = true; enable = true;
config = { config = {
layout = "bsp";
focus_follows_mouse = "autofocus";
auto_balance = "on";
top_padding = 5;
bottom_padding = 5;
left_padding = 5;
right_padding = 5;
window_gap = 5;
}; };
extraConfig = ''
yabai -m rule --add app='System Settings' manage=off
yabai -m rule --add app='Boot Camp Assistant' manage=off
yabai -m rule --add app='System Information' manage=off
'';
};
# https://github.com/IvarWithoutBones/dotfiles/blob/main/modules/darwin/yabai/default.nix
# The scripting addition needs root access to load, which we want to do automatically when logging in.
# Disable the password requirement for it so that a service can do so without user interaction.
environment.etc."sudoers.d/yabai-load-sa".text = ''
universelaptop ALL = (root) NOPASSWD: sha256:${builtins.hashFile "sha256" "${pkgs.yabai}/bin/yabai"} ${pkgs.yabai}/bin/yabai
'';
launchd.user.agents.yabai-load-sa = {
path = [ pkgs.yabai config.environment.systemPath ];
command = "/usr/bin/sudo ${pkgs.yabai}/bin/yabai --load-sa";
serviceConfig.RunAtLoad = true;
}; };
} }