dotfiles/modules/darwin/hammerspoon.nix

44 lines
1.6 KiB
Nix
Raw Permalink Normal View History

2022-12-21 21:18:03 +00:00
{ config, pkgs, lib, ... }: {
# Hammerspoon - MacOS custom automation scripting
2022-12-21 21:18:03 +00:00
config = lib.mkIf pkgs.stdenv.isDarwin {
home-manager.users.${config.user} = {
xdg.configFile."hammerspoon/init.lua".source = ./hammerspoon/init.lua;
xdg.configFile."hammerspoon/Spoons/ControlEscape.spoon".source =
./hammerspoon/Spoons/ControlEscape.spoon;
xdg.configFile."hammerspoon/Spoons/DismissAlerts.spoon".source =
./hammerspoon/Spoons/DismissAlerts.spoon;
xdg.configFile."hammerspoon/Spoons/Launcher.spoon/init.lua".source =
pkgs.substituteAll {
src = ./hammerspoon/Spoons/Launcher.spoon/init.lua;
firefox = "${pkgs.firefox-bin}/Applications/Firefox.app";
discord = "${pkgs.discord}/Applications/Discord.app";
kitty = "${pkgs.kitty}/Applications/kitty.app";
slack = "${pkgs.slack}/Applications/Slack.app";
2022-12-21 21:18:03 +00:00
};
xdg.configFile."hammerspoon/Spoons/MoveWindow.spoon".source =
./hammerspoon/Spoons/MoveWindow.spoon;
2023-07-26 15:55:58 +00:00
home.activation.reloadHammerspoon =
config.home-manager.users.${config.user}.lib.dag.entryAfter
[ "writeBoundary" ] ''
2024-01-25 02:52:33 +00:00
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.reload()"
2023-07-26 15:55:58 +00:00
$DRY_RUN_CMD sleep 1
2024-01-25 02:52:33 +00:00
$DRY_RUN_CMD /Applications/Hammerspoon.app/Contents/Frameworks/hs/hs -c "hs.console.clearConsole()"
2023-07-26 15:55:58 +00:00
'';
2022-12-21 21:18:03 +00:00
};
2022-12-21 21:18:03 +00:00
homebrew.casks = [ "hammerspoon" ];
2022-12-21 21:18:03 +00:00
system.activationScripts.postUserActivation.text = ''
defaults write org.hammerspoon.Hammerspoon MJConfigFile "~/.config/hammerspoon/init.lua"
2023-07-26 15:55:58 +00:00
sudo killall Dock
2022-12-21 21:18:03 +00:00
'';
};
}