39 lines
		
	
	
	
		
			897 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			897 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   inputs',
 | |
|   pkgs,
 | |
|   osConfig,
 | |
|   lib,
 | |
|   config,
 | |
|   ...
 | |
| }: let
 | |
|   inherit (lib) getExe getExe' mkIf;
 | |
|   inherit (osConfig.ooknet.workstation) environment;
 | |
| 
 | |
|   dpms = "${getExe' config.wayland.windowManager.hyprland.package "hyprctl"} dispatch dpms";
 | |
|   lock = "${getExe' pkgs.systemd "loginctl"} lock-session";
 | |
|   hyprlock = getExe config.programs.hyprlock.package;
 | |
| in {
 | |
|   config = mkIf (environment == "hyprland") {
 | |
|     services.hypridle = {
 | |
|       enable = true;
 | |
|       package = inputs'.hypridle.packages.hypridle;
 | |
|       settings = {
 | |
|         general = {
 | |
|           lock_cmd = hyprlock;
 | |
|           before_sleep_cmd = lock;
 | |
|         };
 | |
|         listener = [
 | |
|           {
 | |
|             timeout = 300;
 | |
|             on-timeout = hyprlock;
 | |
|           }
 | |
|           {
 | |
|             timeout = 360;
 | |
|             on-timeout = "${dpms} off";
 | |
|             on-resume = "${dpms} on";
 | |
|           }
 | |
|         ];
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |