197 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			197 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# Hyprland Configuration
 | 
						|
# Converted from Nix settings for nate-work
 | 
						|
 | 
						|
# Variables
 | 
						|
$mod = Super
 | 
						|
$terminal = ghostty
 | 
						|
$fileManager = nautilus
 | 
						|
$menu = nwg-drawer
 | 
						|
 | 
						|
# Autostart applications
 | 
						|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
 | 
						|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
 | 
						|
exec-once = blueman-applet
 | 
						|
exec-once = hypridle
 | 
						|
exec-once = kanshi
 | 
						|
exec-once = lxqt-policykit-agent
 | 
						|
exec-once = nm-applet --indicator
 | 
						|
exec-once = sleep 5 && syncthingtray --wait
 | 
						|
exec-once = swaybg -i ~/.config/hypr/va_background.png
 | 
						|
exec-once = swaylock -C ~/.config/swaylock/boot-config
 | 
						|
exec-once = swaync
 | 
						|
exec-once = waybar
 | 
						|
exec-once = firefox --new-tab https://vasion.okta.com --new-tab https://github.com/PrinterLogic --new-tab https://claude.ai
 | 
						|
exec-once = flatpak run org.signal.Signal
 | 
						|
exec-once = flatpak run com.slack.Slack
 | 
						|
exec-once = ghostty
 | 
						|
exec-once = keepassxc
 | 
						|
 | 
						|
# Input configuration
 | 
						|
input {
 | 
						|
    repeat_rate = 50
 | 
						|
    repeat_delay = 350
 | 
						|
    follow_mouse = 0
 | 
						|
    float_switch_override_focus = 0
 | 
						|
 | 
						|
    touchpad {
 | 
						|
        natural_scroll = true
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
# Animations
 | 
						|
bezier = easeout, 0, 0.55, 0.45, 1
 | 
						|
animation = workspaces, 1, 1, easeout
 | 
						|
 | 
						|
# Gestures
 | 
						|
gesture = 3, horizontal, workspace
 | 
						|
 | 
						|
# General layout
 | 
						|
general {
 | 
						|
    gaps_in = 3
 | 
						|
    gaps_out = 5
 | 
						|
    border_size = 3
 | 
						|
    col.active_border = rgba(7e5fddff) rgba(ff5100ff) 60deg
 | 
						|
}
 | 
						|
 | 
						|
# Decoration
 | 
						|
decoration {
 | 
						|
    rounding = 12
 | 
						|
    inactive_opacity = 0.9
 | 
						|
    dim_inactive = true
 | 
						|
    dim_strength = 0.1
 | 
						|
 | 
						|
    blur {
 | 
						|
        enabled = true
 | 
						|
        passes = 1
 | 
						|
        size = 10
 | 
						|
    }
 | 
						|
 | 
						|
    shadow {
 | 
						|
        enabled = false
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
# Cursor
 | 
						|
cursor {
 | 
						|
    no_hardware_cursors = true
 | 
						|
}
 | 
						|
 | 
						|
# Misc
 | 
						|
misc {
 | 
						|
    vfr = 0
 | 
						|
    force_default_wallpaper = 0
 | 
						|
    disable_hyprland_logo = true
 | 
						|
}
 | 
						|
 | 
						|
# Render
 | 
						|
render {
 | 
						|
    direct_scanout = 0
 | 
						|
}
 | 
						|
 | 
						|
# Debug (remove when nvidia damage tracking works)
 | 
						|
debug {
 | 
						|
    damage_tracking = 0
 | 
						|
}
 | 
						|
 | 
						|
# OpenGL
 | 
						|
opengl {
 | 
						|
    nvidia_anti_flicker = 0
 | 
						|
}
 | 
						|
 | 
						|
# Monitor configuration handled by kanshi
 | 
						|
 | 
						|
# Window rules
 | 
						|
windowrulev2 = float, class:^(org.keepassxc.KeePassXC)$
 | 
						|
windowrulev2 = workspace special:scratch silent, class:^(org.keepassxc.KeePassXC)$
 | 
						|
windowrulev2 = workspace special:scratch silent, class:^(org.signal.Signal)$
 | 
						|
windowrulev2 = workspace 2 silent, class:^(firefox)$
 | 
						|
windowrulev2 = workspace 3 silent, class:^(com.slack.Slack)$
 | 
						|
windowrulev2 = workspace 4 silent, class:^(zoom)$
 | 
						|
windowrulev2 = fullscreen, class:^(zoom)$, title:^(Meeting)$
 | 
						|
windowrulev2 = float, class:^(zoom)$, title:!^(Meeting)$
 | 
						|
 | 
						|
# Key bindings
 | 
						|
bind = $mod, Q, killactive
 | 
						|
bind = $mod Shift, Q, exit
 | 
						|
bind = $mod, W, exec, firefox
 | 
						|
bind = $mod, D, exec, $menu
 | 
						|
bind = $mod, T, exec, $fileManager
 | 
						|
bind = $mod, code:36, exec, $terminal
 | 
						|
bind = $mod, Space, togglefloating
 | 
						|
bind = $mod Shift, Space, exec, hyprctl dispatch focuswindow $(if [[ $(hyprctl activewindow -j | jq ."floating") == "true" ]]; then echo "tiled"; else echo "floating"; fi;)
 | 
						|
bind = $mod, F, fullscreen, 0
 | 
						|
bind = $mod, Tab, cyclenext
 | 
						|
bind = $mod Shift, Tab, swapnext
 | 
						|
 | 
						|
# Movement - Arrow keys
 | 
						|
bind = $mod, left, movefocus, l
 | 
						|
bind = $mod, right, movefocus, r
 | 
						|
bind = $mod, up, movefocus, u
 | 
						|
bind = $mod, down, movefocus, d
 | 
						|
bind = $mod Shift, left, movewindow, l
 | 
						|
bind = $mod Shift, right, movewindow, r
 | 
						|
bind = $mod Shift, up, movewindow, u
 | 
						|
bind = $mod Shift, down, movewindow, d
 | 
						|
 | 
						|
# Movement - Colemak-DH
 | 
						|
bind = $mod, N, movefocus, l
 | 
						|
bind = $mod, O, movefocus, r
 | 
						|
bind = $mod, E, movefocus, u
 | 
						|
bind = $mod, I, movefocus, d
 | 
						|
bind = $mod Shift, N, movewindow, l
 | 
						|
bind = $mod Shift, O, movewindow, r
 | 
						|
bind = $mod Shift, E, movewindow, u
 | 
						|
bind = $mod Shift, I, movewindow, d
 | 
						|
 | 
						|
# Special actions
 | 
						|
bind = $mod SHIFT, K, exec, hyprctl keyword 'device[at-translated-set-2-keyboard]:enabled' 'false' && notify-send 'Laptop keyboard disabled' -i nix-snowflake
 | 
						|
bind = $mod SHIFT, R, exec, hyprctl reload && notify-send 'Hypr Config Reloaded' -i nix-snowflake
 | 
						|
 | 
						|
# Workspaces
 | 
						|
bind = $mod, minus, togglespecialworkspace, scratch
 | 
						|
bind = $mod SHIFT, minus, movetoworkspacesilent, special:scratch
 | 
						|
bind = $mod, M, togglespecialworkspace, music
 | 
						|
bind = $mod Shift, M, exec, ~/.config/hypr/scripts/music_setup.sh
 | 
						|
 | 
						|
# Screenshots
 | 
						|
bind = $mod, P, exec, ~/.config/hypr/scripts/screenshot.sh clipboard
 | 
						|
bind = $mod SHIFT, P, exec, ~/.config/hypr/scripts/screenshot.sh
 | 
						|
 | 
						|
# Color picker
 | 
						|
bind = $mod, C, exec, color=$(hyprpicker) && echo $color | wl-copy && notify-send "Copied $color to clipboard"
 | 
						|
 | 
						|
# Notification drawer
 | 
						|
bind = $mod CONTROL, N, exec, swaync-client -t -sw
 | 
						|
 | 
						|
# Workspace bindings (1-9)
 | 
						|
bind = $mod, code:10, workspace, 1
 | 
						|
bind = $mod SHIFT, code:10, movetoworkspacesilent, 1
 | 
						|
bind = $mod, code:11, workspace, 2
 | 
						|
bind = $mod SHIFT, code:11, movetoworkspacesilent, 2
 | 
						|
bind = $mod, code:12, workspace, 3
 | 
						|
bind = $mod SHIFT, code:12, movetoworkspacesilent, 3
 | 
						|
bind = $mod, code:13, workspace, 4
 | 
						|
bind = $mod SHIFT, code:13, movetoworkspacesilent, 4
 | 
						|
bind = $mod, code:14, workspace, 5
 | 
						|
bind = $mod SHIFT, code:14, movetoworkspacesilent, 5
 | 
						|
bind = $mod, code:15, workspace, 6
 | 
						|
bind = $mod SHIFT, code:15, movetoworkspacesilent, 6
 | 
						|
bind = $mod, code:16, workspace, 7
 | 
						|
bind = $mod SHIFT, code:16, movetoworkspacesilent, 7
 | 
						|
bind = $mod, code:17, workspace, 8
 | 
						|
bind = $mod SHIFT, code:17, movetoworkspacesilent, 8
 | 
						|
bind = $mod, code:18, workspace, 9
 | 
						|
bind = $mod SHIFT, code:18, movetoworkspacesilent, 9
 | 
						|
 | 
						|
# Mouse bindings
 | 
						|
bindm = $mod, mouse:272, movewindow
 | 
						|
bindm = $mod, mouse:273, resizewindow
 | 
						|
 | 
						|
# Brightness and Volume controls
 | 
						|
bindel = , XF86MonBrightnessDown, exec, brightnessctl s 10%-
 | 
						|
bindel = , XF86MonBrightnessUp, exec, brightnessctl s 10%+
 | 
						|
bindel = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
 | 
						|
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
 | 
						|
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
 | 
						|
bindel = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
 |