128 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			4.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { lib, config, pkgs, ... }: 
 | |
| 
 | |
| let
 | |
|     cfg = config.homeModules.desktop.wayland.windowManager.hyprland;
 | |
| in
 | |
| 
 | |
| {
 | |
|   wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable {
 | |
|     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"
 | |
|     # ];
 | |
|   };
 | |
| }
 |