nix/config/hypr/hyprland.conf
2026-03-11 18:50:11 -04:00

198 lines
6.3 KiB
Text

exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
monitor=,preferred,auto,1
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_TYPE,wayland
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = GTK_USE_PORTAL,1
env = OZONE_PLATFORM,wayland
env = QT_QPA_PLATFORM,wayland
env = GDK_BACKEND,wayland,x11
env = SDL_VIDEODRIVER,wayland
cursor {
no_hardware_cursors = true
zoom_rigid = true
}
general {
gaps_in = 0
gaps_out = 0
border_size = 3
layout = master
resize_on_border = true
}
source = $XDG_CONFIG_HOME/hypr/themes/theme.conf
master {
new_status = slave
new_on_top = false
mfact = 0.50
}
decoration {
rounding = 0
active_opacity = 1.0
inactive_opacity = 1.0
blur {
enabled = false
}
}
animations {
enabled = true
bezier = easeOut, 0.16, 1, 0.3, 1
animation = windowsIn, 1, 5, easeOut, popin 90%
animation = windowsOut, 1, 5, easeOut, popin 90%
animation = windowsMove, 1, 4, easeOut
animation = fadeIn, 1, 5, easeOut
animation = fadeOut, 1, 5, easeOut
animation = workspaces, 1, 4, easeOut, slide
animation = layers, 0
animation = fadeLayers, 0
animation = border, 0
animation = borderangle, 0
}
gestures {
# gesture = 2, pinchin, cursorZoom, 1.5, mult
# gesture = 2, pinchout, cursorZoom, 0.667, mult
gesture = 3, horizontal, workspace
gesture = 3, down, dispatcher, exec, ctl wallpaper lock && hyprlock
}
input {
kb_layout = us,us,us
kb_variant = ,dvorak,colemak
follow_mouse = 1
sensitivity = 0
touchpad {
tap-to-click = false
}
repeat_delay = 300
repeat_rate = 50
}
exec-once = [ -f "${XDG_PICTURES_DIR:-$HOME/Pictures}/Screensavers/wallpaper.jpg" ] || ctl wallpaper wall
exec-once = [ -f "${XDG_PICTURES_DIR:-$HOME/Pictures}/Screensavers/lock.jpg" ] || ctl wallpaper lock
exec-once = hypr windowrules
exec-once = hypr spawnfocus --ws 1 $TERMINAL -e mux
exec-once = hypr spawnfocus --ws 2 $BROWSER --ozone-platform=wayland
bindul = , XF86AudioRaiseVolume, exec, ctl volume up
bindul = , XF86AudioLowerVolume, exec, ctl volume down
bindul = , XF86AudioMute, exec, ctl volume toggle
bindul = , XF86MonBrightnessUp, exec, ctl brightness up
bindul = , XF86MonBrightnessDown, exec, ctl brightness down
bindm = ALT, mouse:273, movewindow
bind = ALT, SPACE, exec, fuzzel
bind = ALT SHIFT, SPACE, exec, fuzzel --list-executables-in-path --no-icons
bind = ALT, TAB, workspace, previous
bind = ALT, A, cyclenext
bind = ALT, B, exec, pkill -USR1 waybar || waybar
bind = ALT, D, layoutmsg, swapnext
bind = ALT, F, cyclenext, prev
bind = ALT, H, resizeactive, -15 0
bind = ALT, J, resizeactive, 0 15
bind = ALT, K, resizeactive, 0 -15
bind = ALT, L, resizeactive, 15 0
bind = ALT, Q, killactive,
bind = ALT, U, layoutmsg, swapprev
bind = ALT CTRL, W, exec, hypr pull $BROWSER
bind = ALT CTRL, T, exec, hypr pull $TERMINAL
bind = ALT CTRL, V, exec, hypr pull vesktop
bind = ALT CTRL, M, exec, hypr pull signal-desktop
bind = ALT CTRL, S, exec, hypr pull slack
bind = ALT CTRL, E, exec, hypr pull element-desktop
bind = ALT CTRL, P, exec, hypr pull sioyek
bind = ALT SHIFT, RETURN, exec, hypr spawnfocus --ws 1 $TERMINAL
bind = ALT SHIFT, W, exec, hypr spawnfocus --ws 2 $BROWSER --ozone-platform=wayland
bind = ALT SHIFT, F, togglefloating
bind = ALT SHIFT, Q, exec, hypr exit
bind = ALT SHIFT, R, exec, hyprctl reload && notify-send 'hyprland reloaded'
bind = ALT SHIFT, P, exec, hypr spawnfocus --ws 3 sioyek
bind = ALT SHIFT, V, exec, hypr spawnfocus --ws 5 vesktop
bind = ALT SHIFT, M, exec, hypr spawnfocus --ws 6 signal-desktop
bind = ALT SHIFT, S, exec, hypr spawnfocus --ws 7 slack
bind = ALT SHIFT, E, exec, hypr spawnfocus --ws 8 element-desktop
bind = , XF86Tools, submap, scripts
submap = scripts
bind = , A, exec, hyprctl dispatch submap reset; ctl audio sink
bind = , C, exec, hyprctl dispatch submap reset; ctl clip
bind = , I, exec, hyprctl dispatch submap reset; ctl idle
bind = , K, exec, hyprctl dispatch submap reset; ctl keyboard next
bind = , M, exec, hyprctl dispatch submap reset; ctl media
bind = , P, exec, hyprctl dispatch submap reset; ctl power
bind = , S, exec, hyprctl dispatch submap reset; ctl dictate
bind = , T, exec, hyprctl dispatch submap reset; theme
bind = , catchall, submap, reset
submap = reset
ecosystem {
no_update_news = true
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
}
bind = ALT, 1, workspace, 1
bind = ALT, 2, workspace, 2
bind = ALT, 3, workspace, 3
bind = ALT, 4, workspace, 4
bind = ALT, 5, workspace, 5
bind = ALT, 6, workspace, 6
bind = ALT, 7, workspace, 7
bind = ALT, 8, workspace, 8
bind = ALT, 9, workspace, 9
bind = ALT SHIFT, 1, movetoworkspace, 1
bind = ALT SHIFT, 2, movetoworkspace, 2
bind = ALT SHIFT, 3, movetoworkspace, 3
bind = ALT SHIFT, 4, movetoworkspace, 4
bind = ALT SHIFT, 5, movetoworkspace, 5
bind = ALT SHIFT, 6, movetoworkspace, 6
bind = ALT SHIFT, 7, movetoworkspace, 7
bind = ALT SHIFT, 8, movetoworkspace, 8
bind = ALT SHIFT, 9, movetoworkspace, 9
bind = ALT CTRL, 1, movetoworkspacesilent, 1
bind = ALT CTRL, 2, movetoworkspacesilent, 2
bind = ALT CTRL, 3, movetoworkspacesilent, 3
bind = ALT CTRL, 4, movetoworkspacesilent, 4
bind = ALT CTRL, 5, movetoworkspacesilent, 5
bind = ALT CTRL, 6, movetoworkspacesilent, 6
bind = ALT CTRL, 7, movetoworkspacesilent, 7
bind = ALT CTRL, 8, movetoworkspacesilent, 8
bind = ALT CTRL, 9, movetoworkspacesilent, 9
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrule = match:float 0, match:workspace w[tv1], border_size 0
windowrule = match:float 0, match:workspace w[tv1], rounding 0
windowrule = match:float 0, match:workspace f[1], border_size 0
windowrule = match:float 0, match:workspace f[1], rounding 0
windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on
windowrule = match:class ^(xdg-desktop-portal-gtk)$, size monitor_w * 0.5 monitor_h * 0.6
windowrule = match:class ^(xdg-desktop-portal-kde)$, float on
windowrule = match:class ^(xdg-desktop-portal-kde)$, size monitor_w * 0.5 monitor_h * 0.6
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, float on
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, size monitor_w * 0.5 monitor_h * 0.6
windowrule = match:class ^([Ss]ioyek)$, tile on