217 lines
6.0 KiB
Nix
217 lines
6.0 KiB
Nix
{ ... }: {
|
|
wayland.windowManager.hyprland = {
|
|
extraConfig = ''
|
|
### vars
|
|
$TERM=footclient
|
|
$EDITOR=emacsclient -c -a emacs
|
|
|
|
env = TERM, $TERM
|
|
env = EDITOR, emacsclient -c -a emacs
|
|
|
|
monitor=eDP-1,1920x1080@60,0x0,1
|
|
|
|
### STARTUP APPS
|
|
# restart waybar on hyprland restart
|
|
exec = ~/.config/waybar/launch_waybar.sh
|
|
exec = ~/.config/hypr/scripts/start_swww.sh
|
|
|
|
exec-once = mako
|
|
exec-once = foot --server
|
|
exec-once = easyeffects --gapplication-service
|
|
|
|
### AESTHETICS
|
|
|
|
source = ~/.config/hypr/fairy_forest.conf
|
|
|
|
plugin {
|
|
hyprtrails {
|
|
color = rgba($redff)
|
|
}
|
|
hy3 {
|
|
tab_first_window = true
|
|
tabs {
|
|
height = 5
|
|
padding = 5
|
|
render_text = false
|
|
|
|
col.active = rgba($redff)
|
|
col.urgent = rgba($yellowff)
|
|
col.inactive = rgba(9998A8ff)
|
|
}
|
|
autotile {
|
|
enable = true
|
|
}
|
|
}
|
|
}
|
|
|
|
general {
|
|
gaps_in = 7
|
|
gaps_out = 7
|
|
border_size = 3
|
|
col.active_border = rgb($red) rgb($magenta) rgb($yellow) rgb($green) rgb($blue) rgb($cyan) rgb($purple) 45deg
|
|
col.inactive_border = rgb($white) rgb($light_black)
|
|
|
|
layout = hy3
|
|
}
|
|
|
|
decoration {
|
|
rounding = 0
|
|
|
|
blur {
|
|
enabled = false
|
|
passes = 4
|
|
}
|
|
|
|
active_opacity = 0.95
|
|
inactive_opacity = 0.90
|
|
|
|
drop_shadow = false
|
|
shadow_range = 15
|
|
shadow_render_power = 3
|
|
col.shadow = rgba($black50)
|
|
}
|
|
|
|
animations {
|
|
enabled = true
|
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
bezier = linear, 1, 1, 1, 1
|
|
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
|
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
|
bezier = winOut, 0.3, -0.3, 0, 1
|
|
|
|
animation = windows , 1, 2.5 , wind
|
|
animation = windowsIn , 1, 2.5 , winIn
|
|
animation = windowsOut , 1, 2.5 , winOut
|
|
animation = windowsMove, 1, 2.5 , wind
|
|
animation = border , 1, 10 , default
|
|
# animation = borderangle, 1, 30 , linear, loop
|
|
animation = fade , 1, 0.5 , default
|
|
animation = workspaces , 1, 1.0 , wind
|
|
}
|
|
|
|
|
|
dwindle {
|
|
pseudotile = true
|
|
preserve_split = true
|
|
force_split = 2
|
|
special_scale_factor = 0.9
|
|
}
|
|
|
|
|
|
misc {
|
|
disable_hyprland_logo = true
|
|
}
|
|
|
|
|
|
### INPUT
|
|
|
|
input {
|
|
kb_layout = us
|
|
kb_options = caps:escape
|
|
numlock_by_default = true
|
|
follow_mouse = 1
|
|
|
|
touchpad {
|
|
natural_scroll = true
|
|
disable_while_typing = yes
|
|
}
|
|
|
|
sensitivity = 0
|
|
}
|
|
|
|
gestures {
|
|
workspace_swipe = true
|
|
}
|
|
|
|
### KEYBINDS
|
|
|
|
$mainMod = SUPER
|
|
|
|
# run launcher + scripts
|
|
bind = $mainMod, R, exec, fuzzel -D no
|
|
bind = SUPER_SHIFT, R, exec, ~/Documents/programming/rust/npg/rofi-npg.sh
|
|
bind = CTRL_ALT, E, exec, ~/.config/hypr/scripts/restart-emacs.sh
|
|
|
|
# hyprpicker - color picker
|
|
bind = SUPER, p, exec, hyprpicker -a -f hex
|
|
|
|
# terminal
|
|
bind = SUPER_SHIFT, return, exec, $TERM
|
|
|
|
# editor
|
|
bind = SUPER_SHIFT, n, exec, $EDITOR
|
|
|
|
# disable fancy stuff like animations and gaps
|
|
bind = SUPER_SHIFT, P, exec, ~/.config/hypr/scripts/gamemode.sh
|
|
|
|
# screenshot
|
|
bind = CTRL_SHIFT, F, exec, ~/.config/hypr/scripts/hyprshot -m region -r | wl-copy -t image/png
|
|
|
|
# track manipulation
|
|
bind = , XF86AudioPlay, exec, playerctl play-pause
|
|
bind = , XF86AudioPrev, exec, playerctl previous
|
|
bind = , XF86AudioNext, exec, playerctl next
|
|
# volume control
|
|
bind = , XF86AudioLowerVolume, exec, pamixer --decrease 5
|
|
bind = , XF86AudioHigherVolume, exec, pamixer --increase 5
|
|
bind = , XF86AudioMute, exec, pamixer --toggle-mute
|
|
# mute mice with super + mouse 4
|
|
bind = SUPER, mouse:276, exec, ~/.config/hypr/scripts/mute_mic.sh
|
|
bind = SUPER, m, exec, ~/.config/hypr/scripts/mute_mic.sh
|
|
|
|
## WINDOW MANIPULATION
|
|
|
|
# kill
|
|
bind = CTRL_SHIFT, Q, killactive,
|
|
|
|
bind = $mainMod, Space, togglefloating,
|
|
bind = $mainMod, F, fullscreen,
|
|
|
|
# scratchpad stuff
|
|
bind = $mainMod, S, togglespecialworkspace,
|
|
bind = SUPER_SHIFT, S, movetoworkspace, special
|
|
|
|
# Switch workspaces
|
|
bind = $mainMod, 1, workspace, 1
|
|
bind = $mainMod, 2, workspace, 2
|
|
bind = $mainMod, 3, workspace, 3
|
|
bind = $mainMod, 4, workspace, 4
|
|
bind = $mainMod, Q, workspace, 5
|
|
bind = $mainMod, W, workspace, 6
|
|
bind = $mainMod, E, workspace, 7
|
|
|
|
# Move active window to a workspace
|
|
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, Q, movetoworkspace, 5
|
|
bind = $mainMod SHIFT, W, movetoworkspace, 6
|
|
bind = $mainMod SHIFT, E, movetoworkspace, 7
|
|
|
|
# Switch left or right a workspace
|
|
bind = $mainMod SHIFT, l, workspace, e+1
|
|
bind = $mainMod SHIFT, h, workspace, e-1
|
|
bind = $mainMod SHIFT, right, workspace, e+1
|
|
bind = $mainMod SHIFT, left, workspace, e-1
|
|
|
|
# Switch left or right a tab
|
|
bind = $mainMod, h, hy3:focustab, left, wrap
|
|
bind = $mainMod, l, hy3:focustab, right, wrap
|
|
bind = $mainMod, left, hy3:focustab, left, wrap
|
|
bind = $mainMod, right, hy3:focustab, right, wrap
|
|
|
|
# make a vertical split
|
|
bind = $mainMod, v, hy3:makegroup, h
|
|
bind = $mainMod, t, hy3:makegroup, tab
|
|
|
|
# Switch tabs with the mouse
|
|
bindn = , mouse:272, hy3:focustab, mouse
|
|
|
|
# Move/resize windows with mainMod+mouse
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
'';
|
|
};
|
|
}
|