forked from extern/nix-config
8745033373
Note that instead of searching for the background at runtime, it is likely possible to reference the background at build time when the hyprland config is migrated to Nix.
218 lines
6.9 KiB
Plaintext
218 lines
6.9 KiB
Plaintext
# Change the scale of the monitor
|
|
monitor=eDP-1,preferred,auto,1
|
|
|
|
# Make it easy to plug in other monitors
|
|
monitor=,preferred,auto,1
|
|
#monitor=,highrr,auto,1 # Use the highest refresh rate
|
|
#monitor=,highres,auto,1 # Use the highest resolution
|
|
|
|
# Execute your favorite apps at launch
|
|
exec-once = swaybg --mode fill --image "$(fd -d 1 wallpaper.png /nix/store/)"
|
|
exec-once = wpctl set-volume @DEFAULT_AUDIO_SINK@ 20%
|
|
exec-once = sleep 0.5 && waybar
|
|
exec-once = fcitx5 # Japanese input support
|
|
exec-once = mullvad-vpn
|
|
exec-once = wl-paste -p --watch wl-copy -pc # Disable middle click paste
|
|
exec-once = udiskie # Auto-mount drives
|
|
# exec-once = hyprland-autoname-workspaces --dedup
|
|
# exec-once = play ~/start.flac
|
|
|
|
# Some default env vars.
|
|
env = XCURSOR_SIZE,24
|
|
env = BROWSER,librewolf
|
|
env = GTK_IM_MODULE,fcitx
|
|
env = QT_IM_MODULE,fcitx
|
|
env = XMODIFIERS,@im=fcitx
|
|
env = SDL_IM_MODULE,fcitx
|
|
env = GLFW_IM_MODULE,ibus
|
|
env = SWWW_TRANSITION_STEP,10
|
|
env = SWWW_TRANSITION_FPS,60
|
|
|
|
input {
|
|
kb_layout = us
|
|
accel_profile = flat
|
|
|
|
follow_mouse = 1
|
|
|
|
touchpad {
|
|
natural_scroll = yes
|
|
disable_while_typing = no
|
|
}
|
|
|
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
|
}
|
|
|
|
general {
|
|
gaps_in = 0
|
|
gaps_out = 0
|
|
border_size = 1
|
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
|
col.inactive_border = rgba(595959aa)
|
|
layout = master
|
|
}
|
|
|
|
decoration {
|
|
rounding = 0
|
|
blur = yes
|
|
blur_size = 3
|
|
blur_passes = 1
|
|
blur_new_optimizations = yes
|
|
drop_shadow = yes
|
|
shadow_range = 4
|
|
shadow_render_power = 3
|
|
col.shadow = rgba(1a1a1aee)
|
|
}
|
|
|
|
animations {
|
|
enabled = yes
|
|
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
|
|
animation = specialWorkspace, 1, 6, default
|
|
}
|
|
|
|
dwindle {
|
|
preserve_split = yes
|
|
no_gaps_when_only = yes
|
|
special_scale_factor = 0.95
|
|
}
|
|
|
|
master {
|
|
new_is_master = yes
|
|
new_on_top = yes
|
|
mfact = 0.65
|
|
special_scale_factor = 0.95
|
|
no_gaps_when_only = yes
|
|
}
|
|
|
|
gestures {
|
|
workspace_swipe = yes
|
|
}
|
|
|
|
device:synps/2-synaptics-touchpad {
|
|
sensitivity = 0.75
|
|
accel_profile = flat
|
|
natural_scroll = yes
|
|
disable_while_typing = no
|
|
}
|
|
|
|
device:tpps/2-elan-trackpoint {
|
|
sensitivity = 0.5
|
|
accel_profile = flat
|
|
}
|
|
|
|
bind = SUPER, Z, exec, rofi -show
|
|
bind = SUPER_SHIFT, Z, workspace, empty
|
|
bind = SUPER_SHIFT, Z, exec, rofi -show
|
|
bind = SUPER_SHIFT, Return, exec, kitty
|
|
bind = SUPER, Tab, workspace, e+1
|
|
bind = SUPER_SHIFT, Tab, workspace, e-1
|
|
bind = SUPER, Q, killactive,
|
|
bind = SUPER, P, exec, grim -g "$(slurp)"
|
|
bind = SUPER_ALT, delete, exit
|
|
bind = SUPER, V, togglefloating,
|
|
bind = SUPER, V, centerwindow,
|
|
bind = SUPER, O, exec, ~/.config/hypr/toggle-yambar.sh
|
|
bind = SUPER, X, pin
|
|
bind = SUPER, F, fullscreen, 1
|
|
bind = SUPER_SHIFT, F, fullscreen
|
|
bind = SUPER, bracketright, changegroupactive, f
|
|
bind = SUPER, bracketleft, changegroupactive, b
|
|
bind = SUPER, U, exec, ~/.config/hypr/toggle-layout.sh
|
|
bind = SUPER, S, togglespecialworkspace
|
|
bind = SUPER_SHIFT, S, movetoworkspace, special
|
|
bind = SUPER_SHIFT, S, togglespecialworkspace
|
|
|
|
bind = SUPER, Return, exec, ~/.config/hypr/swapmaster.sh
|
|
bind = SUPER, backslash, exec, ~/.config/hypr/focusmaster.sh
|
|
bind = SUPER, J, layoutmsg, cyclenext
|
|
bind = SUPER, K, layoutmsg, cycleprev
|
|
bind = SUPER_SHIFT, J, layoutmsg, swapnext
|
|
bind = SUPER_SHIFT, K, layoutmsg, swapprev
|
|
bind = SUPER, left, layoutmsg, orientationleft
|
|
bind = SUPER, right, layoutmsg, orientationright
|
|
bind = SUPER, up, layoutmsg, orientationtop
|
|
bind = SUPER, down, layoutmsg, orientationbottom
|
|
bind = SUPER, C, layoutmsg, orientationcenter
|
|
bind = SUPER, H, layoutmsg, addmaster
|
|
bind = SUPER, L, layoutmsg, removemaster
|
|
bind = SUPER_SHIFT, H, splitratio, -0.05
|
|
bind = SUPER_SHIFT, L, splitratio, +0.05
|
|
|
|
# Group keybinds with super+alt
|
|
bind = SUPER_ALT, Return, togglegroup
|
|
bind = SUPER_ALT, H, moveintogroup, l
|
|
bind = SUPER_ALT, L, moveintogroup, r
|
|
bind = SUPER_ALT, K, moveintogroup, u
|
|
bind = SUPER_ALT, J, moveintogroup, d
|
|
bind = SUPER_ALT, semicolon, moveoutofgroup
|
|
bind = SUPER_ALT, apostrophe, lockgroups, toggle
|
|
|
|
# Switch workspaces with super + [0-9]
|
|
bind = SUPER, 1, workspace, 1
|
|
bind = SUPER, 2, workspace, 2
|
|
bind = SUPER, 3, workspace, 3
|
|
bind = SUPER, 4, workspace, 4
|
|
bind = SUPER, 5, workspace, 5
|
|
bind = SUPER, 6, workspace, 6
|
|
bind = SUPER, 7, workspace, 7
|
|
bind = SUPER, 8, workspace, 8
|
|
bind = SUPER, 9, workspace, 9
|
|
bind = SUPER, 0, workspace, 10
|
|
|
|
# Move active window to a workspace with super + shift + [0-9]
|
|
bind = SUPER_SHIFT, 1, movetoworkspace, 1
|
|
bind = SUPER_SHIFT, 2, movetoworkspace, 2
|
|
bind = SUPER_SHIFT, 3, movetoworkspace, 3
|
|
bind = SUPER_SHIFT, 4, movetoworkspace, 4
|
|
bind = SUPER_SHIFT, 5, movetoworkspace, 5
|
|
bind = SUPER_SHIFT, 6, movetoworkspace, 6
|
|
bind = SUPER_SHIFT, 7, movetoworkspace, 7
|
|
bind = SUPER_SHIFT, 8, movetoworkspace, 8
|
|
bind = SUPER_SHIFT, 9, movetoworkspace, 9
|
|
bind = SUPER_SHIFT, 0, movetoworkspace, 10
|
|
|
|
# Toggle workspaces with super + ctrl + [0-9]
|
|
bind = SUPER_CTRL, 1, exec, ~/.config/hypr/tags.sh 1
|
|
bind = SUPER_CTRL, 2, exec, ~/.config/hypr/tags.sh 2
|
|
bind = SUPER_CTRL, 3, exec, ~/.config/hypr/tags.sh 3
|
|
bind = SUPER_CTRL, 4, exec, ~/.config/hypr/tags.sh 4
|
|
bind = SUPER_CTRL, 5, exec, ~/.config/hypr/tags.sh 5
|
|
bind = SUPER_CTRL, 6, exec, ~/.config/hypr/tags.sh 6
|
|
bind = SUPER_CTRL, 7, exec, ~/.config/hypr/tags.sh 7
|
|
bind = SUPER_CTRL, 8, exec, ~/.config/hypr/tags.sh 8
|
|
bind = SUPER_CTRL, 9, exec, ~/.config/hypr/tags.sh 9
|
|
bind = SUPER_CTRL, 0, exec, ~/.config/hypr/tags.sh 10
|
|
|
|
# TODO: Use 0 to show windows in all workspaces
|
|
layerrule = blur,panel
|
|
layerrule = blur,rofi
|
|
|
|
# Scroll through existing workspaces with super + scroll
|
|
bind = SUPER, mouse_down, workspace, e+1
|
|
bind = SUPER, mouse_up, workspace, e-1
|
|
|
|
# Move/resize windows with super + LMB/RMB and dragging
|
|
bindm = SUPER, mouse:272, movewindow
|
|
bindm = SUPER, mouse:273, resizewindow
|
|
|
|
# Change volume with keys
|
|
# TODO: Change notification once at 0/100%
|
|
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send -t 2000 "Muted" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
|
|
bindl=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ && notify-send -t 2000 "Raised volume to" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | tail -c 3)%"
|
|
bindl=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send -t 2000 "Lowered volume to" "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | tail -c 3)%"
|
|
bindl=, XF86MonBrightnessDown, exec, brightnessctl set 5%- && notify-send -t 2000 "Decreased brightness to" "$(brightnessctl get)"
|
|
bindl=, XF86MonBrightnessUp, exec, brightnessctl set +5% && notify-send -t 2000 "Increased brightness to" "$(brightnessctl get)"
|
|
|
|
bind = WIN, F1, exec, ~/.config/hypr/gamemode.sh
|
|
|
|
misc {
|
|
disable_hyprland_logo = yes
|
|
}
|
|
|
|
# vim:syn=bash
|