149 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| # ./modules/users/psljr/hyprland.nix
 | |
| # Configure hyprland for user psljr
 | |
| 
 | |
| { config, pkgs, ... }:
 | |
| 
 | |
| {
 | |
|   home-manager.users.psljr = { pkgs, ... }: {
 | |
|     # Configure hyprland
 | |
|     wayland.windowManager.hyprland = {
 | |
|       enable = true;
 | |
|       settings = {
 | |
| 
 | |
|         # Define variables
 | |
|         "$mod" = "SUPER";
 | |
|         "$primary_100" = "rgba(FF9955EE)";
 | |
|         "$primary_200" = "rgba(EF7679EE)";
 | |
|         "$primary_300" = "rgba(C26793EE)";
 | |
|         "$primary_400" = "rgba(846294EE)";
 | |
|         "$primary_500" = "rgba(4C587DEE)";
 | |
|         "$primary_600" = "rgba(2F4858EE)";
 | |
| 
 | |
|         # Define auto-run applications
 | |
|         exec-once=[
 | |
|           "dunst" # Notification daemon
 | |
|           "hypridle" # Idle daemon
 | |
|           "hyprpaper" # Wallpaper
 | |
|           "waybar" # Status bar
 | |
|         ];
 | |
| 
 | |
|         # Monitor setup
 | |
|         monitor = [
 | |
|           "eDP-1, preferred, auto, 1"
 | |
|           "DVI-I-1, preferred, auto-left, 1"
 | |
|         ];
 | |
|           
 | |
|         # Keybinds
 | |
|         bind = [
 | |
|           "$mod, R, exec, rofi -show drun"
 | |
|           "$mod SHIFT, R, exec, rofi -show run"
 | |
|           "$mod, T, exec, kitty"
 | |
|           "$mod, F, exec, nautilus"
 | |
|           "$mod, C, killactive,"
 | |
|           "$mod, M, exec, rofi -show menu -modi \"menu:rofi-power-menu --choices=shutdown/reboot/logout\""
 | |
|           "$mod, L, exec, hyprlock"
 | |
|           ", PRINT, exec, hyprshot -m window"
 | |
|           "$mod, PRINT, exec, hyprshot -m output"
 | |
|           "$mod SHIFT, PRINT, exec, hyprshot -m region"
 | |
|           
 | |
|           "$mod, left, movefocus, l"
 | |
|           "$mod, right, movefocus, r"
 | |
|           "$mod, up, movefocus, u"
 | |
|           "$mod, down, movefocus, d"
 | |
| 
 | |
|           "$mod, 1, workspace, 1"
 | |
|           "$mod, 2, workspace, 2"
 | |
|           "$mod, 3, workspace, 3"
 | |
|           "$mod, 4, workspace, 4"
 | |
|           "$mod, 5, workspace, 5"
 | |
|           "$mod, 6, workspace, 6"
 | |
|           "$mod, 7, workspace, 7"
 | |
|           "$mod, 8, workspace, 8"
 | |
|           "$mod, 9, workspace, 9"
 | |
|           "$mod, 10, workspace, 10"
 | |
| 
 | |
|           "$mod SHIFT, 1, movetoworkspace, 1"
 | |
|           "$mod SHIFT, 2, movetoworkspace, 2"
 | |
|           "$mod SHIFT, 3, movetoworkspace, 3"
 | |
|           "$mod SHIFT, 4, movetoworkspace, 4"
 | |
|           "$mod SHIFT, 5, movetoworkspace, 5"
 | |
|           "$mod SHIFT, 6, movetoworkspace, 6"
 | |
|           "$mod SHIFT, 7, movetoworkspace, 7"
 | |
|           "$mod SHIFT, 8, movetoworkspace, 8"
 | |
|           "$mod SHIFT, 9, movetoworkspace, 9"
 | |
|           "$mod SHIFT, 10, movetoworkspace, 10"
 | |
| 
 | |
|           "$mod, H, layoutmsg, preselect r"
 | |
|           "$mod, V, layoutmsg, preselect d"
 | |
|           "$mod SHIFT, right, resizeactive, 100 0"
 | |
|           "$mod SHIFT, left, resizeactive, -100 0"
 | |
|           
 | |
|         ];
 | |
| 
 | |
|         # Mouse binds
 | |
|         bindm = [
 | |
|           "$mod, mouse:272, movewindow"
 | |
|         ];
 | |
| 
 | |
|         # Multimedia binds
 | |
|         bindel = [
 | |
|           ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
 | |
|           ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
 | |
|           ", XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ toggle"
 | |
|           ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
 | |
|           ", XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+"
 | |
|           ", XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-"
 | |
|         ];
 | |
| 
 | |
|         # Set window rules
 | |
|         windowrule = [
 | |
|           "suppressevent maximize, class:*"
 | |
|           "nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
 | |
|         ];
 | |
| 
 | |
|         input = {
 | |
|           kb_layout = "us";
 | |
|           follow_mouse = 1;
 | |
|         };
 | |
| 
 | |
|         general = {
 | |
|           gaps_in = 4;
 | |
|           gaps_out = 8;
 | |
|           border_size = 2;
 | |
|           "col.active_border" = "$primary_100 $primary_300 45deg";
 | |
|           "col.inactive_border" = "$primary_500";
 | |
|           layout = "dwindle";
 | |
|         };
 | |
| 
 | |
|         decoration = {
 | |
|           rounding = 5;
 | |
|           rounding_power = 2;
 | |
| 
 | |
|           blur = {
 | |
|             enabled = true;
 | |
|             size = 4;
 | |
|             passes = 1;
 | |
|           };
 | |
|           
 | |
|           dim_inactive = true;
 | |
|           dim_strength = 0.25;
 | |
| 
 | |
|           shadow = {
 | |
|             enabled = true;
 | |
|             range = 4;
 | |
|             render_power = 2;
 | |
|             color = "rgba(1a1a1aee)";
 | |
|           };
 | |
|         };
 | |
| 
 | |
|         animations.enabled = true;
 | |
| 
 | |
|         dwindle = {
 | |
|           pseudotile = "yes";
 | |
|           preserve_split = "yes";
 | |
|         };
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |