niksos/modules/services/dunst.nix

97 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,
2023-09-08 16:10:15 +02:00
inputs,
2023-10-13 21:04:24 +02:00
lib,
2023-09-08 16:10:15 +02:00
pkgs,
...
2023-10-13 21:04:24 +02:00
}: with lib; let
cfg = config.myOptions.services.dunst;
username = config.myOptions.other.system.username;
2023-10-13 21:04:24 +02:00
in {
2024-04-05 22:59:32 +02:00
options.myOptions.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;
package = inputs.nixpkgs-wayland.packages.${pkgs.system}.dunst;
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 = "${pkgs.rofi-wayland}/bin/rofi";
browser = "${pkgs.xdg-utils}/bin/xdg-open";
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
};
};
};
}