Add dunst

This commit is contained in:
ItsDrike 2024-06-21 13:09:02 +02:00
parent dddbbb869a
commit ad463e5f3f
Signed by: ItsDrike
GPG key ID: FA2745890B7048C0
6 changed files with 118 additions and 1 deletions

View file

@ -34,6 +34,7 @@ in
./programs ./programs
./impermanence ./impermanence
./themes ./themes
./services
]; ];
config = { config = {

View file

@ -1,3 +1,5 @@
_: { _: {
imports = [ ]; imports = [
./dunst.nix
];
} }

100
home/services/dunst.nix Normal file
View file

@ -0,0 +1,100 @@
{
lib,
osConfig,
config,
...
}: let
inherit (lib) mkIf;
cfg = osConfig.myOptions.home-manager.services.dunst;
in {
config = mkIf cfg.enable {
services.dunst = {
enable = true;
iconTheme = {
package = config.gtk.iconTheme.package;
name = config.gtk.iconTheme.name;
};
settings = {
global = {
follow = "mouse";
width = 270;
height = 300;
origin = "top-right";
offset = "30x30";
scale = 0;
alignment = "left";
vertical_alignment = "center";
ellipsize = "middle";
padding = 10;
horizontal_padding = 10;
text_icon_padding = 0;
icon_position = "left";
min_icon_size = 0;
max_icon_size = 32;
separator_height = 2;
frame_width = 3;
frame_color = "#27292c";
separator_color = "frame";
corner_radius = 0;
transparency = 20;
word_wrap = "yes";
line_height = 0;
notification_limit = 3;
idle_threshold = 120;
history_length = 20;
show_age_threshold = 60;
markup = "full";
format = "<b>%a - %s</b>\\n%b";
font = "JetBrainsMono Nerd Font 11";
sort = "yes";
shrink = "no";
sticky_history = "yes";
ignore_newline = "no";
show_indicators = "yes";
stack_duplicates = true;
always_run_script = true;
hide_duplicate_count = false;
ignore_dbusclose = false;
force_xwayland = false;
force_xinerama = false;
mouse_left_click = "do_action, open_url, close_current";
mouse_middle_click = "context";
mouse_right_click = "close_current";
indicate_hidden = "yes";
progress_bar = true;
progress_bar_height = 30;
progress_bar_frame_width = 1;
progress_bar_min_width = 150;
progress_bar_max_width = 300;
title = "Dunst";
class = "Dunst";
};
fullscreen_delay_everything = {fullscreen = "delay";};
urgency_low = {
timeout = 5;
background = "#1e2137fa";
foreground = "#ffffff";
highlight = "#fe6c5a";
};
urgency_normal = {
timeout = 10;
background = "#141c21fa";
foreground = "#ffffffff";
highlight = "#fe6c5a";
};
urgency_critical = {
timeout = 0;
background = "#dd130ddd";
foreground = "#ffffffff";
highlight = "#fe6c5a";
};
};
};
};
}

View file

@ -178,6 +178,10 @@
obs.enable = true; obs.enable = true;
}; };
}; };
services = {
dunst.enable = true;
};
}; };
}; };
} }

View file

@ -7,6 +7,7 @@ in
./git.nix ./git.nix
./wms.nix ./wms.nix
./theme.nix ./theme.nix
./services.nix
]; ];
options.myOptions.home-manager = { options.myOptions.home-manager = {

View file

@ -0,0 +1,9 @@
{ lib, ... }: with lib; let
inherit (lib) mkEnableOption mkOption types;
in
{
options.myOptions.home-manager.services = {
dunst.enable = mkEnableOption "Dunst (lightweight notification daemon)";
};
}