tenseleyflow/ndotfiles / 94bba4c

Browse files

hyprland

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
94bba4c04d6f80e415376086f0cb0e4211db8e75
Parents
1cf54b2
Tree
7aa024e

13 changed files

StatusFile+-
A hypr/config/animations.conf 15 0
A hypr/config/autostart.conf 26 0
A hypr/config/colors.conf 13 0
A hypr/config/decorations.conf 24 0
A hypr/config/defaults.conf 15 0
A hypr/config/environment.conf 7 0
A hypr/config/input.conf 10 0
A hypr/config/keybinds.conf 202 0
A hypr/config/monitor.conf 17 0
A hypr/config/variables.conf 84 0
A hypr/config/windowrules.conf 95 0
A hypr/hyprland.conf 22 0
A hypr/scripts/toggle-flow.sh 19 0
hypr/config/animations.confadded
@@ -0,0 +1,15 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃             (Default) Animations Configuration              ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+# https://wiki.hyprland.org/Configuring/Animations/
6
+
7
+animations {
8
+    enabled = yes
9
+    bezier = overshot, 0.13, 0.99, 0.29, 1.1
10
+    animation = windowsIn, 1, 4, overshot, slide
11
+    animation = windowsOut, 1, 5, default, popin 80%
12
+    animation = border, 1, 5, default
13
+    animation = workspacesIn, 1, 6, overshot, slide
14
+    animation = workspacesOut, 1, 6, overshot, slidefade 80%
15
+}
hypr/config/autostart.confadded
@@ -0,0 +1,26 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                    Autostart Configuration                  ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+source = ~/.config/hypr/config/defaults.conf
6
+
7
+# Autostart wiki https://wiki.hyprland.org/Configuring/Keywords/#executing
8
+
9
+exec-once = swaybg -o \* -i /usr/share/wallpapers/cachyos-wallpapers/limine-splash.png -m fill
10
+exec-once = waybar &
11
+exec-once = fcitx5 -d &
12
+exec-once = mako &
13
+exec-once = nm-applet --indicator &
14
+exec-once = bash -c "mkfifo /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob && tail -f /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob | wob & disown" &
15
+exec-once = /usr/lib/polkit-kde-authentication-agent-1 &
16
+
17
+# ## Slow app launch fix
18
+exec-once = systemctl --user import-environment &
19
+exec-once = hash dbus-update-activation-environment 2>/dev/null &
20
+exec-once = dbus-update-activation-environment --systemd &
21
+
22
+# ## file chooser integration and auth prompts
23
+exec-once = /usr/bin/lxqt-policykit &
24
+
25
+# ## Idle configuration
26
+exec-once = $idlehandler
hypr/config/colors.confadded
@@ -0,0 +1,13 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                      Colors Configuration                   ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+$cachylgreen = rgba(82dcccff)
6
+$cachymgreen = rgba(00aa84ff)
7
+$cachydgreen = rgba(007d6fff)
8
+$cachylblue = rgba(01ccffff)
9
+$cachymblue = rgba(182545ff)
10
+$cachydblue = rgba(111826ff)
11
+$cachywhite = rgba(ffffffff)
12
+$cachygrey = rgba(ddddddff)
13
+$cachygray = rgba(798bb2ff)
hypr/config/decorations.confadded
@@ -0,0 +1,24 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                    Decorations Configuration                ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+source = ~/.config/hypr/config/colors.conf
6
+
7
+# https://wiki.hyprland.org/Configuring/Variables/#decoration
8
+
9
+decoration {
10
+    active_opacity = 1
11
+    rounding = 4
12
+
13
+    # https://wiki.hyprland.org/Configuring/Variables/#blur
14
+    blur {
15
+        size = 15
16
+        passes = 2 # more passes = more resource intensive.
17
+        xray = true
18
+    }
19
+
20
+    # https://wiki.hyprland.org/Configuring/Variables/#shadow
21
+    shadow {
22
+        enabled = false
23
+    }
24
+}
hypr/config/defaults.confadded
@@ -0,0 +1,15 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                     Defaults Configuration                  ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+
6
+# General
7
+$filemanager = dolphin 
8
+$applauncher = wofi
9
+$terminal = alacritty
10
+$idlehandler = swayidle -w timeout 300 'swaylock -f -c 000000' before-sleep 'swaylock -f -c 000000'
11
+
12
+# Screenshots
13
+$shot-region = grimblast copy area
14
+$shot-window = grimblast copy active
15
+$shot-screen = grimblast copy output
hypr/config/environment.confadded
@@ -0,0 +1,7 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                    Enviroment Configuration                 ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+envd = HYPRCURSOR_SIZE,24
6
+envd = XCURSOR_SIZE,24
7
+envd = QT_CURSOR_SIZE,24
hypr/config/input.confadded
@@ -0,0 +1,10 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                      Input Configuration                    ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+# Input wiki https://wiki.hyprland.org/Configuring/Variables/#input
6
+
7
+input {
8
+    follow_mouse = 2 # 0|1|2|3
9
+    float_switch_override_focus = 2
10
+}
hypr/config/keybinds.confadded
@@ -0,0 +1,202 @@
1
+
2
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
3
+# ┃                         Keybinds                            ┃
4
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
5
+
6
+source = ~/.config/hypr/config/defaults.conf
7
+
8
+# https://wiki.hyprland.org/Configuring/Binds/
9
+bindd = $mainMod, Q, 		Closes (not kill) current window, 						  killactive,
10
+bindd = $mainMod, Y, 		Pin current window (shows on all workspaces), 			  pin
11
+bindd = $mainMod, F, 		Toggles current window fullscreen mode, 				  fullscreen
12
+bindd = $mainMod, SPACE, 	Runs your application launcher, 						  exec, $applauncher
13
+bindd = $mainMod, J, 		Toggles current window split mode, 						  togglesplit, # dwindle
14
+bindd = $mainMod, RETURN, 	Opens your preferred terminal emulator ($terminal), 	  exec, $terminal
15
+bindd = $mainMod SHIFT, RETURN, Open terminal & attach/create tmux:main, 			  exec, $terminal -e bash -lc 'tmux new -As main'
16
+bindd = $mainMod, E, 		Opens your preferred filemanager ($filemanager), 		  exec, $filemanager
17
+bindd = $mainMod, V, 		Switches current window between floating and tiling mode, togglefloating,
18
+bindd = $mainMod SHIFT, M, 	Exits Hyprland by terminating the user sessions, 		  exec, loginctl terminate-user ""
19
+
20
+bindd = $mainMod, X, 	Toggles flow (disables flashy animations), 	exec, ~/.config/hypr/scripts/toggle-flow.sh
21
+
22
+## Layouts
23
+bindd = $mainMod, F10, Toggle master layout,	exec, hyprctl keyword general:layout masterq
24
+bindd = $mainMod, F11, Toggle dwindle layout,	exec, hyprctl keyword general:layout dwindle
25
+
26
+bindd = , Print, Creates a screenshot of an area, exec, $shot-region$
27
+bindd = ALT,  Print, Creates a screenshot of the active display, exec, $shot-screen
28
+bindd = CTRL, Print, Creates a screenshot of the active window, exec, $shot-window
29
+
30
+# ======= Grouping Windows =======
31
+
32
+bindd = $mainMod, K, Toggles  current window group mode (ungroup all related), togglegroup,
33
+bindd = $mainMod, Tab, Switches to the next window in the group, changegroupactive, f
34
+
35
+# ======= Toggle Gaps =======
36
+
37
+bindd = $mainMod, 		G, Remove gaps between window, 	exec, hyprctl --batch "keyword general:gaps_out 0;keyword general:gaps_in 0"
38
+bindd = $mainMod SHIFT, G, Set CachyOS default gaps, 	exec, hyprctl --batch "keyword general:gaps_out 5;keyword general:gaps_in 3"
39
+
40
+# ======= Volume Control =======
41
+
42
+bindel = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{if($1>100) system("pactl set-sink-volume @DEFAULT_SINK@ 100%")}' && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Raise Volume
43
+bindel = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | grep -oP '\d+(?=%)' | awk '{print $1}' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob # Lower Volume
44
+bindel = , XF86AudioMute,		 exec, amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > /tmp/$HYPRLAND_INSTANCE_SIGNATURE.wob	#Mutes player audio
45
+
46
+# ======= Playback Control =======
47
+
48
+bindd = , XF86AudioPlay, Toggles play/pause, exec, playerctl play-pause
49
+bindd = , XF86AudioNext, Next track, exec, playerctl next
50
+bindd = , XF86AudioPrev, Previous track, exec, playerctl previous
51
+
52
+# ======= Screen Brightness =======
53
+
54
+bindd = $mainMod, W, Reload/restarts Waybar, exec, killall -SIGUSR2 waybar
55
+bindd = $mainMod, L, Lock the screen, 		 exec, swaylock-fancy -e -K -p 10 -f Hack-Regular
56
+
57
+bindel = , XF86MonBrightnessUp,   exec, brightnessctl s +5% 	#Increases brightness 5%
58
+bindel = , XF86MonBrightnessDown, exec, brightnessctl s 5%- 	#Decreases brightness 5%
59
+
60
+# ======= Window Actions =======
61
+
62
+## Move window with mainMod + LMB/RMB and dragging
63
+bindd = $mainMod, mouse:272, Move the window towards a direction, 	movewindow
64
+
65
+## Move window towards a direction
66
+bindd = $mainMod SHIFT, up, 	Move active window upwards, 		movewindow, u
67
+bindd = $mainMod SHIFT, down, 	Move active window downwards, 		movewindow, d
68
+bindd = $mainMod SHIFT, left, 	Move active window to the left, 	movewindow, l
69
+bindd = $mainMod SHIFT, right, 	Move active window to the right, 	movewindow, r
70
+
71
+## Move focus with mainMod + arrow keys
72
+bindd = $mainMod, up, 		Move focus upwards, 		movefocus, u
73
+bindd = $mainMod, down, 	Move focus downwards, 		movefocus, d
74
+bindd = $mainMod, left, 	Move focus to the left, 	movefocus, l
75
+bindd = $mainMod, right,  	Move focus to the right, 	movefocus, r
76
+
77
+## Resizing windows
78
+# Activate keyboard window resize mode
79
+# https://wiki.hyprland.org/Configuring/Binds/#submaps
80
+bindd = $mainMod, R, Activates window resizing mode, submap, resize
81
+submap = resize
82
+bindd = , right, Resize to the right (resizing mode), resizeactive, 15 0
83
+bindd = , left, Resize to the left (resizing mode), resizeactive, -15 0
84
+bindd = , up, Resize upwards (resizing mode), resizeactive, 0 -15
85
+bindd = , down, Resize downwards (resizing mode), resizeactive, 0 15
86
+bindd = , l, Resize to the right (resizing mode), resizeactive, 15 0
87
+bindd = , h, Resize to the left (resizing mode), resizeactive, -15 0
88
+bindd = , k, Resize upwards (resizing mode), resizeactive, 0 -15
89
+bindd = , j, Resize downwards (resizing mode), resizeactive, 0 15
90
+bindd = , escape, Ends window resizing mode, submap, reset
91
+submap = reset
92
+
93
+# Quick resize window with keyboard
94
+# !!! added $mainMod here because CTRL + SHIFT is used for word selection in various text editors
95
+bindd = $mainMod CTRL, up, 		Resize upwards, 		resizeactive, 0 -25
96
+bindd = $mainMod CTRL, down, 	Resize downwards, 		resizeactive, 0 25
97
+bindd = $mainMod CTRL, left, 	Resize to the left, 	resizeactive, -25 0
98
+bindd = $mainMod CTRL, right, 	Resize to the right, 	resizeactive, 25 0
99
+
100
+bindd = $mainMod CTRL SHIFT, up, 	Resize upwards, 		resizeactive, 0 -55
101
+bindd = $mainMod CTRL SHIFT, down, 	Resize downwards, 		resizeactive, 0 55
102
+bindd = $mainMod CTRL SHIFT, left, 	Resize to the left, 	resizeactive, -55 0
103
+bindd = $mainMod CTRL SHIFT, right, Resize to the right, 	resizeactive, 55 0
104
+
105
+bindd = $mainMod ALT CTRL, up, 		Resize upwards, 		resizeactive, 	0 -85
106
+bindd = $mainMod ALT CTRL, down, 	Resize downwards, 		resizeactive, 	0 85
107
+bindd = $mainMod ALT CTRL, left, 	Resize to the left, 	resizeactive, 	-85 0
108
+bindd = $mainMod ALT CTRL, right, 	Resize to the right, 	resizeactive,	85 0
109
+
110
+bindd = $mainMod ALT CTRL SHIFT, up, 	Resize upwards, 		resizeactive, 	0 -115
111
+bindd = $mainMod ALT CTRL SHIFT, down, 	Resize downwards, 		resizeactive, 	0 115
112
+bindd = $mainMod ALT CTRL SHIFT, left, 	Resize to the left, 	resizeactive, 	-115 0
113
+bindd = $mainMod ALT CTRL SHIFT, right, Resize to the right, 	resizeactive,	115 0
114
+
115
+# Resize window with mainMod + LMB/RMB and dragging
116
+bindm = $mainMod, mouse:273, resizewindow	#Resize the window towards a direction
117
+bindm = $mainMod, mouse:272, movewindow		#Drag window
118
+## Resizing Windows End #
119
+
120
+## Move active window to a workspace with $mainMod + CTRL + [0-9]
121
+bindd = $mainMod CTRL, 1, Move window and switch to workspace 1,  movetoworkspace, 1
122
+bindd = $mainMod CTRL, 2, Move window and switch to workspace 2,  movetoworkspace, 2
123
+bindd = $mainMod CTRL, 3, Move window and switch to workspace 3,  movetoworkspace, 3
124
+bindd = $mainMod CTRL, 4, Move window and switch to workspace 4,  movetoworkspace, 4
125
+bindd = $mainMod CTRL, 5, Move window and switch to workspace 5,  movetoworkspace, 5
126
+bindd = $mainMod CTRL, 6, Move window and switch to workspace 6,  movetoworkspace, 6
127
+bindd = $mainMod CTRL, 7, Move window and switch to workspace 7,  movetoworkspace, 7
128
+bindd = $mainMod CTRL, 8, Move window and switch to workspace 8,  movetoworkspace, 8
129
+bindd = $mainMod CTRL, 9, Move window and switch to workspace 9,  movetoworkspace, 9
130
+bindd = $mainMod CTRL, 0, Move window and switch to workspace 10, movetoworkspace, 10
131
+
132
+bindd = $mainMod CTRL, left,  Move window and switch to the next workspace, 	movetoworkspace, -1
133
+bindd = $mainMod CTRL, right, Move window and switch to the previous workspace, movetoworkspace, +1
134
+
135
+## Same as above, but doesn't switch to the workspace
136
+bindd = $mainMod SHIFT, 1, Move window silently to workspace 1,  movetoworkspacesilent, 1
137
+bindd = $mainMod SHIFT, 2, Move window silently to workspace 2,  movetoworkspacesilent, 2
138
+bindd = $mainMod SHIFT, 3, Move window silently to workspace 3,  movetoworkspacesilent, 3
139
+bindd = $mainMod SHIFT, 4, Move window silently to workspace 4,  movetoworkspacesilent, 4
140
+bindd = $mainMod SHIFT, 5, Move window silently to workspace 5,  movetoworkspacesilent, 5
141
+bindd = $mainMod SHIFT, 6, Move window silently to workspace 6,  movetoworkspacesilent, 6
142
+bindd = $mainMod SHIFT, 7, Move window silently to workspace 7,  movetoworkspacesilent, 7
143
+bindd = $mainMod SHIFT, 8, Move window silently to workspace 8,  movetoworkspacesilent, 8
144
+bindd = $mainMod SHIFT, 9, Move window silently to workspace 9,  movetoworkspacesilent, 9
145
+bindd = $mainMod SHIFT, 0, Move window silently to workspace 10, movetoworkspacesilent, 10
146
+# Window actions End #
147
+
148
+# ======= Workspace Actions =======
149
+
150
+# Switch workspaces with mainMod + [0-9]
151
+bindd = $mainMod, 1, Switch to workspace 1,  workspace, 1
152
+bindd = $mainMod, 2, Switch to workspace 2,  workspace, 2
153
+bindd = $mainMod, 3, Switch to workspace 3,  workspace, 3
154
+bindd = $mainMod, 4, Switch to workspace 4,  workspace, 4
155
+bindd = $mainMod, 5, Switch to workspace 5,  workspace, 5
156
+bindd = $mainMod, 6, Switch to workspace 6,  workspace, 6
157
+bindd = $mainMod, 7, Switch to workspace 7,  workspace, 7
158
+bindd = $mainMod, 8, Switch to workspace 8,  workspace, 8
159
+bindd = $mainMod, 9, Switch to workspace 9,  workspace, 9
160
+bindd = $mainMod, 0, Switch to workspace 10, workspace, 10
161
+
162
+# Scroll through existing workspaces with mainMod + , or .
163
+bindd = $mainMod, COMMA,  Scroll through workspaces decrementally, workspace, e-1
164
+bindd = $mainMod, PERIOD, Scroll through workspaces incrementally, workspace, e+1
165
+
166
+# With $mainMod + scroll
167
+bindd = $mainMod, slash, 		Switch to the previous workspace, workspace, previous
168
+bindd = $mainMod, mouse_up, 	Scroll through workspaces decrementally, workspace, e-1
169
+bindd = $mainMod, mouse_down, 	Scroll through workspaces incrementally, workspace, e+1
170
+
171
+# Special workspaces (scratchpads)
172
+## App-specific workspaces
173
+bindd = $mainMod,	 	Z, 		toggle zenn scratchpad, 		togglespecialworkspace, zenn
174
+bindd = $mainMod,	 	T, 		toggle scratch terminal, 		togglespecialworkspace, term
175
+bindd = $mainMod,	 	H, 		toggle guides scratchpad, 		togglespecialworkspace, guid
176
+bindd = $mainMod,		D, 		toggle discord scratchpad,		togglespecialworkspace, disc
177
+bindd = $mainMod,	 	A, 		toggle audacity scratchpad,		togglespecialworkspace, adct
178
+bindd = $mainMod,		O,		toggle ticktick scratchpad,		togglespecialworkspace, tick
179
+bindd = $mainMod,	 	B, 		toggle bitwarden scratchpad, 	togglespecialworkspace, bitt
180
+bindd = $mainMod,	 	M, 		toggle music player scratchpad, togglespecialworkspace, spot
181
+bind = $mainMod, N, exec, hyprctl dispatch workspace special:notes; \
182
+  hyprctl dispatch exec "$terminal -e fish -c 'viewnotes'"
183
+
184
+## Scratchpad
185
+bindd = $mainMod,		minus, 	toggle default scratchpad,		togglespecialworkspace, special
186
+bindd = $mainMod SHIFT, minus, 	send window to scratchpad, 		movetoworkspacesilent, 	special
187
+
188
+# ======= Custom Scenes =======
189
+bindd = $mainMod ALT, 1, toggle scene 1, exec, ~/.config/hypr/scripts/scenes/scene-1.sh
190
+bindd = $mainMod ALT, 2, toggle scene 2, exec, ~/.config/hypr/scripts/scenes/scene-2.sh
191
+
192
+
193
+# ======= Additional Settings =======
194
+
195
+# https://wiki.hyprland.org/Configuring/Binds
196
+binds {
197
+    allow_workspace_cycles = 1
198
+    workspace_back_and_forth = 1
199
+    workspace_center_on = 1
200
+	movefocus_cycles_fullscreen = true
201
+	window_direction_monitor_fallback = true
202
+}
hypr/config/monitor.confadded
@@ -0,0 +1,17 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                     Monitor Configuration                   ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+# Monitor wiki https://wiki.hyprland.org/Configuring/Monitors/
6
+
7
+# monitor = , preferred, auto, 1
8
+monitor = DP-1, 3840x2160@60, 2560x0, 1
9
+monitor = HDMI-A-1, 2560x1440@60, 0x0, 1
10
+
11
+# If you need to scale things like steam etc, please uncomment these lines.
12
+#xwayland {
13
+#  force_zero_scaling = true       # Unscale XWayland
14
+#}
15
+
16
+# Adjust GDK_SCALE accordingly to your liking.
17
+#env = GDK_SCALE, 1.25                   # GDK Scaling Factor
hypr/config/variables.confadded
@@ -0,0 +1,84 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                    Variables Configuration                  ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+source = ~/.config/hypr/config/colors.conf
6
+
7
+# Monitor globals
8
+$priMon = DP-1
9
+$secMon = HDMI-A-1
10
+
11
+# https://wiki.hyprland.org/Configuring/Variables/#general
12
+general {
13
+
14
+    gaps_in = 3
15
+    gaps_out = 5
16
+    border_size = 3
17
+    col.active_border = $cachylgreen
18
+    col.inactive_border = $cachymblue
19
+    layout = dwindle # master|dwindle
20
+
21
+    # https://wiki.hyprland.org/Configuring/Variables/#snap
22
+    snap {
23
+    	enabled = true
24
+    }
25
+
26
+}
27
+
28
+# https://wiki.hyprland.org/Configuring/Variables/#gestures
29
+gestures {
30
+     workspace_swipe = true
31
+     workspace_swipe_fingers = 4
32
+     workspace_swipe_distance = 250
33
+     workspace_swipe_min_speed_to_force = 15
34
+     workspace_swipe_create_new = false
35
+}
36
+
37
+# https://wiki.hyprland.org/Configuring/Variables/#group
38
+group {
39
+	col.border_active = $cachydgreen
40
+	col.border_inactive = $cachylgreen
41
+	col.border_locked_active = $cachymgreen
42
+	col.border_locked_inactive = $cachydblue
43
+
44
+    # https://wiki.hyprland.org/Configuring/Variables/#groupbar
45
+	groupbar {
46
+		font_family = "Fira Sans"
47
+		text_color = $cachydblue
48
+		col.active = $cachydgreen
49
+		col.inactive = $cachylgreen
50
+		col.locked_active = $cachymgreen
51
+		col.locked_inactive = $cachydblue
52
+	}
53
+}
54
+
55
+# https://wiki.hyprland.org/Configuring/Variables/#misc
56
+misc {
57
+    font_family = "Fira Sans"
58
+    splash_font_family = "Fira Sans"
59
+    disable_hyprland_logo = true
60
+    col.splash = $cachylgreen
61
+    background_color = $cachydblue
62
+    enable_swallow = true
63
+    swallow_regex = ^(firefox|nautilus|nemo|thunar|btrfs-assistant.)$
64
+    focus_on_activate = true
65
+    vrr = 2
66
+}
67
+
68
+# https://wiki.hyprland.org/Configuring/Variables/#render
69
+render {
70
+   direct_scanout = true
71
+}
72
+
73
+# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
74
+dwindle {
75
+    special_scale_factor = 0.8
76
+    pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
77
+    preserve_split = true
78
+}
79
+
80
+# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
81
+master {
82
+    new_status = master
83
+    special_scale_factor = 0.8
84
+}
hypr/config/windowrules.confadded
@@ -0,0 +1,95 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                    Windowrules Configuration                ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+# Windows Rules https://wiki.hyprland.org/Configuring/Window-Rules/ #
6
+
7
+# Float Necessary Windows
8
+windowrule = float, class:^(org.pulseaudio.pavucontrol)
9
+windowrule = float, class:^()$,title:^(Picture in picture)$
10
+windowrule = float, class:^()$,title:^(Save File)$
11
+windowrule = float, class:^()$,title:^(Open File)$
12
+windowrule = float, class:^(LibreWolf)$,title:^(Picture-in-Picture)$
13
+windowrule = float, class:^(blueman-manager)$
14
+windowrule = float, class:^(xdg-desktop-portal-gtk|xdg-desktop-portal-kde|xdg-desktop-portal-hyprland)(.*)$
15
+windowrule = float, class:^(polkit-gnome-authentication-agent-1|hyprpolkitagent|org.org.kde.polkit-kde-authentication-agent-1)(.*)$
16
+windowrule = float, class:^(CachyOSHello)$
17
+windowrule = float, class:^(zenity)$
18
+windowrule = float, class:^()$,title:^(Steam - Self Updater)$
19
+
20
+# Increase the opacity
21
+windowrule = opacity 0.92, class:^(thunar|nemo|dolphin)$
22
+windowrule = opacity 0.96, class:^(discord)$
23
+
24
+# General window rules
25
+windowrule = float, title:^(Picture-in-Picture)$
26
+windowrule = size 960 540, title:^(Picture-in-Picture)$
27
+windowrule = move 25%-, title:^(Picture-in-Picture)$
28
+windowrule = float, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
29
+windowrule = move 25%-, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
30
+windowrule = size 960 540, title:^(imv|mpv|danmufloat|termfloat|nemo|ncmpcpp)$
31
+windowrule = pin, title:^(danmufloat)$
32
+windowrule = rounding 5, title:^(danmufloat|termfloat)$
33
+windowrule = animation slide right, class:^(kitty|Alacritty|ghostty)$
34
+windowrule = noblur, class:^(org.mozilla.firefox)$
35
+
36
+# Decorations related to floating windows on workspaces 1 to 10
37
+windowrule = bordersize 2, floating:1, onworkspace:w[fv1-10]
38
+windowrule = bordercolor $cachylblue, floating:1, onworkspace:w[fv1-10]
39
+windowrule = rounding 8, floating:1, onworkspace:w[fv1-10]
40
+
41
+# Decorations related to tiling windows on workspaces 1 to 10
42
+windowrule = bordersize 3, floating:0, onworkspace:f[1-10]
43
+windowrule = rounding 4, floating:0, onworkspace:f[1-10]
44
+# Windows Rules End #
45
+
46
+# Workspaces Rules https://wiki.hyprland.org/Configuring/Workspace-Rules/ #
47
+workspace = 1, default:true, monitor:$priMon
48
+workspace = 6, default:true, monitor:$secMon
49
+
50
+# Workspace selectors https://wiki.hyprland.org/Configuring/Workspace-Rules/#workspace-selectors
51
+workspace = r[1-5], monitor:$priMon
52
+workspace = r[6-10], monitor:$secMon
53
+# workspace = special:scratchpad, on-created-empty:$applauncher
54
+# no_gaps_when_only deprecated instead workspaces rules with selectors can do the same
55
+
56
+# Smart gaps from 0.45.0 https://wiki.hyprland.org/Configuring/Workspace-Rules/#smart-gaps
57
+workspace = w[tv1-10], gapsout:5, gapsin:3
58
+workspace = f[1], gapsout:5, gapsin:3
59
+
60
+# App -> Workspace Rules
61
+windowrule = workspace 9, 	class:^(REAPER)
62
+windowrule = workspace 10, 	class:^(LibreWolf)
63
+
64
+## Empty Workspace -> App Rules
65
+workspace = 8, monitor:@secMon
66
+workspace = 9, 	on-created-empty:reaper
67
+workspace = 10, on-created-empty:librewolf
68
+
69
+## Empty Special -> App Rules
70
+workspace = special:disc, on-created-empty:discord
71
+workspace = special:term, on-created-empty:ghostty
72
+workspace = special:spot, on-created-empty:spotify
73
+workspace = special:adct, on-created-empty:audacity
74
+workspace = special:tick, on-created-empty:ticktick
75
+workspace = special:zenn, on-created-empty:zen-browser
76
+workspace = special:bitt, on-created-empty:bitwarden-desktop
77
+
78
+# Named special workspaces
79
+windowrule = workspace special:disc, class:^(Discord)$
80
+windowrule = workspace special:term, class:^(Ghostty)$
81
+windowrule = workspace special:spot, class:^(Spotify)$
82
+windowrule = workspace special:adct, class:^(Audacity)$
83
+windowrule = workspace special:tick, class:^(TickTick)$
84
+windowrule = workspace special:bitt, class:^(Bitwarden)$
85
+windowrule = workspace special:zenn, class:^(Zen Browser)$
86
+
87
+
88
+# Workspaces Rules End #
89
+
90
+# Layers Rules #
91
+layerrule = animation slide top, logout_dialog
92
+# layerrule = animation popin 50%, waybar
93
+layerrule = animation slide down, waybar
94
+layerrule = animation fade 50%, wallpaper
95
+# Layers Rules End #
hypr/hyprland.confadded
@@ -0,0 +1,22 @@
1
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+# ┃                 CachyOS Hyprland Configuration              ┃
3
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4
+
5
+$mainMod = SUPER
6
+
7
+# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
8
+# ┃                         Source Files                        ┃
9
+# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
10
+source = ~/.config/hypr/config/animations.conf
11
+source = ~/.config/hypr/config/autostart.conf
12
+source = ~/.config/hypr/config/decorations.conf
13
+source = ~/.config/hypr/config/environment.conf
14
+source = ~/.config/hypr/config/input.conf
15
+source = ~/.config/hypr/config/keybinds.conf
16
+source = ~/.config/hypr/config/monitor.conf
17
+source = ~/.config/hypr/config/variables.conf
18
+source = ~/.config/hypr/config/windowrules.conf
19
+
20
+# Modifying these configs can be done by creating a user defined config in the home directory, e.g.
21
+## ~/.config/hypr/config/user-config.conf
22
+# source = ~/.config/hypr/config/user-config.conf
hypr/scripts/toggle-flow.shadded
@@ -0,0 +1,19 @@
1
+#!/usr/bin/env bash
2
+# Toggle Hyprland animations on/off at runtime.
3
+
4
+# Read current value (0/1) of animations:enabled
5
+STATE="$(hyprctl -j getoption animations:enabled 2>/dev/null | sed -n 's/.*"int":\s*\([01]\).*/\1/p')"
6
+
7
+if [ "$STATE" = "1" ]; then
8
+  # Turn OFF (instant mode)
9
+  hyprctl keyword animations:enabled 0
10
+  # (Optional) kill any lingering “special” anim feel by forcing short workspace anims
11
+  hyprctl keyword animations:workspacesIn "1 1 default slide"
12
+  hyprctl keyword animations:workspacesOut "1 1 default slide"
13
+  notify-send "hyprland flow" "animations OFF"
14
+else
15
+  # Turn ON (back to your config-defined animations)
16
+  hyprctl keyword animations:enabled 1
17
+  hyprctl reload
18
+  notify-send "hyprland flow" "animations ON"
19
+fi