mirror of
https://github.com/kmein/niveum
synced 2026-03-16 18:21:07 +01:00
67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
sgr = code: string: ''\u001b[${code}m${string}\u001b[0m'';
|
|
in
|
|
{
|
|
environment.systemPackages = [
|
|
(pkgs.writers.writeDashBin "notifications" ''
|
|
${pkgs.dunst}/bin/dunstctl history \
|
|
| ${pkgs.jq}/bin/jq -r '
|
|
.data[]
|
|
| map("${sgr "90" ''\(.appname.data)''} ${sgr "1" ''\(.summary.data)''} ${sgr "31" ''\(.body.data | gsub("\n"; " | "))''}")
|
|
| join("\n")'
|
|
'')
|
|
];
|
|
|
|
home-manager.users.me.services.dunst = {
|
|
enable = true;
|
|
iconTheme = pkgs.lib.niveum.theme.icon;
|
|
settings = {
|
|
global = {
|
|
transparency = 10;
|
|
geometry = "200x5-30+20";
|
|
follow = "mouse";
|
|
indicate_hidden = true;
|
|
notification_height = 0;
|
|
separator_height = 2;
|
|
padding = 8;
|
|
horizontal_padding = 8;
|
|
sort = true;
|
|
markup = "full";
|
|
format = "%a\\n<b>%s</b>\\n%b";
|
|
alignment = "left";
|
|
show_age_threshold = 60;
|
|
bounce_freq = 0;
|
|
word_wrap = true;
|
|
ellipsize = "middle";
|
|
ignore_newline = false;
|
|
stack_duplicates = true;
|
|
hide_duplicate_count = false;
|
|
max_icon_size = 32;
|
|
sticky_history = true;
|
|
history_length = 20;
|
|
dmenu = "${pkgs.rofi}/bin/rofi -display-run dunst -show run";
|
|
browser = lib.getExe pkgs.niveum-browser;
|
|
verbosity = "mesg";
|
|
corner_radius = 0;
|
|
mouse_left_click = "do_action";
|
|
mouse_right_click = "close_current";
|
|
mouse_middle_click = "close_all";
|
|
};
|
|
urgency_low = {
|
|
timeout = 5;
|
|
};
|
|
urgency_normal = {
|
|
timeout = 10;
|
|
};
|
|
urgency_critical = {
|
|
timeout = 0;
|
|
};
|
|
};
|
|
};
|
|
}
|