{ theme, ... }: { home.file = { ".config/hypr/hyprland.conf" = { enable = true; text = '' # https://wiki.hyprland.org/Configuring/Variables/ env = GDK_SCALE,1 env = XCURSOR_SIZE,22 # unscale XWayland xwayland { force_zero_scaling = true } layerrule = blur, waybar # nVidia Speficic Settings: # https://wiki.hyprland.org/Nvidia/ # env = LIBVA_DRIVER_NAME,nvidia # env = XDG_SESSION_TYPE,wayland # env = GBM_BACKEND,nvidia-drm # env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_NO_HARDWARE_CURSORS,1 general { gaps_in = 5 gaps_out = 15 border_size = 3 # First six are color, last 2 are opacity col.active_border = rgba(2a9b34bb) # Gruvbox fg2, opacity bb col.inactive_border = rgba(207427dd) # Gruvbox bg2, opacity aa resize_on_border = true extend_border_grab_area = 15 layout = dwindle } input { kb_layout = us follow_mouse = 1 touchpad { natural_scroll = true disable_while_typing = true tap-to-click = true clickfinger_behavior = true drag_lock = true } sensitivity = 0 } gestures { # https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures workspace_swipe = true workspace_swipe_fingers = 3 workspace_swipe_numbered = false } misc { disable_hyprland_logo = true mouse_move_enables_dpms = true key_press_enables_dpms = true } decoration { rounding = 5 active_opacity = 0.9 inactive_opacity = 0.7 fullscreen_opacity = 0.9 drop_shadow = true shadow_range = 4 shadow_render_power = 3 col.shadow = rgba(242627ee) blur { size = 8 passes = 3 ignore_opacity = true } } animations { # https://wiki.hyprland.org/Configuring/Animations/ enabled = true bezier = myBezier, 0.05, 0.9, 0.1, 1.05 animation = windows, 1, 7, myBezier animation = windowsOut, 1, 7, default, popin 80% animation = border, 1, 10, default animation = borderangle, 1, 8, default animation = fade, 1, 7, default animation = workspaces, 1, 6, default } dwindle { # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below preserve_split = true # you probably want this no_gaps_when_only = 1 } master { # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more new_is_master = true } # See https://wiki.hyprland.org/Configuring/Keywords/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod, Q, exec, kitty bind = $mainMod, C, killactive, bind = $mainMod, M, exit, bind = $mainMod, V, togglefloating, # bind = $mainMod, R, exec, wofi --show drun bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, J, togglesplit, # dwindle # Move focus with mainMod + arrow keys bind = SUPER_ALT, left, movefocus, l bind = SUPER_ALT, right, movefocus, r bind = SUPER_ALT, up, movefocus, u bind = SUPER_ALT, down, movefocus, d bind = SUPER_ALT, H, movefocus, l bind = SUPER_ALT, L, movefocus, r bind = SUPER_ALT, K, movefocus, u bind = SUPER_ALT, J, movefocus, d # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 bind = $mainMod, 2, workspace, 2 bind = $mainMod, 3, workspace, 3 bind = $mainMod, 4, workspace, 4 bind = $mainMod, 5, workspace, 5 bind = $mainMod, 6, workspace, 6 bind = $mainMod, 7, workspace, 7 bind = $mainMod, 8, workspace, 8 bind = $mainMod, 9, workspace, 9 bind = $mainMod, 0, workspace, 10 # Move active window to a workspace with mainMod + SHIFT + [0-9] bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $mainMod SHIFT, 0, movetoworkspace, 10 # Scroll through existing workspaces with mainMod + scroll bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_up, workspace, e-1 # Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow ############################################################################# # Custom keybinds # Show Rofi on SUPER-SPACE bind = $mainMod, space, exec, rofi -show combi -show-icons # bind = $mainMod, space, exec, rofi -show drun -show-icons # Take a screenshot with the Print key bind = , Print, exec, grim -g "$(slurp)" | wl-copy -t image/png # Move to the previous / next workspace with SUPER-LEFT and SUPER-RIGHT bind = $mainMod , right, workspace, e+1 bind = $mainMod , left , workspace, e-1 bind = $mainMod SHIFT, right, movetoworkspace, e+1 bind = $mainMod SHIFT, left , movetoworkspace, e-1 bind = SHIFT ALT, L, workspace, e+1 bind = SHIFT ALT, H, workspace, e-1 # Launch various applications bind = $mainMod, R, exec, ranger bind = $mainMod, S, exec, steam # Lock the screen, send to swaylock and pause music bind = $mainMod, L, exec, playerctl pause && sleep 0.5 && swaylock # to switch between windows in a floating workspace bind = $mainMod ,Tab, cyclenext, # change focus to another window bind = $mainMod ,Tab, bringactivetotop, # bring it to the top # Resize bind = $mainMod, R, exec, notify-send "Entered resize mode. Press ESC to quit." bind = $mainMod, R, submap, resize submap = resize binde = , H, resizeactive,-50 0 binde = , L, resizeactive,50 0 binde = , K, resizeactive,0 -50 binde = , J, resizeactive,0 50 binde = , left, resizeactive,-50 0 binde = , right, resizeactive,50 0 binde = , up, resizeactive,0 -50 binde = , down, resizeactive,0 50 bind = , escape, submap, reset submap = reset # Start the config: exec-once=bash ~/.config/hypr/start.sh ''; }; }; }