{ pkgs, config, ... }: { services.mako = { enable = true; borderColor = "#${config.look.colors.accent}"; backgroundColor = "#${config.look.colors.dark}CC"; output = "${config.displays.d1}"; sort = "+time"; layer = "overlay"; padding = "8"; margin = "0"; borderSize = config.look.border.int; maxIconSize = 40; defaultTimeout = 6000; font = "${config.look.fonts.main} 12"; anchor = "bottom-right"; extraConfig = "on-button-right=dismiss-all\nouter-margin=10\n[mode=do-not-disturb]\ninvisible=1"; }; 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 ]; }