blob: 48f369c43cba309b4d7dbb91e343f03f759360f3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
{ config, lib, pkgs, ... }:
with lib;
let
yabai = pkgs.runCommand "yabai-0.0.0" {} "mkdir $out";
in
{
services.yabai.enable = true;
services.yabai.package = yabai;
services.yabai.config = { focus_follows_mouse = "autoraise"; };
services.yabai.extraConfig = "yabai -m rule --add app='System Preferences' manage=off";
test = ''
echo >&2 "checking yabai service in ~/Library/LaunchAgents"
grep "org.nixos.yabai" ${config.out}/user/Library/LaunchAgents/org.nixos.yabai.plist
grep "${yabai}/bin/yabai" ${config.out}/user/Library/LaunchAgents/org.nixos.yabai.plist
conf=`sed -En '/<string>-c<\/string>/{n; s/\s+?<\/?string>//g; p;}' \
${config.out}/user/Library/LaunchAgents/org.nixos.yabai.plist`
echo >&2 "checking config in $conf"
grep "yabai -m config focus_follows_mouse autoraise" $conf
grep "yabai -m rule --add app='System Preferences' manage=off" $conf
if [ `cat $conf | wc -l` -eq "2" ]; then echo "yabairc correctly contains 2 lines"; else return 1; fi
'';
}
|