nixos/config/hyprland/hyprland.conf

240 lines
7.5 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This is an example Hyprland config file.
#
# Refer to the wiki for more information.
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/
# default
monitor=,preferred,auto,auto
# sakopc
monitor = DP-1, 1920x1080@239.96, 0x0, 1
monitor = HDMI-A-1, 1920x1080, -1920x0, 1
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# startup
# fix gtk apps
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# systemd user services
exec-once = dbus-update-activation-environment --systemd --all
# this fixes it too i think
#exec-once=systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# background
exec-once = hyprpaper
# bar
# exec-once = /home/sako/.config/waybar/launch-waybar.sh
exec-once = /home/sako/.config/ags/launch-ags.sh
# notification dameon
exec-once = mako
# exec-once = /home/sako/.config/ags/launch-ags.sh
# applets
exec-once = nm-applet
exec-once = blueman-applet
exec-once = sleep 2; nextcloud --background
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
# Hyer cursor
env = HYPRCURSOR_THEME,catppuccin-mocha-dark-cursors
# Nvidia Environment Vars
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = us, ara
kb_variant =
kb_model =
kb_options = grp:ctrls_toggle, ctrl:nocaps
kb_rules =
# no mouse acceleration pls :)
accel_profile = flat
follow_mouse = 1
touchpad {
natural_scroll = false
disable_while_typing=false
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 10
gaps_out = 10
border_size = 1
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa)
layout = dwindle
}
cursor {
no_hardware_cursors = true
}
decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 0
blur {
enabled = false
size = 3
passes = 1
}
drop_shadow = false
shadow_range = 4
shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
animations {
enabled = false
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
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
}
dwindle {
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # you probably want this
}
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = true
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = false
}
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
misc {
disable_hyprland_logo = true
# from wiki
# "itll lower the amount of sent frames when nothing is happening on-screen."
vfr = true
}
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrulev2 = nomaxsize, title:^(Wine configuration)$
windowrule = float, ^(Zoom Workplace)$
windowrulev2 = minsize 1 1, title:^(Zoom Workplace)$, class:^(Zoom Workplace)$
windowrulev2 = minsize 1 1, title:^(menu window)$, class:^(Zoom Workplace)$
windowrulev2 = minsize 1 1, title:^(meeting bottombar popup)$, class:^(Zoom Workplace)$
windowrule = float, ^(zoom)$
windowrulev2 = minsize 1 1, title:^(Zoom Workplace)$, class:^(zoom)$
windowrulev2 = minsize 1 1, title:^(menu window)$, class:^(zoom)$
windowrulev2 = minsize 1 1, title:^(meeting bottombar popup)$, class:^(zoom)$
windowrulev2 = move onscreen cursor, title:^(Zoom Workplace)$, class:^(zoom)$
windowrulev2 = move onscreen cursor, title:^(menu window)$, class:^(zoom)$
windowrulev2 = move onscreen cursor, title:^(meeting bottombar popup)$, class:^(zoom)$
windowrulev2 = move onscreen cursor, title:^(Zoom Workplace)$, class:^(Zoom Workplace)$
windowrulev2 = move onscreen cursor, title:^(menu window)$, class:^(Zoom Workplace)$
windowrulev2 = move onscreen cursor, title:^(meeting bottombar popup)$, class:^(Zoom Workplace)$
windowrulev2 = stayfocused, title:^(menu window)$, class:^(Zoom Workplace)$
windowrulev2 = stayfocused, title:^(meeting bottombar popup)$, class:^(Zoom Workplace)$
windowrulev2 = stayfocused, title:^(menu window)$, class:^(zoom)$
windowrulev2 = stayfocused, title:^(meeting bottombar popup)$, class:^(zoom)$
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, RETURN, exec, foot
bind = $mainMod, W, killactive,
bind = $mainMod CONTROL, M, exit,
bind = $mainMod, E, exec, dolphin
bind = $mainMod, V, togglefloating,
bind = $mainMod, SPACE, exec, pkill rofi || rofi -show drun -show-icons
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, I, togglesplit, # dwindle
bind= $mainMod, F, fullscreen,
# Move focus with mainMod + vim binds
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# Switch workspaces with mainMod + [0-9]
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
# Move active window to a workspace with mainMod + SHIFT + [0-9]
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
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# audio
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume 0 -5%
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume 0 +5%
bind = , XF86AudioMute, exec, pactl set-sink-mute 0 toggle
# brightness
bind = , XF86MonBrightnessUp, exec, brightnessctl s +100
bind = , XF86MonBrightnessDown, exec, brightnessctl s 100-
# player
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindl = , XF86AudioNext, exec, playerctl next
# swaylock
bind = $mainMod CONTROL, l, exec, hyprlock