summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorMichael Hoang <Enzime@users.noreply.github.com>2023-11-23 14:31:04 +1100
committerGitHub <noreply@github.com>2023-11-23 14:31:04 +1100
commit6e0f4e58a622dd3a34b09f56fdcab9eddc641a67 (patch)
tree7e00ea976180e74b279dad5373c32a7cd685274f /modules
parentfb9ed3f0532e7e05d52062ca834045a8a88b879d (diff)
parent892482250c3726b8f4b255d3aff7f4208bbfba97 (diff)
Merge pull request #814 from aeolyus/master
[yabai] Configure scripting addition
Diffstat (limited to 'modules')
-rw-r--r--modules/services/yabai/default.nix15
1 files changed, 11 insertions, 4 deletions
diff --git a/modules/services/yabai/default.nix b/modules/services/yabai/default.nix
index d6af899..354c68b 100644
--- a/modules/services/yabai/default.nix
+++ b/modules/services/yabai/default.nix
@@ -7,9 +7,10 @@ let
toYabaiConfig = opts:
concatStringsSep "\n" (mapAttrsToList
- (p: v: "yabai -m config ${p} ${toString v}") opts);
+ (p: v: "yabai -m config ${p} ${toString v}")
+ opts);
- configFile = mkIf (cfg.config != {} || cfg.extraConfig != "")
+ configFile = mkIf (cfg.config != { } || cfg.extraConfig != "")
"${pkgs.writeScript "yabairc" (
(if (cfg.config != {})
then "${toYabaiConfig cfg.config}"
@@ -42,7 +43,7 @@ in
services.yabai.config = mkOption {
type = attrs;
- default = {};
+ default = { };
example = literalExpression ''
{
focus_follows_mouse = "autoraise";
@@ -77,7 +78,7 @@ in
launchd.user.agents.yabai = {
serviceConfig.ProgramArguments = [ "${cfg.package}/bin/yabai" ]
- ++ optionals (cfg.config != {} || cfg.extraConfig != "") [ "-c" configFile ];
+ ++ optionals (cfg.config != { } || cfg.extraConfig != "") [ "-c" configFile ];
serviceConfig.KeepAlive = true;
serviceConfig.RunAtLoad = true;
@@ -101,6 +102,12 @@ in
serviceConfig.RunAtLoad = true;
serviceConfig.KeepAlive.SuccessfulExit = false;
};
+
+ environment.etc."sudoers.d/yabai".text =
+ let
+ sha = builtins.hashFile "sha256" "${cfg.package}/bin/yabai";
+ in
+ "%admin ALL=(root) NOPASSWD: sha256:${sha} ${cfg.package}/bin/yabai --load-sa";
})
];
}