2 darwin module options


2.1 services.yabai.enable

Whether to enable yabai window manager.

Type: boolean

Default: false

Example: true

Declared by: - modules/darwin/yabai.nix


2.2 services.yabai.enableScriptingAddition

Whether to enable yabai’s scripting-addition. SIP must be (partially) disabled for this to work. See https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection

Compared to Nix-Darwin’s default module, this option also injects the necessary sha256 hash into the /etc/sudoers.d/yabai file.

Type: boolean

Default: false

Example: true

Declared by: - modules/darwin/yabai.nix


2.3 services.yabai.package

The yabai package to use.

Type: package

Default: pkgs.yabai

Declared by: - modules/darwin/yabai.nix


2.4 services.yabai.config

Key/Value pairs to pass to yabai’s ‘config’ domain, via the configuration file.

Type: attribute set

Default: { }

Example:

{
  focus_follows_mouse = "autoraise";
  mouse_follows_focus = "off";
  window_placement    = "second_child";
  window_opacity      = "off";
  top_padding         = 36;
  bottom_padding      = 10;
  left_padding        = 10;
  right_padding       = 10;
  window_gap          = 10;
}

Declared by: - modules/darwin/yabai.nix


2.5 services.yabai.extraConfig

Extra arbitrary configuration to append to the configuration file

Type: string

Default: ""

Example:

yabai -m rule --add app='System Preferences' manage=off

Declared by: - modules/darwin/yabai.nix


2.6 services.yabai.logFile

Path where you want to write daemon logs.

Type: string

Default: ""

Example: /var/tmp/yabai.log

Declared by: - modules/darwin/yabai.nix