# Startup exec-once= bash -c "wl-paste --watch cliphist store &" exec-once= fcitx5 -d exec-once= wl-paste -p --watch wl-copy -p '' exec-once= dms run # DankShell # Monitors monitor=DP-1,2560x1440@143.97Hz,0x0,1 monitor=HDMI-A-1,preferred,2560x180,1 # Environment 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=QT_QPA_PLATFORM,wayland 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) # USED COLORS $active_border=$lightgreen $inactive_border=$gray $expo_bg=$active_border $shadow=rgba(1a1a1aee) 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=false new_optimizations=on passes=1 size=3 xray=true } shadow { color=$shadow 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=$active_border col.inactive_border=$inactive_border gaps_in=2 gaps_out=4 layout=dwindle } gestures { workspace_swipe=true workspace_swipe_forever=true } input { touchpad { disable_while_typing=false 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 = 3 bg_col = $expo_bg 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:^(steam)$, title:^(Friends List)$ 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 name:game, class:^(steam)$ windowrule=workspace name:shell, class:^(KeePassXC)$ windowrule=workspace name:browser, class:^(firefox)$ windowrule=workspace name:browser, class:^(floorp)$ windowrule=workspace name:browser, class:^(Brave.*)$ windowrule=workspace name:music, class:^(Spotify)$ windowrule=workspace name:chat, class:^(discord)$ windowrule=workspace name:chat, class:^(Signal)$ windowrule=workspace name:game, title:Minecraft # Workspace Rules workspace=name:game, monitor:DP-1 workspace=name:browser, monitor:HDMI-A-1, default:true workspace=name:chat, monitor:HDMI-A-1 workspace=name:video, monitor:DP-1 workspace=name:program, monitor:DP-1, default:true workspace=name:extra, monitor:DP-1 # Commands $lock=hyprlock $screenshotarea=hyprctl keyword animation 'fadeOut,0,0,default'; grimblast copy area; hyprctl keyword animation 'fadeOut,1,4,default' $discord=discord --enable-blink-features=MiddleClickAutoscroll $emacs=emacsclient -c -a 'emacs' $colorpick=hyprpicker -a -f hex $screenshot=grimblast --cursor copy output # Binds $altMod=ALT $ctrlMod=CTRL $mainMod=SUPER # Binds :: Programs $none= # :Meta-Bind: :Key: :Command: :Args: bind=$altMod, Return, exec, ghostty bind=$altMod SHIFT, Return, exec, alacritty bind=$mainMod SHIFT, D, exec, $discord bind=$mainMod SHIFT, E, exec, $emacs bind=$mainMod 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, $colorpick bind=$none, Print, exec, $screenshotarea bind=SHIFT, Print, exec, $screenshot bind=$mainMod CTRL, Q, exec, $lock bind=$mainMod SHIFT, P, pseudo bind=$mainMod, C, killactive bind=$mainMod, V, togglefloating bind=$mainMod SHIFT, S, togglesplit bind=$mainMod, F4, exit # bind = SUPER, grave, hyprexpo:expo, toggle # Commented out cos "version mismatch (bs)" # Workspace Name:Bind Numbers $ws_game=1 $ws_shell=2 $ws_browser=3 $ws_music=4 $ws_image=5 $ws_chat=6 $ws_audio=7 $ws_video=8 $ws_program=9 $ws_extra=0 # Binds :: Navigation # :Meta-Bind: :Key: :Command: :Args: 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, $ws_game, workspace, name:game bind=$mainMod, $ws_shell, workspace, name:shell bind=$mainMod, $ws_browser, workspace, name:browser bind=$mainMod, $ws_music, workspace, name:music bind=$mainMod, $ws_image, workspace, name:image bind=$mainMod, $ws_chat, workspace, name:chat bind=$mainMod, $ws_audio, workspace, name:audio bind=$mainMod, $ws_video, workspace, name:video bind=$mainMod, $ws_program, workspace, name:program bind=$mainMod, $ws_extra, workspace, name:extra bind=$mainMod SHIFT, $ws_game, movetoworkspace, name:game bind=$mainMod SHIFT, $ws_shell, movetoworkspace, name:shell bind=$mainMod SHIFT, $ws_browser, movetoworkspace, name:browser bind=$mainMod SHIFT, $ws_music, movetoworkspace, name:music bind=$mainMod SHIFT, $ws_image, movetoworkspace, name:image bind=$mainMod SHIFT, $ws_chat, movetoworkspace, name:chat bind=$mainMod SHIFT, $ws_audio, movetoworkspace, name:audio bind=$mainMod SHIFT, $ws_video, movetoworkspace, name:video bind=$mainMod SHIFT, $ws_program, movetoworkspace, name:program bind=$mainMod SHIFT, $ws_extra, movetoworkspace, name:extra 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 $brightness=$NIX_CONFIG_DIR/scripts/progress-notify.sh brightness $volume=$NIX_CONFIG_DIR/scripts/progress-notify.sh audio $mute=$NIX_CONFIG_DIR/scripts/progress-notify.sh mute binde=$none, XF86MonBrightnessDown, exec, brightnessctl set 10%- && $brightness binde=$none, XF86MonBrightnessUp, exec, brightnessctl set 10%+ && $brightness bindel=, XF86AudioRaiseVolume, exec, pamixer -i 5 && $volume bindel=, XF86AudioLowerVolume, exec, pamixer -d 5 && $volume bindel=, XF86AudioMute, exec, pamixer -t && $mute bindl=$none, XF86AudioPlay, exec, playerctl play-pause bindl=$none, XF86AudioNext, exec, playerctl next bindl=$none, XF86AudioPrev, exec, playerctl previous # Binds :: Submaps # Submap::Resize bind=$mainMod, R, submap, resize submap=resize bind=$none, escape,submap,reset binde=$none, left, resizeactive, -10 0 bindr=$none, left, submap, reset binde=$none, right, resizeactive, 10 0 bindr=$none, right, submap, reset binde=$none, up, resizeactive, 0 10 bindr=$none, up, submap, reset binde=$none, down, resizeactive, 0 -10 bindr=$none, down, submap, reset binde=$none, H, resizeactive, -10 0 bindr=$none, H, submap, reset binde=$none, J, resizeactive, 0 -10 bindr=$none, J, submap, reset binde=$none, K, resizeactive, 0 10 bindr=$none, K, submap, reset binde=$none, L, resizeactive, 10 0 bindr=$none, L, submap, reset submap=reset # Submap::Browser bind=$mainMod, B, submap, browser submap=browser bind=$none, B, exec, brave bind=$none, B, submap, reset bind=SHIFT, F, exec, firefox bind=SHIFT, F, submap, reset bind=$none, F, exec, floorp bind=$none, F, submap, reset bind=$none, escape,submap,reset submap=reset # Submap::Video bind=$mainMod SHIFT, V, submap, video submap=video bind=$none, O, exec, obs bind=$none, O, submap, reset bind=$none, V, exec , kdenlive bind=$none, V, submap, reset bind=$none, escape,submap,reset submap=reset