174 lines
4.3 KiB
Nix
174 lines
4.3 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.eboskma.programs.dunst;
|
|
in
|
|
{
|
|
options.eboskma.programs.dunst = {
|
|
enable = mkEnableOption "activate dunst";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
services.dunst = {
|
|
enable = true;
|
|
iconTheme = {
|
|
name = "elementary";
|
|
package = pkgs.papirus-icon-theme;
|
|
size = "symbolic";
|
|
};
|
|
|
|
settings = {
|
|
global = {
|
|
follow = "mouse";
|
|
width = "(500,900)";
|
|
height = 200;
|
|
origin = "top-right";
|
|
offset = "25x150";
|
|
|
|
progress_bar = true;
|
|
progress_bar_height = 14;
|
|
progress_bar_frame_width = 1;
|
|
progress_bar_min_width = 150;
|
|
progress_bar_max_width = 300;
|
|
|
|
# Show how many items are hidden
|
|
indicate_hidden = "yes";
|
|
|
|
# Shrink window if it's smaller than the width
|
|
shrink = false;
|
|
|
|
# Transparency of the window
|
|
transparency = 1;
|
|
|
|
# Draw a line between multiple notifications
|
|
separator_height = 6;
|
|
separator_color = "#272f57";
|
|
|
|
notification_limit = 0;
|
|
|
|
# Notification padding
|
|
padding = 16;
|
|
horizontal_padding = 16;
|
|
|
|
# Disable frame/border
|
|
frame_width = 0;
|
|
|
|
# Sort by urgency
|
|
sort = "yes";
|
|
|
|
# Disable idle time
|
|
idle_threshold = 0;
|
|
|
|
# --- Text settings ---
|
|
# Font
|
|
font = "Iosevka Aile 20";
|
|
|
|
# Set line height to font height
|
|
line_height = 0;
|
|
|
|
# Reference for markup and formatting:
|
|
# <b>bold</b>
|
|
# <i>italic</i>
|
|
# <s>strikethrough</s>
|
|
# <u>underline</u>
|
|
# <https://developer.gnome.org/pango/stable/pango-Markup.html>.
|
|
# %a appname
|
|
# %s summary
|
|
# %b body
|
|
# %i iconname (including its path)
|
|
# %I iconname (without its path)
|
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
|
# %n progress value if set without any extra characters
|
|
# %% Literal %
|
|
markup = "full";
|
|
format = "<b>%a</b>\\n%s %p\\n%b";
|
|
|
|
# Align the text center left
|
|
alignment = "left";
|
|
vertical_alignment = "center";
|
|
|
|
# Show age if longer than these amount of seconds old
|
|
show_age_threshold = 120;
|
|
|
|
# Wrap text if it doesn't fit
|
|
word_wrap = "yes";
|
|
|
|
# Where to ellipsize when wrapping is disabled
|
|
ellipsize = "middle";
|
|
|
|
# Use newlines (\n) in notifications
|
|
ignore_newline = "no";
|
|
|
|
# Stack duplicate messages
|
|
stack_duplicates = true;
|
|
hide_duplicate_count = false;
|
|
|
|
# Show indicators for URLs (U) and actions (A)
|
|
show_indicators = "yes";
|
|
|
|
# --- Icons ---
|
|
# Align icons left
|
|
icon_position = "left";
|
|
|
|
# Scale icons if smaller than min or larger than max
|
|
min_icon_size = 64;
|
|
max_icon_size = 64;
|
|
|
|
# Avoid timing out hidden notifications
|
|
sticky_history = "yes";
|
|
|
|
# Maximum amount of notifications in history
|
|
history_length = 100;
|
|
|
|
# --- Misc ---
|
|
|
|
browser = "${config.programs.firefox.package}/bin/firefox --new-tab";
|
|
|
|
# Don't run scripts if notification is suppressed
|
|
always_run_script = false;
|
|
|
|
# Window title
|
|
title = "Dunst";
|
|
|
|
# Window class
|
|
class = "Dunst";
|
|
|
|
#Notification corner radius
|
|
corner_radius = 5;
|
|
|
|
# Don't ignore the dbus closeNotification
|
|
ignore_dbusclose = false;
|
|
};
|
|
experimental = {
|
|
per_monitor_dpi = false;
|
|
};
|
|
urgency_low = {
|
|
background = "#141929fe";
|
|
foreground = "#dae1f2";
|
|
highlight = "#6fa6e7";
|
|
frame_color = "#272f57";
|
|
timeout = 8;
|
|
};
|
|
urgency_normal = {
|
|
background = "#141929fe";
|
|
foreground = "#dae1f2";
|
|
highlight = "#5ca1ff";
|
|
frame_color = "#272f57";
|
|
timeout = 8;
|
|
};
|
|
urgency_high = {
|
|
background = "#5ca1ffff";
|
|
highlight = "#fe6c5a";
|
|
foreground = "#1c2138";
|
|
frame_color = "#52426e";
|
|
timeout = 0;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|