131 lines
		
	
	
	
		
			4.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
	
		
			4.9 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { lib, config, pkgs, ... }: 
 | |
| 
 | |
| let
 | |
|   inherit (lib) mkIf;
 | |
|   wayland = config.ooknet.wayland;
 | |
| in
 | |
| 
 | |
| {
 | |
|   config = mkIf (wayland.compositor == "hyprland") {
 | |
|     wayland.windowManager.hyprland.settings = {
 | |
|       bind = let
 | |
|         terminal = config.home.sessionVariables.TERMINAL;
 | |
|         browser = config.home.sessionVariables.BROWSER;
 | |
|         editor = config.home.sessionVariables.EDITOR;
 | |
|         locker = config.home.sessionVariables.LOCKER;
 | |
| 
 | |
|         spotifyctl = "${pkgs.spotify-player}/bin/spotify_player";
 | |
|         discord = "${pkgs.vesktop}/bin/vesktop";
 | |
|       
 | |
|         explorer = "${pkgs.cinnamon.nemo-with-extensions}/bin/nemo";
 | |
| 
 | |
|         password = "${pkgs._1password-gui}/bin/1password";
 | |
|       in [
 | |
| 
 | |
|         # Program Launch
 | |
|         "SUPER,          b,             exec,     ${browser}"
 | |
|         "SUPER,          return,        exec,     ${terminal}"
 | |
|         "SUPER,          e,             exec,     ${terminal} ${editor}"
 | |
|         "SUPERSHIFT,     P,             exec,     ${password}"
 | |
|         "SUPER,          d,             exec,     ${discord}"
 | |
|         "SUPERSHIFT,     e,             exec,     ${explorer}"
 | |
|         "SUPERSHIFT,     S,             exec,     steam"
 | |
|         "SUPER,          escape,        exec,     ${terminal} --title=BTOP btop"
 | |
|         "SUPER CTRL,     return,        exec,     zellijmenu -n"
 | |
| 
 | |
|         "SUPER,          delete,        exec,     powermenu -c dmenu"
 | |
|       
 | |
|       
 | |
| 
 | |
|         # Spotify PLayer Controls
 | |
| 
 | |
|         "SUPER,          bracketright,  exec,     ${spotifyctl} playback next"
 | |
|         "SUPER,          bracketleft,   exec,     ${spotifyctl} playback previous"
 | |
|         "SUPER,          backslash,     exec,     ${spotifyctl} playback play-pause"
 | |
| 
 | |
|         # Brightness
 | |
| 
 | |
|         ",XF86MonBrightnessUp,          exec,     hyprbrightness up"
 | |
|         ",XF86MonBrightnessDown,        exec,     hyprbrightness down"
 | |
| 
 | |
|         # Volume
 | |
| 
 | |
|         ",XF86AudioRaiseVolume,         exec,     hyprvolume up"
 | |
|         ",XF86AudioLowerVolume,         exec,     hyprvolume down"
 | |
|         ",XF86AudioMute,                exec,     hyprvolume mute"
 | |
|       
 | |
|         # Window Management
 | |
|       
 | |
|         "SUPER,          Q,             killactive"
 | |
|         "SUPER CTRL,     backspace,     killactive"
 | |
|         "SUPERSHIFT ALT, delete,        exec, hyprkillsession"
 | |
|         "SUPER,          F,             fullscreen"
 | |
|         "SUPER CTRL,     F,             fakefullscreen"
 | |
|         "SUPER,          Space,         togglefloating"
 | |
|         "SUPER,          P,             pseudo" # dwindle
 | |
|         "SUPER,          S,             togglesplit" # dwindle
 | |
| 
 | |
|         # Focus
 | |
| 
 | |
|         "SUPER,          left,          movefocus,l"
 | |
|         "SUPER,          right,         movefocus,r"
 | |
|         "SUPER,          up,            movefocus,u"
 | |
|         "SUPER,          down,          movefocus,d"
 | |
| 
 | |
|         # Move
 | |
| 
 | |
|         "SUPERSHIFT,     left,          movewindow,l"
 | |
|         "SUPERSHIFT,     right,         movewindow,r"
 | |
|         "SUPERSHIFT,     up,            movewindow,u"
 | |
|         "SUPERSHIFT,     down,          movewindow,d"
 | |
| 
 | |
|         #Resize
 | |
| 
 | |
|         "SUPER CTRL,     left,          resizeactive,-20 0"
 | |
|         "SUPERCTRL,      right,         resizeactive,20 0"
 | |
|         "SUPER CTRL,     up,            resizeactive,0 -20"
 | |
|         "SUPERCTRL,      down,          resizeactive,0 20"
 | |
| 
 | |
|         # Switch workspace
 | |
|     
 | |
|         "SUPER,          1,             workspace,1"
 | |
|         "SUPER,          2,             workspace,2"
 | |
|         "SUPER,          3,             workspace,3"
 | |
|         "SUPER,          4,             workspace,4"
 | |
|         "SUPER,          5,             workspace,5"
 | |
|         "SUPER,          6,             workspace,6"
 | |
|         "SUPER,          7,             workspace,7"
 | |
|         "SUPER,          8,             workspace,8"
 | |
|         "SUPER,          9,             workspace,9"
 | |
|         "SUPER,          0,             workspace,10"
 | |
|         "SUPER,          comma,         workspace,e+1"
 | |
|         "SUPER,          period,        workspace,e-1"
 | |
|         "SUPER,          tab,           focusCurrentOrLast"
 | |
| 
 | |
|         # Move workspace
 | |
| 
 | |
|         "SUPERSHIFT,     1,             movetoworkspace,1"
 | |
|         "SUPERSHIFT,     2,             movetoworkspace,2"
 | |
|         "SUPERSHIFT,     3,             movetoworkspace,3"
 | |
|         "SUPERSHIFT,     4,             movetoworkspace,4"
 | |
|         "SUPERSHIFT,     5,             movetoworkspace,5"
 | |
|         "SUPERSHIFT,     6,             movetoworkspace,6"
 | |
|         "SUPERSHIFT,     7,             movetoworkspace,7"
 | |
|         "SUPERSHIFT,     8,             movetoworkspace,8"
 | |
|         "SUPERSHIFT,     9,             movetoworkspace,9"
 | |
|         "SUPERSHIFT,     0,             movetoworkspace,10"
 | |
| 
 | |
|         # Lock Screen
 | |
|         "SUPER,          Backspace,     exec,     ${locker}"
 | |
|       ];
 | |
|         # Mouse
 | |
|       bindm = [
 | |
|         "SUPER,          mouse:272,     movewindow"
 | |
|         "SUPER,          mouse:273,     resizewindow"
 | |
|       ];
 | |
|       # bindr = [
 | |
|       #   "SUPER, SUPER_L, exec, killall rofi || rofi -show drun"
 | |
|       # ];
 | |
|     };
 | |
|   };
 | |
| }
 |