Skip to content

Commit 61d82f6

Browse files
hyprland: configs from garuda linux 2025
1 parent 4c59bc1 commit 61d82f6

10 files changed

Lines changed: 1024 additions & 0 deletions

File tree

hypr/hypr-garuda/hypridle.conf

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
general {
2+
lock_cmd = pidof swaylock || swaylock -f -i '/usr/share/wallpapers/garuda-wallpapers/Garuda-TilliDie-cube-105.png'
3+
# avoid starting multiple swaylock instances.
4+
before_sleep_cmd = loginctl lock-session # lock before suspend.
5+
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
6+
}
7+
8+
listener {
9+
timeout = 150 # 2.5min.
10+
on-timeout = brightnessctl -s set 10 # set monitor backlight to minimum, avoid 0 on OLED monitor.
11+
on-resume = brightnessctl -r # monitor backlight restore.
12+
}
13+
14+
# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
15+
listener {
16+
timeout = 150 # 2.5min.
17+
on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
18+
on-resume = brightnessctl -rd rgb:kbd_backlight # turn on keyboard backlight.
19+
}
20+
21+
listener {
22+
timeout = 300 # 5min
23+
on-timeout = loginctl lock-session # lock screen when timeout has passed
24+
}
25+
26+
listener {
27+
timeout = 330 # 5.5min
28+
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
29+
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
30+
}
31+
32+
listener {
33+
timeout = 1800 # 30min
34+
on-timeout = systemctl suspend # suspend pc
35+
}
Lines changed: 322 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,322 @@
1+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
2+
3+
# ╔═╗┬─┐┌─┐┌─┐┌┬┐┬┌─┐┌─┐┬ ┬ ┬ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐
4+
# ╠═╝├┬┘├─┤│ │ ││ ├─┤│ │ │ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││
5+
# ╩ ┴└─┴ ┴└─┘ ┴ ┴└─┘┴ ┴┴─┘┴─┘┴ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘
6+
7+
# Config assembled from Garuda Linux and Hyde configs
8+
# ASCII generator using Calvin S
9+
# https://patorjk.com/software/taag/#p=display&f=Calvin%20S
10+
#
11+
# Refer to https://wiki.hyprland.org and
12+
# https://wiki.hyprland.org/Configuring/Variables/
13+
# https://wiki.hyprland.org/Configuring/Keywords/
14+
# #######################################################################################
15+
16+
17+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
18+
19+
# ╦┌┐┌┌─┐┬ ┬ ┬┌┬┐┌─┐ ╔═╗┌─┐┌┐┌┌─┐┬┌─┐┌─┐
20+
# ║││││ │ │ │ ││├┤ ║ │ ││││├┤ ││ ┬└─┐
21+
# ╩┘└┘└─┘┴─┘└─┘─┴┘└─┘ ╚═╝└─┘┘└┘└ ┴└─┘└─┘
22+
23+
24+
source = ./keybindings.conf # Keyboard shortcuts
25+
source = ./monitors.conf # Monitor configuration
26+
# source = ./windowrules.conf # Window rules
27+
# source = ./userprefs.conf # Personal hyprland configuration
28+
29+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
30+
31+
32+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
33+
34+
# ╦╔═┌─┐┬ ┬┌┐ ┌─┐┌─┐┬─┐┌┬┐ ┬ ╔╦╗┌─┐┬ ┬┌─┐┌─┐
35+
# ╠╩╗├┤ └┬┘├┴┐│ │├─┤├┬┘ ││ ┌┼─ ║║║│ ││ │└─┐├┤
36+
# ╩ ╩└─┘ ┴ └─┘└─┘┴ ┴┴└──┴┘ └┘ ╩ ╩└─┘└─┘└─┘└─┘
37+
38+
# https://wiki.hyprland.org/Configuring/Variables/#input
39+
input {
40+
kb_layout = us
41+
kb_variant =
42+
kb_model =
43+
kb_options =
44+
kb_rules =
45+
46+
follow_mouse = 1
47+
48+
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
49+
50+
touchpad {
51+
natural_scroll = true
52+
tap-to-click = true
53+
disable_while_typing = true
54+
}
55+
}
56+
57+
# https://wiki.hyprland.org/Configuring/Variables/#gestures
58+
gestures {
59+
workspace_swipe = false
60+
}
61+
62+
#device:epic mouse V1 {
63+
# sensitivity = -0.5
64+
#}
65+
66+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
67+
68+
# ╔═╗┌┬┐┌─┐┬─┐┌┬┐┬ ┬┌─┐ ╔═╗┌─┐┌─┐┌─┐
69+
# ╚═╗ │ ├─┤├┬┘ │ │ │├─┘ ╠═╣├─┘├─┘└─┐
70+
# ╚═╝ ┴ ┴ ┴┴└─ ┴ └─┘┴ ╩ ╩┴ ┴ └─┘
71+
72+
# Execute your favorite apps at launch
73+
74+
# background wallpaper
75+
exec-once = wpaperd
76+
77+
# status bar
78+
exec-once = waybar
79+
layerrule = blur , waybar
80+
layerrule = ignorezero , waybar
81+
82+
# Notifications
83+
exec-once = mako
84+
85+
# Authentication key ring ?
86+
# exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
87+
# exec-once = foot --server
88+
# experimental(might work might won't)
89+
90+
# pre executions (under development)
91+
exec-once=exec xrdb -load ~/.Xresources
92+
93+
# Clipboard Manager
94+
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
95+
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
96+
bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
97+
98+
## Hypr Ecosystem
99+
# Screensaver
100+
exec-once = hypridle
101+
102+
# exec-once = garuda-welcome
103+
104+
# Add networkmanager applet to tray in waybar
105+
# exec-once = nm-applet --indicator
106+
107+
# Set keyboard layout
108+
# exec-once = .local/bin/garuda-locale.sh
109+
110+
# Set monitor values. For own values, please comment with #
111+
# exec-once = .local/bin/mon.sh
112+
113+
# Source a file (multi-file configs)
114+
# source = ~/.config/hypr/myColors.conf
115+
116+
117+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
118+
119+
# ╦ ╦┬┌┐┌┌┬┐┌─┐┬ ┬┌─┐ ┬ ╔╦╗┌─┐┌─┐┌─┐┬─┐┌─┐┌┬┐┬┌─┐┌┐┌┌─┐
120+
# ║║║││││ │││ ││││└─┐ ┌┼─ ║║├┤ │ │ │├┬┘├─┤ │ ││ ││││└─┐
121+
# ╚╩╝┴┘└┘─┴┘└─┘└┴┘└─┘ └┘ ═╩╝└─┘└─┘└─┘┴└─┴ ┴ ┴ ┴└─┘┘└┘└─┘
122+
123+
general {
124+
# See https://wiki.hyprland.org/Configuring/Variables/ for more
125+
126+
gaps_in = 5
127+
gaps_out = 20
128+
border_size = 4
129+
col.active_border = rgba(33ccffee) rgba(8f00ffee) 45deg
130+
col.inactive_border = rgba(595959aa)
131+
132+
layout = dwindle
133+
}
134+
135+
decoration {
136+
# See https://wiki.hyprland.org/Configuring/Variables/ for more
137+
138+
rounding = 10
139+
blur {
140+
enabled = true
141+
size = 5
142+
passes = 1
143+
}
144+
145+
shadow {
146+
enabled = true
147+
range = 4
148+
render_power = 3
149+
color = rgba(1a1a1aee)
150+
}
151+
}
152+
153+
animations {
154+
enabled = true
155+
156+
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
157+
158+
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
159+
160+
animation = windows, 1, 7, myBezier
161+
animation = windowsOut, 1, 7, default, popin 80%
162+
animation = border, 1, 10, default
163+
animation = fade, 1, 7, default
164+
animation = workspaces, 1, 6, default
165+
}
166+
167+
dwindle {
168+
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
169+
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
170+
preserve_split = true # you probably want this
171+
}
172+
173+
master {
174+
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
175+
new_status = master
176+
}
177+
178+
misc {
179+
disable_hyprland_logo = true
180+
}
181+
182+
183+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
184+
185+
186+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
187+
# ╦ ╦┬┌┐┌┌┬┐┌─┐┬ ┬ ╦═╗┬ ┬┬ ┌─┐┌─┐
188+
# ║║║││││ │││ ││││ ╠╦╝│ ││ ├┤ └─┐
189+
# ╚╩╝┴┘└┘─┴┘└─┘└┴┘ ╩╚═└─┘┴─┘└─┘└─┘
190+
191+
# NOTE: rules cause errors in hypr.conf - perhaps syntax has changed?
192+
193+
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
194+
# Example windowrule v1
195+
# windowrule = float, ^(kitty)$
196+
# windowrule = float, ^(garuda-assistant)$
197+
# windowrule = float, ^(garuda-boot-options)$
198+
# windowrule = float, ^(garuda-boot-repair)$
199+
# windowrule = float, ^(garuda-gamer)$
200+
# windowrule = float, ^(garuda-network-assistant)$
201+
# windowrule = float, ^(garuda-settings-manager)$
202+
# windowrule = float, ^(garuda-welcome)$
203+
# windowrule = float, ^(calamares)$
204+
205+
# Example windowrule v2
206+
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
207+
208+
#!▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄ ▄▄
209+
210+
211+
# Screenshots:
212+
#
213+
# Change to swappy https://github.com/jtheoof/swappy
214+
# Old functions only commented out to make it easier for the user to change if necessary.
215+
216+
217+
# https://github.com/hyprwm/contrib/blob/main/grimblast/grimblast.1.scd
218+
# Print: All outputs
219+
# SHIFT+Print: Select area
220+
# $mainMod+Print: Current window
221+
# $mainMod+Shfit+Print: Current output
222+
#
223+
bind = ,Print, exec, grimblast save screen && notify-send Screenshot captured
224+
bind = SHIFT, Print, exec, grimblast save area && notify-send Selected\ area captured
225+
bind = $mainMod, Print, exec, grimblast save active && notify-send Active\ window captured
226+
bind = $mainMod SHIFT, Print, exec, grimblast output active && notify-send Output captured
227+
228+
# for resizing window
229+
# will switch to a submap called resize
230+
bind=$mainMod,R,submap,resize
231+
232+
# will start a submap called "resize"
233+
submap=resize
234+
235+
# sets repeatable binds for resizing the active window
236+
binde=,right,resizeactive,50 0
237+
binde=,L,resizeactive,50 0
238+
binde=,left,resizeactive,-50 0
239+
binde=,H,resizeactive,-50 0
240+
binde=,up,resizeactive,0 -50
241+
binde=,K,resizeactive,0 -50
242+
binde=,down,resizeactive,0 50
243+
binde=,J,resizeactive,0 50
244+
245+
# use reset to go back to the global submap
246+
bind=,escape,submap,reset
247+
248+
# will reset the submap, meaning end the current one and return to the global one
249+
submap=reset
250+
251+
# to move window
252+
bind = $mainMod SHIFT,up, movewindow, u
253+
bind = $mainMod SHIFT,K, movewindow, u
254+
bind = $mainMod SHIFT,down, movewindow, d
255+
bind = $mainMod SHIFT,J, movewindow, d
256+
bind = $mainMod SHIFT,left, movewindow, l
257+
bind = $mainMod SHIFT,H, movewindow, l
258+
bind = $mainMod SHIFT,right, movewindow, r
259+
bind = $mainMod SHIFT,L, movewindow, r
260+
261+
# special workspace
262+
263+
bind = $mainMod SHIFT, S, togglespecialworkspace, magic
264+
bind = $mainMod SHIFT, S, movetoworkspace, +0
265+
bind = $mainMod SHIFT, S, togglespecialworkspace, magic
266+
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
267+
bind = $mainMod SHIFT, S, togglespecialworkspace, magic
268+
269+
# other blurings
270+
blurls = wofi
271+
blurls = thunar
272+
blurls = gedit
273+
blurls = gtk-layer-shell # for nwg-drawer
274+
blurls = catfish
275+
# window rules
276+
# windowrule = opacity 0.85 override 0.85 override,^(thunar)$
277+
# windowrule = opacity 0.85 override 0.85 override,^(gedit)$
278+
# windowrule = opacity 0.85 override 0.85 override,^(catfish)$
279+
# windowrule = stayfocused, ^(wofi)$
280+
281+
# window rules with evaluation
282+
windowrulev2 = opacity 0.85 0.85,floating:1
283+
284+
exec-once = mako
285+
exec-once =/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
286+
exec-once = foot --server
287+
# experimental(might work might won't)
288+
289+
# pre executions (under development)
290+
exec-once=exec xrdb -load ~/.Xresources
291+
292+
# Clipboard Manager
293+
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
294+
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
295+
bind = SUPER, V, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
296+
297+
# video play paues bindings
298+
bind=,172,exec,playerctl play-pause
299+
bind=,171,exec,playerctl next
300+
bind=,173,exec,playerctl previous
301+
302+
# Use gtk-settings
303+
exec-once = apply-gsettings
304+
305+
306+
# Performance Tweaks (For less power consumption without sacrificing performance)
307+
# See : https://wiki.hyprland.org/Configuring/Performance/
308+
misc:vfr = true
309+
310+
# enable G-Hyprland
311+
bind = $mainMod SHIFT, G, exec, footclient -e ~/.local/bin/bear/implement_gum.sh enable
312+
# Install Garuda Hyprland
313+
bind = $mainMod, I, exec, .local/bin/calamares.sh
314+
315+
# some env variables
316+
env = XDG_CURRENT_DESKTOP,Hyprland
317+
# we usually prefer things to be set up through script
318+
# have a look at hyprstart file
319+
320+
## Hypr Ecosystem
321+
# hypridle
322+
exec-once = hypridle

0 commit comments

Comments
 (0)