Проблема

MacOS не использует DBus для отправки уведомлений, поэтому компилировать Emacs с поддержкой DBus и использовать

(require 'notification)
(notifications-notify :title "Title" :body "Message!")

не получается.

Решение

Можно это обойти следующим образом:

  1. Установить terminal-notifier:

    brew install terminal-notifier
    
  2. Добавить вспомогательные функции:

    (defvar vlad/terminal-notifier-command
      (executable-find "terminal-notifier")
      "The path to terminal-notifier.")
    
    (defun vlad/terminal-notifier-notify (title message)
      "Show a message with `vlad/terminal-notifier-command`."
      (start-process "terminal-notifier"
                     "*terminal-notifier*"
                     vlad/terminal-notifier-command
                     "-sound" "default"
                     "-title" title
                     "-message" message
                     "-activate" "org.gnu.Emacs"
                     ;; "-sender" "org.gnu.Emacs"
                     ))
    
    (defun vlad/timed-notification (time msg)
      (interactive
       "sNotification when (e.g: 2 minutes, 60 seconds, 3 days): \nsMessage: ")
      (run-at-time time
                   nil
                   (lambda (msg) (vlad/terminal-notifier-notify "Emacs" msg))
                   msg))
    

Строчка с "-sender" закомментирована по следующей причине. С ней вместо непонятной иконки MacOS отображает красивую иконку Emacs, но почему-то перестаёт работать звук. Так как мне важнее звук, чем то, как выглядит уведомление, я её закомментировал.