nixos/home/hyprland/hyprland.conf
Evie Litherland-Smith 55e72cb9cc Move doom flake contents back in
Doom emacs config is still separate repo, but flake contents are back

Remove work firefox profile, switched to chromium instead for Teams fix
2023-07-26 15:45:24 +01:00

183 lines
5.4 KiB
Plaintext

source = ./macchiato.conf
source = ./display.conf
source = ./autostart.conf
exec-once = dunst
exec-once = hyprpaper
exec-once = waybar
monitor=,preferred,auto,auto
env = XDG_CURRENT_DESKTOP=Hyprland
env = XDG_SESSION_TYPE=wayland
env = XDG_SESSION_DESKTOP=Hyprland
env = GDK_BACKEND=wayland,x11
env = GTK_THEME,Sweet-Dark
env = XCURSOR_THEME,Catppuccin-Macchiato-Dark-Cursors
env = XCURSOR_SIZE,24
env = QT_AUTO_SCREEN_SCALE_FACTOR=1
env = QT_QPA_PLATFORM=wayland;xcb
env = QT_WAYLAND_DISABLE_WINDOWDECORATION=1
env = MOZ_ENABLE_WAYLAND=1
input {
kb_layout = gb
follow_mouse = 1
touchpad {
natural_scroll = yes
}
}
general {
gaps_in = 5
gaps_out = 10
border_size = 3
col.active_border = $mauve
col.group_border_active = $mauve
col.inactive_border = $surface2
col.group_border = $surface2
cursor_inactive_timeout = 5
layout = dwindle
}
dwindle {
force_split = 2
preserve_split = true
}
decoration {
rounding = 10
blur = yes
blur_size = 5
blur_passes = 3
blur_new_optimizations = on
blur_xray = off
drop_shadow = yes
shadow_range = 4
shadow_render_power = 3
}
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
}
XWayland {
force_zero_scaling = true
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
bind = SUPER, Return, exec, wezterm
bind = SUPER, W, exec, pgrep firefox > /dev/null || firefox
bind = SUPER, Z, exec, pgrep thunderbird > /dev/null || thunderbird
bind = SUPER, R, exec, pgrep nxplayer > /dev/null || nxplayer
bind = SUPER, F1, exec, swaylock
bind = SUPER, Space, exec, pkill rofi || rofi -show drun
bind = SUPER SHIFT, Space, exec, pkill rofi || rofi -show run
bind = SUPER, E, exec, emacsclient -c -a 'emacs'
bind = SUPER SHIFT, P, exec, pkill rofi || rofi -show power-menu
bind = SUPER, V, togglefloating
bind = SUPER SHIFT, Q, killactive,
bind = SUPER, M, fullscreen, 1
bind = SUPER SHIFT, M, fullscreen, 0
bind=,Print,exec,grim -g "$(slurp)"
bind=,XF86AudioMute,exec,pamixer -t
binde=,XF86AudioRaiseVolume,exec,pamixer -i 5
binde=,XF86AudioLowerVolume,exec,pamixer -d 5
binde=,XF86MonBrightnessUp,exec,brightnessctl s +5%
binde=,XF86MonBrightnessDown,exec,brightnessctl s -5%
bind = SUPER, H, movefocus, l
bind = SUPER, L, movefocus, r
bind = SUPER, K, movefocus, u
bind = SUPER, J, movefocus, d
bind = SUPER SHIFT, H, movewindow, l
bind = SUPER SHIFT, L, movewindow, r
bind = SUPER SHIFT, K, movewindow, u
bind = SUPER SHIFT, J, movewindow, d
# 1: home
bind = SUPER, A, workspace, 1
bind = SUPER SHIFT, A, moveworkspacetomonitor, 1 current
bind = SUPER SHIFT, A, workspace, 1
windowrule = workspace 1,^(steam).*
windowrule = workspace 1,(.gamescope-wrapped)
# 2: browser
bind = SUPER, W, workspace, 2
bind = SUPER SHIFT, W, moveworkspacetomonitor, 2 current
bind = SUPER SHIFT, W, workspace, 2
windowrule = workspace 2,(firefox)
windowrule = workspace 2,(chromium-browser)
windowrulev2 = float,title:(File|Picture-in-Picture),class:(firefox)
windowrulev2 = pin,title:(File|Picture-in-Picture),class:(firefox)
windowrulev2 = float,title:^(about:blank).*,class:(chromium-browser)
# 3: files
bind = SUPER, F, workspace, 3
bind = SUPER SHIFT, F, moveworkspacetomonitor, 3 current
bind = SUPER SHIFT, F, workspace, 3
windowrule = workspace 3,^(libreoffice).*
windowrule = workspace 3,(Zotero)
# 4: chat
bind = SUPER, C, workspace, 4
bind = SUPER SHIFT, C, moveworkspacetomonitor, 4 current
bind = SUPER SHIFT, C, workspace, 4
windowrule = workspace 4,(Signal)
windowrule = workspace 4,(fractal)
windowrule = workspace 4,(discord)
# 5: remote
bind = SUPER, R, workspace, 5
bind = SUPER SHIFT, R, moveworkspacetomonitor, 5 current
bind = SUPER SHIFT, R, workspace, 5
windowrule = workspace 5,(Nxplayer.bin)
windowrule = float,(Nxplayer.bin)
windowrule = center,(Nxplayer.bin)
bind = SUPER, period, workspace, m+1
bind = SUPER SHIFT, period, movetoworkspace, r+1
bind = SUPER, comma, workspace, m-1
bind = SUPER SHIFT, comma, movetoworkspace, r-1
bind = SUPER, bracketright, focusmonitor, +1
bind = SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1
bind = SUPER, bracketleft, focusmonitor, -1
bind = SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, -1
bind = SUPER, N, workspace, empty
bind = SUPER SHIFT, N, movetoworkspace, empty
bind = SUPER, minus, togglespecialworkspace
bind = SUPER SHIFT, minus, movetoworkspace, special
bind = SUPER, tab, workspace, previous
bind = SUPER SHIFT, tab, movetoworkspace, previous
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
windowrule = float,(foot)
windowrule = center,(foot)
windowrule = float,(pavucontrol)
windowrule = size 800 600,(pavucontrol)
windowrule = move 100%-820 10%,(pavucontrol)
windowrule = float,(.blueman-manager-wrapped)
windowrule = size 800 600,(.blueman-manager-wrapped)
windowrule = move 100%-820 10%,(.blueman-manager-wrapped)
windowrule = float,(nm-connection-editor)
windowrule = size 800 600,(nm-connection-editor)
windowrule = move 100%-820 10%,(nm-connection-editor)
windowrule = float,(otpclient)
windowrule = move 10% 10%,(otpclient)