diff --git a/common/fragments/graphical/dunst.nix b/common/fragments/graphical/dunst.nix index 158f9a3..f521a70 100644 --- a/common/fragments/graphical/dunst.nix +++ b/common/fragments/graphical/dunst.nix @@ -1,8 +1,108 @@ -{ config, pkgs, lib, ... }: { +{ lib, pkgs, config, ... }@attrs: +let + utils = import ./colors.nix attrs; + colorscheme = utils.colorscheme "purple" ../../../external/6.png; + color = n: colorscheme.colors."${builtins.toString n}"; +in { home-manager.users.agatha = { services.dunst = { enable = true; + settings = { + global = { + # Display + monitor = 1; + follow = "none"; + fullscreen = "pushback"; + + # Geometry + width = 300; + height = 300; + + origin = "top-right"; + offset = "15x63"; + + notification_limit = 5; + + # Progress bar + progress_bar = true; + progress_bar_height = 3; + progress_bar_frame_width = 0; + progress_bar_min_width = 150; + progress_bar_max_width = 300; + + indicate_hidden = true; + separator_height = 0; + padding = 8; + horizontal_padding = 8; + text_icon_padding = 0; + frame_width = 3; + + frame_color = color 1; + highlight = color 3; + + separator_color = "auto"; + sort = true; + + # Text + font = "Siji, DaddyTimeMono Nerd Font 10"; + line_height = 0; + + markup = "full"; + format = '' + %s + %b %p''; + alignment = "left"; + vertical_alignment = "center"; + + show_age_threshold = 60; + ellipsize = "middle"; + ignore_newline = false; + hide_duplicate_coutn = false; + show_indicators = false; + + # Icons + icon_position = "left"; + min_icon_size = 0; + max_icon_size = 32; + + # History + sticky_history = true; + history_length = 20; + + # Misc + browser = "${pkgs.xdg-utils}/bin/xdg-open"; + always_run_script = true; + + title = "Dunst"; + class = "Dunst"; + + mouse_left_click = "do_action, close_curent"; + mouse_right_click = "close_all"; + }; + urgency_low = { + background = color 0; + foreground = color 15; + timeout = 10; + }; + urgency_normal = { + background = color 0; + foreground = color 15; + timeout = 10; + }; + urgency_critical = { + background = color 0; + foreground = color 15; + frame_color = color 3; + + timeout = 0; + }; + # Horrible hack to fix alphabetical sorting overriding this + x-calendar = { + summary = " Calendar"; + alignment = "center"; + }; + }; }; }; }