{pkgs, ...}: let urgencyLowBackground = "#1a1b26"; urgencyLowForeground = "#c0caf5"; urgencyLowFrameColor = "#7aa2f7"; urgencyNormalBackground = "#24283b"; urgencyNormalForeground = "#c0caf5"; urgencyNormalFrameColor = "#7aa2f7"; urgencyCriticalBackground = "#f7768e"; urgencyCriticalForeground = "#1a1b26"; urgencyCriticalFrameColor = "#ff757f"; volumeHighlight = "#f5c2e7"; volumeFrameColor = "#eba0ac"; volumeBackground = "#45475a"; volumeForeground = "#f5e0dc"; brightnessHighlight = "#94e2d5"; brightnessFrameColor = "#74c7ec"; brightnessBackground = "#313244"; brightnessForeground = "#a6e3a1"; networkHighlight = "#f9e2af"; networkFrameColor = "#f38ba8"; networkBackground = "#1e1e2e"; networkForeground = "#fab387"; globalFrameColor = "#7aa2f7"; globalCornerRadius = 10; globalMargin = 8; globalPadding = 12; globalBorderWidth = 2; globalFont = "0xProto Nerd Font Bold 10"; globalIconPath = "/usr/share/icons/Candy/16x16/status/:/usr/share/icons/Candy/16x16/devices/:/usr/share/icons/Candy/16x16/apps/"; in { services.dunst = { enable = true; settings = { global = { monitor = 0; follow = "mouse"; width = "(300, 400)"; height = 300; origin = "top-right"; offset = "15x50"; scale = 0; notification_limit = 0; progress_bar = true; progress_bar_height = 10; progress_bar_frame_width = 1; progress_bar_min_width = 150; progress_bar_max_width = 300; transparency = 5; padding = globalPadding; horizontal_padding = globalPadding; text_icon_padding = 12; frame_width = globalBorderWidth; frame_color = globalFrameColor; separator_color = "frame"; separator_height = 2; corner_radius = globalCornerRadius; gap_size = globalMargin; line_height = 0; font = globalFont; markup = "full"; format = "%s\n%b"; alignment = "left"; vertical_alignment = "center"; show_age_threshold = 60; ellipsize = "middle"; ignore_newline = "no"; stack_duplicates = true; hide_duplicate_count = false; show_indicators = true; enable_recursive_icon_lookup = true; icon_position = "left"; min_icon_size = 32; max_icon_size = 128; icon_path = globalIconPath; sticky_history = "yes"; history_length = 20; mouse_left_click = "do_action, close_current"; mouse_middle_click = "close_all"; mouse_right_click = "close_current"; }; urgency_low = { background = urgencyLowBackground; foreground = urgencyLowForeground; frame_color = urgencyLowFrameColor; timeout = 5; }; urgency_normal = { background = urgencyNormalBackground; foreground = urgencyNormalForeground; frame_color = urgencyNormalFrameColor; timeout = 5; }; urgency_critical = { background = urgencyCriticalBackground; foreground = urgencyCriticalForeground; frame_color = urgencyCriticalFrameColor; timeout = 0; }; volume = { appname = "Volume"; summary = "*"; format = "%s\n%b"; highlight = volumeHighlight; frame_color = volumeFrameColor; background = volumeBackground; foreground = volumeForeground; }; brightness = { appname = "Brightness"; summary = "*"; format = "%s\n%b"; highlight = brightnessHighlight; frame_color = brightnessFrameColor; background = brightnessBackground; foreground = brightnessForeground; }; network = { appname = "Network"; summary = "*"; format = "%s\n%b"; highlight = networkHighlight; frame_color = networkFrameColor; background = networkBackground; foreground = networkForeground; }; }; }; home.packages = with pkgs; [ dunst ]; }