All checks were successful
		
		
	
	Run nix flake check / flake-check (push) Successful in 1m45s
				
			
		
			
				
	
	
		
			160 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   inputs,
 | |
|   pkgs,
 | |
|   lib,
 | |
|   config,
 | |
|   ...
 | |
| }:
 | |
| {
 | |
|   options.hyprland.enable = lib.mkEnableOption "Hyprland";
 | |
|   config = {
 | |
|     home.packages = with pkgs; [
 | |
|       dunst
 | |
|       # hyprlock
 | |
|       hyprpaper
 | |
|       rofi-wayland
 | |
|       slurp
 | |
|       swww
 | |
|       waybar
 | |
|       wl-clipboard
 | |
|       catppuccin-cursors.macchiatoLavender
 | |
|       bibata-cursors
 | |
|       # For potentially fixing some issues
 | |
|       libsForQt5.qt5.qtwayland
 | |
|       libsForQt5.qt5ct
 | |
|     ];
 | |
| 
 | |
|     wayland.windowManager.hyprland = {
 | |
|       enable = true;
 | |
|       package = pkgs.hyprland;
 | |
|       settings = {
 | |
|         "$mainMod" = "SUPER";
 | |
|         "$shiftMainMod" = "SUPER_SHIFT";
 | |
|         "$term" = "kitty";
 | |
| 
 | |
|         monitor = [ ];
 | |
|         input = {
 | |
|           kb_layout = "no";
 | |
|           follow_mouse = 1;
 | |
|         };
 | |
| 
 | |
|         env = [ "XDG_SESSION_TYPE,wayland" ];
 | |
| 
 | |
|         decoration = {
 | |
|           rounding = 0;
 | |
|           drop_shadow = true;
 | |
|           shadow_range = 4;
 | |
|           shadow_render_power = 3;
 | |
|           blur = {
 | |
|             enabled = true;
 | |
|             size = 3;
 | |
|             passes = 1;
 | |
|             xray = true;
 | |
|           };
 | |
|         };
 | |
| 
 | |
|         general = {
 | |
|           gaps_in = 4;
 | |
|           gaps_out = 10;
 | |
|           border_size = 2;
 | |
|           layout = "dwindle";
 | |
|         };
 | |
| 
 | |
|         animations = {
 | |
|           enabled = true;
 | |
|           bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
 | |
|           animation = [
 | |
|             "windows, 1, 7, myBezier"
 | |
|             "windowsOut, 1, 7, default, popin 80%"
 | |
|             "border, 1, 10, default"
 | |
|             "borderangle, 1, 8, default"
 | |
|             "fade, 1, 7, default"
 | |
|             "workspaces, 1, 6, default"
 | |
|           ];
 | |
|         };
 | |
|         dwindle = {
 | |
|           pseudotile = true;
 | |
|           preserve_split = true;
 | |
|         };
 | |
|         master = {
 | |
|           new_status = "master";
 | |
|         };
 | |
|         misc.force_default_wallpaper = -1;
 | |
| 
 | |
|         windowrulev2 = [
 | |
|           "opacity 0.95 override 0.7 override,class:^(Alacritty)$"
 | |
|           "opacity 0.95 override 0.7 override,class:^(kitty)$"
 | |
|         ];
 | |
| 
 | |
|         workspace = [
 | |
|           "name:mumble, monitor:$mon_top, persistent:true, default:true"
 | |
|           "name:left, monitor:$mon_left, persistent:true, default:true"
 | |
|           "name:right, monitor:$mon_right, persistent:true, default:true"
 | |
|           "name:main 1, monitor:$mon_center, persistent:true, default:true"
 | |
|           "name:main 2, monitor:$mon_center, persistent:true, default:true"
 | |
|         ];
 | |
| 
 | |
|         bindm = [ "ALT,mouse:272,movewindow" ];
 | |
| 
 | |
|         bindr = [
 | |
|           # mumble ptt release
 | |
|           # ",code:202,exec,mumble rpc stoptalking"
 | |
|           # ",code:202,exec,pamixer --source 63 -m"
 | |
|           # ",code:202,exec,sleep 0.5 && pamixer --default-source -m"
 | |
|         ];
 | |
| 
 | |
|         bind = [
 | |
|           # term
 | |
|           "$mainMod,Return,exec,$term"
 | |
| 
 | |
|           # rofi
 | |
|           "$mainMod,D,exec,rofi-launcher"
 | |
|           "$mainMod,P,exec,rofi-rbw"
 | |
| 
 | |
|           # hyprland
 | |
|           "$mainMod,Q,killactive,"
 | |
|           "CTRLALT,Delete,exit,"
 | |
|           "$mainMod,Space,togglefloating,"
 | |
|           "$mainMod,F,fullscreen,"
 | |
| 
 | |
|           # focus
 | |
|           "$mainMod,l,movefocus,l"
 | |
|           "$mainMod,h,movefocus,r"
 | |
|           "$mainMod,k,movefocus,u"
 | |
|           "$mainMod,j,movefocus,d"
 | |
| 
 | |
|           # move
 | |
|           "$mainMod,h,movewindow,l"
 | |
|           "$mainMod,l,movewindow,r"
 | |
|           "$mainMod,k,movewindow,u"
 | |
|           "$mainMod,j,movewindow,d"
 | |
| 
 | |
|           # Force opacity
 | |
|           "$shiftMainMod,o,exec, hl-no-opacity"
 | |
| 
 | |
|           # mumble ptt click
 | |
|           # ",code:202,exec,mumble rpc starttalking"
 | |
|           #",code:202,pass,^(info\.mumble\.Mumble)$"
 | |
|           # ",code:202,exec,pamixer --default-source -u"
 | |
|           ",code:202,pass,^discord$"
 | |
| 
 | |
|           # worspace switching
 | |
|           "$mainMod,1,workspace,name:main 1"
 | |
|           "$mainMod,2,workspace,name:main 2"
 | |
|           "$mainMod,3,workspace,3"
 | |
|           "$mainMod,4,workspace,4"
 | |
|           "$mainMod,5,workspace,5"
 | |
|           "$mainMod,6,workspace,6"
 | |
|         ];
 | |
| 
 | |
|         exec-once = [
 | |
|           "waybar"
 | |
|           "hyprpaper & sleep 2 && randomwp"
 | |
|           "easyeffects --gapplication-service"
 | |
|           # "dunst"
 | |
|         ];
 | |
|       };
 | |
|     };
 | |
|   };
 | |
| }
 |