# Startup exec-once = dbus-update-activation-environment --systemd --all && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target exec-once=wl-clipboard-history -t exec-once=wl-paste -p --watch wl-copy -p '' exec-once=hypridle exec-once=waybar exec-once=fcitx5 -d exec-once=swww-daemon exec-once=swaync exec-once=hyprctl plugin load $HYPR_EXPO_LIB # Monitors monitor=eDP-1,1920x1080@60,0x0,1 monitor=HDMI-A-1,2550x1440@144,auto,1,mirror,eDP-1 monitor=,preferred,auto,1,mirror,eDP-1 # Environment env=WLR_NO_HARDWARE_CURSORS,1 env=HYPRCURSOR_THEME,Bibata-Modern-Ice env=HYPRCURSOR_SIZE,24 env=XDG_CURRENT_DESKTOP,Hyprland env=XDG_SESSION_TYPE,wayland env=XDG_SESSION_DESKTOP,Hyprland env=GTK_THEME,Materia-dark env=QT_QPA_PLATFORM,xcb;Hyprland env=XCURSOR_THEME,Bibata-Modern-Ice env=XCURSOR_SIZE,24 # Colors $green=rgb(00BB00) $gray=rgb(555555) $purple=rgb(BB00BB) $lavendar=rgb(B39DF3) $orange=rgb(F39660) $lightgreen=rgb(93C863) $lightblue=rgb(76CCE0) $magenta=rgba(881798FF) $crimson=rgba(471520FF) animations { 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 enabled=true } debug { disable_logs=true } decoration { blur { enabled=true new_optimizations=on passes=1 size=3 xray=true } shadow { color=rgba(1a1a1aee) enabled=true range=4 render_power=3 } rounding=10 } dwindle { preserve_split=true pseudotile=true } ecosystem { no_donation_nag=true no_update_news=true } experimental { xx_color_management_v4=true } general { border_size=2 col.active_border=$green col.inactive_border=$gray gaps_in=2 gaps_out=4 layout=dwindle } gestures { workspace_swipe=true workspace_swipe_forever=true } input { touchpad { disable_while_typing=true drag_lock=false middle_button_emulation=true natural_scroll=true scroll_factor=0.500000 tap-to-click=true } follow_mouse=1 kb_layout=us kb_model= kb_options= kb_rules= kb_variant= numlock_by_default=true sensitivity=0 } misc { disable_hyprland_logo=false disable_splash_rendering=false key_press_enables_dpms=true mouse_move_enables_dpms=true } # Plugin Config plugin { hyprexpo { columns = 3 gap_size = 5 bg_col = $lightblue workspace_method = center current # [center/first] [workspace] e.g. first 1 or center m+1 enable_gesture = true # laptop touchpad gesture_fingers = 3 # 3 or 4 gesture_distance = 300 # how far is the "max" gesture_positive = false # true = swipe down, false = swipe up. } } # Window Rules windowrule=idleinhibit fullscreen, class:firefox windowrule=idleinhibit fullscreen, class:floorp windowrule=idleinhibit fullscreen, class:ghostty windowrule=idleinhibit focus, class:firefox windowrule=idleinhibit focus, class:floorp windowrule=idleinhibit focus, class:mpv windowrule=idleinhibit focus, class:^(emacs)$ windowrule=idleinhibit focus, class:^(Emacs)$ windowrule=idleinhibit focus, class:^(discord)$ windowrule=idleinhibit focus, class:^(spotify)$ windowrule=idleinhibit focus, class:^(Discord|discord)$ windowrule=opacity 0.98 0.9, class:^(Discord|discord)$ windowrule=float, class:polkit-kde-authentication-agent-1 windowrule=float, class:^(praat)$ windowrule=float, class:^(network)$ windowrule=float, class:^(nm-)$ windowrule=float, class:^(Network)$ windowrule=float, class:Rofi windowrule=float, class:Gimp windowrule=float, class:Nautilus windowrule=float, class:notification windowrule=float, class:^(launcher)$ windowrule=tile, class:Spotify windowrule=tile, title:Minecraft windowrule=workspace 2, class:KeePassXC windowrule=workspace 3, class:firefox windowrule=workspace 3, class:floorp windowrule=workspace 4, class:Spotify windowrule=workspace 6, class:discord windowrule=workspace 6, class:Signal windowrule=workspace 10, title:Minecraft # Binds $altMod=ALT $ctrlMod=CTRL $lock=hyprlock $mainMod=SUPER $screenshotarea=hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default' # Binds :: Programs bind=$altMod, Return, exec, ghostty bind=$altMod SHIFT, Return, exec, alacritty bind=$mainMod SHIFT, D, exec, discord --enable-blink-features=MiddleClickAutoscroll bind=$mainMod SHIFT, E, exec, emacsclient -c -a 'emacs' bind=$mainMode SHIFT, F, exec, focus-linux bind=$mainMod, SPACE, exec, pkill wofi || wofi bind=$mainMod, E, exec, nautilus bind=$mainMod, S, exec, spotify bind=$mainMod, P, exec, hyprpicker -a -f hex bind=, Print, exec, $screenshotarea bind=SHIFT, Print, exec, grimblast --cursor copy output bind=$mainMod SHIFT, P, pseudo, bind=$mainMod, C, killactive, bind=$mainMod, V, togglefloating, bind=$mainMod SHIFT, S, togglesplit, bind = SUPER, grave, hyprexpo:expo, toggle bind=$mainMod control, Q, exec, $lock bind=$mainMod, F4, exit, # Binds :: Navigation bind=$mainMod, F, fullscreen, bind=$mainMod, H, movefocus, l bind=$mainMod, L, movefocus, r bind=$mainMod, K, movefocus, u bind=$mainMod, J, movefocus, d bind=$mainMod, comma, focusmonitor, -1 bind=$mainMod, period, focusmonitor, +1 bind=$mainMod SHIFT, H, movewindow, l bind=$mainMod SHIFT, L, movewindow, r bind=$mainMod SHIFT, K, movewindow, u bind=$mainMod SHIFT, J, movewindow, d bind=$mainMod SHIFT, comma, movecurrentworkspacetomonitor, -1 bind=$mainMod SHIFT, period, movecurrentworkspacetomonitor, +1 bind=$mainMod, right, resizeactive, 10 0 bind=$mainMod, left, resizeactive, -10 0 bind=$mainMod, up, resizeactive, 0 -10 bind=$mainMod, down, resizeactive, 0 10 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 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 bind=$mainMod SHIFT CTRL, right, movetoworkspace, +1 bind=$mainMod SHIFT CTRL, left, movetoworkspace, -1 bind=$mainMod, mouse_down, workspace, e+1 bind=$mainMod, mouse_up, workspace, e-1 bind=$mainMod, Tab, workspace, e+1 bind=$mainMod SHIFT, Tab, workspace, e-1 bind=$mainMod CTRL, right, workspace, +1 bind=$mainMod CTRL, left, workspace, -1 bindm=$mainMod, mouse:272, movewindow bindm=$mainMod, mouse:273, resizewindow # Binds :: MultiMedia binde=, XF86MonBrightnessDown, exec, brightnessctl set 10%- && $NIX_CONFIG_DIR/scripts/progress-notify.sh brightness binde=, XF86MonBrightnessUp, exec, brightnessctl set 10%+ && $NIX_CONFIG_DIR/scripts/progress-notify.sh brightness bindel=, XF86AudioRaiseVolume, exec, pamixer -i 5 && $NIX_CONFIG_DIR/scripts/progress-notify.sh audio bindel=, XF86AudioLowerVolume, exec, pamixer -d 5 && $NIX_CONFIG_DIR/scripts/progress-notify.sh audio bindel=, XF86AudioMute, exec, pamixer -t && $NIX_CONFIG_DIR/scripts/progress-notify.sh mute bindl=, XF86AudioPlay, exec, playerctl play-pause bindl=, XF86AudioNext, exec, playerctl next bindl=, XF86AudioPrev, exec, playerctl previous # Binds :: Submaps bind = $mainMod, R, submap, resize submap = resize bind=, escape,submap,reset binde=, left, resizeactive, -10 0 bindr=, left, submap, reset binde=, right, resizeactive, 10 0 bindr=, right, submap, reset binde=, up, resizeactive, 0 10 bindr=, up, submap, reset binde=, down, resizeactive, 0 -10 bindr=, down, submap, reset binde=, H, resizeactive, -10 0 bindr=, H, submap, reset binde=, J, resizeactive, 0 -10 bindr=, J, submap, reset binde=, K, resizeactive, 0 10 bindr=, K, submap, reset binde=, L, resizeactive, 10 0 bindr=, L, submap, reset submap=reset bind = $mainMod, B, submap, browser_select submap = browser_select bind =, B, exec, brave bind =, B, submap, reset bind = SHIFT, F, exec, firefox bind = SHIFT, F, submap, reset bind =, F, exec, floorp bind =, F, submap, reset bind =, C, exec, floorp -p limalone -no-remote bind =, C, submap, reset bind=, escape,submap,reset submap=reset bind = $mainMod SHIFT, V, submap, video_stuff submap = video_stuff bind = , O, exec, obs bind = , O, submap, reset bind = , V, exec , kdenlive bind = , V, submap, reset bind=, escape,submap,reset submap = reset