Evie Litherland-Smith
bde4fc30e6
Remove "remote" workspace, change "system" to "btm" and add "stream", rename "emacs" to "editor" to keep with theme more (but we all know it's still for emacs...) Remove all SUPER ALT binds. Have btm launch at startup since that was the only one of those binds that was useful Update a few of the workspace icons. Remove persistent-workspaces
251 lines
8.9 KiB
Nix
251 lines
8.9 KiB
Nix
{ config, pkgs, ... }:
|
|
let
|
|
themeName = config.gtk.theme.name;
|
|
cursorName = config.gtk.cursorTheme.name;
|
|
cursorSize = toString config.gtk.cursorTheme.size;
|
|
in ''
|
|
source = ./extra.conf
|
|
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,${themeName}
|
|
env = XCURSOR_THEME,${cursorName}
|
|
env = XCURSOR_SIZE,${cursorSize}
|
|
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
|
|
env = QT_QPA_PLATFORM,wayland
|
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
|
env = MOZ_ENABLE_WAYLAND,1
|
|
env = GRIM_DEFAULT_DIR=${config.xdg.userDirs.pictures}/Grim
|
|
|
|
exec-once = hyprctl setcursor ${cursorName} ${cursorSize}
|
|
exec-once = dbus-update-activation-environment --systemd --all
|
|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY QT_QPA_PLATFORMTHEME
|
|
exec-once = systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-hyprland.service avizo.service
|
|
|
|
gestures:workspace_swipe = true
|
|
|
|
input {
|
|
kb_layout = gb
|
|
kb_options = ctrl:nocaps
|
|
follow_mouse = 2
|
|
touchpad:natural_scroll = yes
|
|
}
|
|
|
|
master {
|
|
allow_small_split = true
|
|
mfact = 0.5
|
|
new_is_master = false
|
|
new_on_top = false
|
|
orientation = left
|
|
inherit_fullscreen = true
|
|
}
|
|
|
|
dwindle:force_split = 2
|
|
|
|
general {
|
|
col.active_border = rgb(b4befe)
|
|
col.inactive_border = rgb(313244)
|
|
gaps_in = 5
|
|
gaps_out = 10
|
|
border_size = 1
|
|
cursor_inactive_timeout = 5
|
|
layout = master
|
|
}
|
|
|
|
decoration {
|
|
rounding = 10
|
|
col.shadow=rgba(0d0e1c99)
|
|
drop_shadow = yes
|
|
shadow_ignore_window = true
|
|
shadow_range = 4
|
|
shadow_render_power = 3
|
|
blur {
|
|
enabled = true
|
|
size = 5
|
|
passes = 3
|
|
new_optimizations = true
|
|
brightness = 1.0
|
|
noise = 0.02
|
|
}
|
|
}
|
|
|
|
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
|
|
}
|
|
misc {
|
|
background_color=rgb(0d0e1c)
|
|
disable_autoreload = true
|
|
mouse_move_enables_dpms = true
|
|
key_press_enables_dpms = true
|
|
}
|
|
|
|
xwayland:force_zero_scaling = true
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
|
bind = SUPER, F1, exec, swaylock
|
|
bind = SUPER, Q, killactive,
|
|
bind = SUPER SHIFT, Q, exec, rofi -replace -show power-menu
|
|
bind = SUPER, V, togglefloating
|
|
bind = SUPER, F, fullscreen, 0
|
|
bind = SUPER SHIFT, F, fullscreen, 1
|
|
bind = SUPER, tab, exec, rofi -replace -show window
|
|
bind = SUPER, P, exec, pkill rofi || rofi-pass
|
|
bind = SUPER SHIFT, P, exec, pkill rofi || rofi-pass --last-used
|
|
bind = SUPER ALT, P, exec, pkill rofi || rofi-pass --insert
|
|
bind = SUPER, Z, exec, swaync-client -t -sw
|
|
bind = SUPER SHIFT, Z, exec, swaync-client -d -sw
|
|
|
|
# Common program shortcuts
|
|
bind = SUPER, Space, exec, rofi -replace -show combi
|
|
bind = SUPER, Return, exec, foot
|
|
bind = SUPER SHIFT, Return, exec, [float] foot
|
|
|
|
# Misc useful binds
|
|
bind=,Print,exec,grim -g "$(slurp)"
|
|
bind=,XF86Calculator,exec,rofi -replace -show calc
|
|
|
|
# Sound
|
|
bindl=,XF86AudioMute,exec,${pkgs.avizo}/bin/volumectl %
|
|
bindl=,XF86AudioMicMute,exec,${pkgs.avizo}/bin/volumectl -m %
|
|
bindle=,XF86AudioRaiseVolume,exec,${pkgs.avizo}/bin/volumectl -u + 5
|
|
bindle=,XF86AudioLowerVolume,exec,${pkgs.avizo}/bin/volumectl -u - 5
|
|
|
|
# Brightness
|
|
bindle=,XF86MonBrightnessUp,exec,${pkgs.avizo}/bin/lightctl + 5
|
|
bindle=,XF86MonBrightnessDown,exec,${pkgs.avizo}/bin/lightctl - 5
|
|
|
|
# Playback
|
|
bindl=,XF86AudioPlay,exec,${pkgs.playerctl}/bin/playerctl play-pause
|
|
bindl=,XF86AudioStop,exec,${pkgs.playerctl}/bin/playerctl play-pause
|
|
bindl=,XF86AudioPrev,exec,${pkgs.playerctl}/bin/playerctl previous
|
|
bindl=,XF86AudioNext,exec,${pkgs.playerctl}/bin/playerctl next
|
|
|
|
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
|
|
|
|
# Layer rules
|
|
$layers = ^(waybar|system-menu|rofi|gtk-layer-shell|notifications|swaync-.*)$
|
|
layerrule = blur, $layers
|
|
layerrule = ignorealpha 0.3, $layers
|
|
|
|
# Window rules
|
|
windowrule = float,(org.kde.polkit-kde-authentication-agent-1|Pinentry)
|
|
windowrule = center,(org.kde.polkit-kde-authentication-agent-1|Pinentry)
|
|
windowrule = pin,(org.kde.polkit-kde-authentication-agent-1|Pinentry)
|
|
windowrule = dimaround,(org.kde.polkit-kde-authentication-agent-1|Pinentry)
|
|
windowrule = stayfocused,(org.kde.polkit-kde-authentication-agent-1|Pinentry)
|
|
windowrule = float,(pavucontrol|.blueman-manager-wrapped|nm-connection-editor)
|
|
windowrule = size 800 600,(pavucontrol|.blueman-manager-wrapped|nm-connection-editor)
|
|
windowrule = move onscreen 100%-820 60,(pavucontrol|.blueman-manager-wrapped|nm-connection-editor)
|
|
|
|
windowrule = nomaximizerequest,(libreoffice|soffice)(.*)
|
|
windowrule = nofullscreenrequest, (libreoffice|soffice)(.*)
|
|
windowrulev2 = float,title:(Open),class:(libreoffice|soffice)(.*))
|
|
|
|
windowrule = nofullscreenrequest,(org.remmina.Remmina|Nxplayer.bin)
|
|
windowrule = nomaximizerequest,(org.remmina.Remmina|Nxplayer.bin)
|
|
windowrulev2 = float,title:(Remmina Remote Desktop Client|Remmina Preferences),class:(org.remmina.Remmina)
|
|
windowrulev2 = size 800 600,title:(Remmina Remote Desktop Client|Remmina Preferences),class:(org.remmina.Remmina)
|
|
windowrulev2 = move onscreen 100%-820 60,title:(Remmina Remote Desktop Client|Remmina Preferences),class:(org.remmina.Remmina)
|
|
|
|
# Workspace definitions
|
|
bind = SUPER, 1, moveworkspacetomonitor, 1 current
|
|
bind = SUPER, 1, workspace, 1
|
|
bind = SUPER SHIFT, 1, movetoworkspace, 1
|
|
|
|
bind = SUPER, 2, moveworkspacetomonitor, 2 current
|
|
bind = SUPER, 2, workspace, 2
|
|
bind = SUPER SHIFT, 2, movetoworkspace, 2
|
|
|
|
bind = SUPER, 3, moveworkspacetomonitor, 3 current
|
|
bind = SUPER, 3, workspace, 3
|
|
bind = SUPER SHIFT, 3, movetoworkspace, 3
|
|
|
|
bind = SUPER, 4, moveworkspacetomonitor, 4 current
|
|
bind = SUPER, 4, workspace, 4
|
|
bind = SUPER SHIFT, 4, movetoworkspace, 4
|
|
|
|
bind = SUPER, 5, moveworkspacetomonitor, 5 current
|
|
bind = SUPER, 5, workspace, 5
|
|
bind = SUPER SHIFT, 5, movetoworkspace, 5
|
|
|
|
bind = SUPER, 6, moveworkspacetomonitor, 6 current
|
|
bind = SUPER, 6, workspace, 6
|
|
bind = SUPER SHIFT, 6, movetoworkspace, 6
|
|
|
|
# Named workspaces
|
|
bind = SUPER, E, moveworkspacetomonitor, name:editor current
|
|
bind = SUPER, E, workspace, name:editor
|
|
bind = SUPER SHIFT, E, movetoworkspace, name:editor
|
|
|
|
bind = SUPER, T, moveworkspacetomonitor, name:term current
|
|
bind = SUPER, T, workspace, name:term
|
|
bind = SUPER SHIFT, T, movetoworkspace, name:term
|
|
|
|
bind = SUPER, W, moveworkspacetomonitor, name:web current
|
|
bind = SUPER, W, workspace, name:web
|
|
bind = SUPER SHIFT, W, movetoworkspace, name:web
|
|
windowrule = workspace name:web silent, (chromium-browser)
|
|
|
|
bind = SUPER, B, moveworkspacetomonitor, name:btm current
|
|
bind = SUPER, B, workspace, name:btm
|
|
bind = SUPER SHIFT, B, movetoworkspace, name:btm
|
|
|
|
bind = SUPER, C, moveworkspacetomonitor, name:chat current
|
|
bind = SUPER, C, workspace, name:chat
|
|
bind = SUPER SHIFT, C, movetoworkspace, name:chat
|
|
windowrule = workspace name:chat silent, (WebCord)
|
|
|
|
bind = SUPER, G, moveworkspacetomonitor, name:games current
|
|
bind = SUPER, G, workspace, name:games
|
|
bind = SUPER SHIFT, G, movetoworkspace, name:games
|
|
windowrule = workspace name:games silent, (steam)
|
|
# windowrulev2 = float,title:(Friends List),class:(steam)
|
|
# windowrulev2 = float,title:(Steam Settings),class:(steam)
|
|
|
|
bind = SUPER, S, moveworkspacetomonitor, name:stream current
|
|
bind = SUPER, S, workspace, name:stream
|
|
bind = SUPER SHIFT, S, movetoworkspace, name:stream
|
|
windowrule = workspace name:stream silent, (com.obsproject.Studio)
|
|
|
|
# Special workspaces
|
|
bind = SUPER, comma, workspace, m-1
|
|
bind = SUPER SHIFT, comma, movetoworkspace, r-1
|
|
bind = SUPER, period, workspace, m+1
|
|
bind = SUPER SHIFT, period, movetoworkspace, r+1
|
|
bind = SUPER, N, workspace, empty
|
|
bind = SUPER SHIFT, N, movetoworkspace, empty
|
|
bind = SUPER, minus, togglespecialworkspace
|
|
bind = SUPER SHIFT, minus, movetoworkspace, special
|
|
bind = SUPER, bracketright, focusmonitor, +1
|
|
bind = SUPER SHIFT, bracketright, movecurrentworkspacetomonitor, +1
|
|
bind = SUPER, bracketleft, focusmonitor, -1
|
|
bind = SUPER SHIFT, bracketleft, movecurrentworkspacetomonitor, -1
|
|
bind = SUPER, U, focusurgentorlast
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
bindm = SUPER, mouse:272, movewindow
|
|
bindm = SUPER, mouse:273, resizewindow
|
|
|
|
exec-once = swaync
|
|
exec-once = ${pkgs.hyprpaper}/bin/hyprpaper
|
|
exec-once = ${pkgs.dex}/bin/dex --autostart
|
|
exec-once = [workspace name:btm silent] foot -e btm --group --battery
|
|
''
|