mirror of
				https://github.com/ItsDrike/nixdots
				synced 2025-11-04 11:06:37 +00:00 
			
		
		
		
	Add dunst
This commit is contained in:
		
							parent
							
								
									dddbbb869a
								
							
						
					
					
						commit
						ad463e5f3f
					
				
					 6 changed files with 118 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -34,6 +34,7 @@ in
 | 
			
		|||
        ./programs
 | 
			
		||||
        ./impermanence
 | 
			
		||||
        ./themes
 | 
			
		||||
        ./services
 | 
			
		||||
      ];
 | 
			
		||||
 | 
			
		||||
      config = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,5 @@
 | 
			
		|||
_: {
 | 
			
		||||
  imports = [ ];
 | 
			
		||||
  imports = [ 
 | 
			
		||||
    ./dunst.nix
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										100
									
								
								home/services/dunst.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								home/services/dunst.nix
									
										
									
									
									
										Normal 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";
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -178,6 +178,10 @@
 | 
			
		|||
          obs.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      services = {
 | 
			
		||||
        dunst.enable = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@ in
 | 
			
		|||
    ./git.nix
 | 
			
		||||
    ./wms.nix
 | 
			
		||||
    ./theme.nix
 | 
			
		||||
    ./services.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  options.myOptions.home-manager = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										9
									
								
								options/home/services.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								options/home/services.nix
									
										
									
									
									
										Normal 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)";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue