dotfiles/nixos/dunst.nix

120 lines
3.2 KiB
Nix

{
services.dunst = {
enable = true;
settings = {
global =
{
monitor = 0;
follow = "mouse";
indicate_hidden = "yes";
stack_duplicates = true;
hide_duplicate_count = false;
title = "Dunst";
class = "Dunst";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
show_indicators = "no";
sticky_history = "no";
history_length = 20;
always_run_script = true;
ignore_dbusclose = false;
force_xinerama = false;
# Notification
sort = "yes";
scale = 0;
shrink = "no";
word_wrap = "yes";
# Geometry
width = 300;
height = 200;
origin = "top-right";
offset = "12+48";
padding = 20;
horizontal_padding = 20;
notification_limit = 0;
separator_height = 2;
# Progress-Bar
progress_bar = true;
progress_bar_height = 10;
progress_bar_frame_width = 1;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
# # Aesthetics
# font = let
# inherit (config.modules.themes.font.mono) family weight;
# in "${family} ${weight} 11";
frame_width = 2;
separator_color = "frame";
transparency = 30;
line_height = 1;
idle_threshold = 120;
markup = "full";
format = "<span font='13' weight='bold'>%s</span>\\n%b";
alignment = "left";
vertical_alignment = "center";
icon_position = "left";
min_icon_size = 0;
max_icon_size = 64;
# Keybindings
close = "ctrl+space";
close_all = "ctrl+shift+space";
history = "ctrl+grave";
context = "ctrl+shift+period";
mouse_left_click = "close_current";
mouse_middle_click = "do_action, close_current";
mouse_right_click = "close_all";
};
experimental = {per_monitor_dpi = true;};
fullscreen_pushback_everything = {fullscreen = "pushback";};
global = {
highlight = "#ffffff";
foreground = "#ffffff";
background = "#000000";
frame_color = "#ffffff";
};
};
# // optionalAttrs (active != null) {
# urgency_low = let
# inherit (config.modules.themes.colors.main.types) bg fg;
# in {
# foreground = "${fg}";
# background = "${bg}";
# timeout = 5;
# #icon = /path/to/icon;
# };
# urgency_normal = let
# inherit (config.modules.themes.colors.main.types) bg fg border;
# in {
# foreground = "${fg}";
# background = "${bg}";
# frame_color = "${border}";
# timeout = 7;
# #icon = /path/to/icon;
# };
# urgency_critical = let
# inherit (config.modules.themes.colors.main.types) bg fg error;
# in {
# foreground = "${fg}";
# background = "${bg}";
# frame_color = "${error}";
# timeout = 10;
# #icon = /path/to/icon
# };
# };
};
}