niksos/modules/services/dunst.nix

101 lines
3.7 KiB
Nix
Raw Normal View History

2023-09-08 16:10:15 +02:00
{
2023-10-13 21:04:24 +02:00
config,
lib,
2023-09-08 16:10:15 +02:00
pkgs,
...
2024-05-05 12:38:40 +02:00
}: let
2024-07-15 23:18:25 +02:00
cfg = config.poz.services.dunst;
inherit (config.poz.other.system) username;
2024-05-05 12:38:40 +02:00
2024-07-24 18:47:53 +02:00
inherit (lib.meta) getExe getExe';
2024-07-25 11:45:44 +02:00
inherit (lib.modules) mkIf;
inherit (lib.options) mkEnableOption;
xdg-open = getExe' pkgs.xdg-utils "xdg-open";
2023-10-13 21:04:24 +02:00
in {
2024-07-15 23:18:25 +02:00
options.poz.services.dunst.enable = mkEnableOption "dunst";
2023-10-13 21:04:24 +02:00
config = mkIf cfg.enable {
home-manager.users.${username} = {
2023-10-13 21:04:24 +02:00
services.dunst = {
enable = true;
settings = {
global = {
monitor = 1;
follow = "none";
width = 300;
height = 300;
origin = "top-center";
offset = "0x15";
scale = 0;
notification_limit = 3;
idle_threshold = 120;
progress_bar = true;
progress_bar_height = 10;
progress_bar_frame_width = 0;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
indicate_hidden = "yes";
transparency = 10;
separator_height = 2;
padding = 10;
frame_width = 3;
frame_color = "#89B4FA";
separator_color = "frame";
highlight = "#89DCEB";
sort = "yes";
font = "JetBrains Mono 12";
line_height = 0;
markup = "full";
format = "<b>%s</b>\n%b";
alignment = "right";
vertical_alignment = "center";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = false;
show_indicators = "yes";
icon_position = "left";
min_icon_size = 0;
max_icon_size = 32;
sticky_history = "yes";
history_length = 20;
dmenu = "${getExe pkgs.rofi-wayland}";
browser = "${xdg-open}";
2023-10-13 21:04:24 +02:00
always_run_script = true;
title = "Dunst";
class = "dunst";
corner_radius = 10;
ignore_dbusclose = false;
force_xwayland = false;
force_xinerama = false;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "context";
mouse_right_click = "close_all";
};
experimental = {
per_monitor_dpi = false;
};
urgency_low = {
background = "#1E1E2E";
foreground = "#CDD6F4";
timeout = 5;
};
urgency_normal = {
background = "#1E1E2E";
foreground = "#CDD6F4";
timeout = 6;
};
urgency_critical = {
background = "#1E1E2E";
foreground = "#CDD6F4";
frame_color = "#FAB387";
timeout = 0;
};
};
2023-09-08 16:10:15 +02:00
};
};
};
}