NixOS-Config/home/services/mako.nix

44 lines
1.3 KiB
Nix
Raw Normal View History

2024-09-23 16:22:01 -04:00
{pkgs, outputs, ...}: {
2024-08-24 22:16:51 -04:00
# Notification daemon
2024-09-23 16:22:01 -04:00
services.mako = {
2024-08-24 22:16:51 -04:00
enable = true;
2024-09-23 16:22:01 -04:00
borderColor = "#${outputs.look.colors.accent}";
backgroundColor = "#${outputs.look.colors.dark}CC";
output = "${outputs.displays.d1}";
2024-08-24 22:16:51 -04:00
sort = "+time";
layer = "overlay";
padding = "8";
margin = "0";
2024-09-23 16:22:01 -04:00
borderSize = outputs.look.border.int;
2024-08-24 22:16:51 -04:00
maxIconSize = 40;
defaultTimeout = 6000;
2024-09-23 16:22:01 -04:00
font = "${outputs.look.fonts.main} 12";
2024-08-24 22:16:51 -04:00
anchor = "bottom-right";
extraConfig = "on-button-right=dismiss-all\nouter-margin=10\n[mode=do-not-disturb]\ninvisible=1";
};
# Script to toggle notifications using mako
home.packages = let
makoToggle = pkgs.writeScriptBin "makotoggle" ''
# Run makoctl mode and store the output in a variable
mode_output=$(makoctl mode)
# Extract the second line after "default"
mode_line=$(echo "$mode_output" | sed -n '/default/{n;p}')
if [[ "$mode_line" == "do-not-disturb" ]]; then
# Notifications are disabled, so we enable them
makoctl mode -r do-not-disturb
notify-send --expire-time=1500 'Notifications Enabled'
else
# Notifications are enabled, so we disable them
notify-send --expire-time=1500 'Notifications Disabled'
sleep 2
makoctl mode -a do-not-disturb
fi
'';
in with pkgs; [
makoToggle
];
}