nixos-config/home-manager/modules/dunst/default.nix

81 lines
2 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 = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
size = "symbolic";
};
settings = {
global = {
follow = "mouse";
width = "(10, 500)";
height = 200;
origin = "top-right";
offset = "25x25";
indicate_hidden = "yes";
shrink = false;
transparency = 15;
notification_limit = 0;
separator_height = 1;
padding = 15;
horizontal_padding = 20;
frame_width = 0;
frame_color = "#282a36";
separator_color = "frame";
sort = "yes";
idle_threshold = 120;
font = "Meslo Nerd Font 10";
line_height = 0;
markup = "full";
format = "%s %p\\n%b";
alignment = "left";
vertical_alignment = "center";
show_age_threshold = 60;
word_wrap = "yes";
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
hide_duplicate_count = false;
show_indicators = "yes";
icon_position = "left";
min_icon_size = 64;
max_icon_size = 64;
sticky_history = "yes";
history_length = 20;
corner_radius = 5;
};
experimental = {
per_monitor_dpi = false;
};
urgency_low = {
background = "#282a36";
foreground = "#6272a4";
timeout = 10;
};
urgency_normal = {
background = "#282a36";
foreground = "#bd93f9";
timeout = 10;
};
urgency_high = {
background = "#ff5555";
foreground = "#f8f8f2";
frame_color = "#ff5555";
timeout = 0;
};
};
};
};
}