{ config, lib, ... }: let cfg = config.my.home.wm.dunst; in { config = lib.mkIf cfg.enable { services.dunst = { enable = true; settings = { global = { alignment = "center"; # Put message in the middle of the box browser = "xdg-open"; # use default browser to open links dmenu = lib.mkIf config.my.home.wm.rofi.enable "rofi -p dunst -dmenu"; # use rofi for menu follow = "keyboard"; # follow keyboard focus font = "Monospace 8"; # Simple looking font frame_width = 3; # small frame markup = "full"; # subset of HTML max_icon_size = 32; # avoid icons that are too big padding = 6; # distance between text and bubble border progress_bar = true; # show a progress bar in notification bubbles separator_color = "frame"; # use frame color to separate bubbles sort = true; # sort messages by urgency word_wrap = true; # Break long lines to make them readable # Fixed size notifications, slightly recessed from the top right width = 300; height = 50; origin = "top-right"; offset = "15x50"; }; urgency_low = { background = "#191311"; foreground = "#3b7c87"; frame_color = "#3b7c87"; highlight = "#4998a6"; timeout = 10; }; urgency_normal = { background = "#191311"; foreground = "#5b8234"; frame_color = "#5b8234"; highlight = "#73a542"; timeout = 10; }; urgency_critical = { background = "#191311"; foreground = "#b7472a"; frame_color = "#b7472a"; highlight = "#d25637"; timeout = 0; }; fullscreen_delay_everything = { # delay notifications by default fullscreen = "delay"; }; fullscreen_show_critical = { # show critical notification fullscreen = "show"; msg_urgency = "critical"; }; }; }; }; }