{ 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
  ];
}