35 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   osConfig,
 | |
|   config,
 | |
|   inputs',
 | |
|   ...
 | |
| }: let
 | |
|   inherit (lib) mkIf;
 | |
|   inherit (osConfig.ooknet.workstation) environment;
 | |
|   inherit (inputs') hyprland-contrib;
 | |
| in {
 | |
|   config = mkIf (environment == "hyprland") {
 | |
|     home.packages = [
 | |
|       # Screenshot tool
 | |
|       hyprland-contrib.packages.grimblast
 | |
|       # Screen recording tool
 | |
|     ];
 | |
| 
 | |
|     # Add XDG user directories that the scripts use
 | |
|     xdg.userDirs.extraConfig = {
 | |
|       XDG_RECORDINGS_DIR = "${config.xdg.userDirs.videos}/Recordings";
 | |
|       XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
 | |
|     };
 | |
| 
 | |
|     wayland.windowManager.hyprland.settings.bind = [
 | |
|       # Screenshot binds
 | |
|       ",               Print,         exec,     grimblast --notify --cursor copysave area"
 | |
|       "SUPER,          Print,         exec,     grimblast --notify --cursor copysave screen"
 | |
|       # Recording binds
 | |
|       "SUPER,          r,             exec,     hyprrecord -a -w video screen copysave"
 | |
|       "SUPER CTRL,     r,             exec,     hyprrecord -a -w video area copysave"
 | |
|       "SUPER ALT,      r,             exec,     hyprrecord -w gif area copysave"
 | |
|     ];
 | |
|   };
 | |
| }
 |