summaryrefslogtreecommitdiff
path: root/users/ryan/linux/hypr
diff options
context:
space:
mode:
Diffstat (limited to 'users/ryan/linux/hypr')
-rw-r--r--users/ryan/linux/hypr/family_guy.mp4bin0 -> 20881473 bytes
-rw-r--r--users/ryan/linux/hypr/hypridle.conf16
-rw-r--r--users/ryan/linux/hypr/hyprland.conf336
-rw-r--r--users/ryan/linux/hypr/hyprlock.conf57
-rw-r--r--users/ryan/linux/hypr/kanshi.conf22
-rw-r--r--users/ryan/linux/hypr/monitors.conf2
-rw-r--r--users/ryan/linux/hypr/pyprland.toml5
-rwxr-xr-xusers/ryan/linux/hypr/scripts/autostart.sh40
-rwxr-xr-xusers/ryan/linux/hypr/scripts/perf_mode.sh14
-rw-r--r--users/ryan/linux/hypr/subwaysurfer.webmbin0 -> 77979199 bytes
10 files changed, 492 insertions, 0 deletions
diff --git a/users/ryan/linux/hypr/family_guy.mp4 b/users/ryan/linux/hypr/family_guy.mp4
new file mode 100644
index 0000000..077fe49
--- /dev/null
+++ b/users/ryan/linux/hypr/family_guy.mp4
Binary files differ
diff --git a/users/ryan/linux/hypr/hypridle.conf b/users/ryan/linux/hypr/hypridle.conf
new file mode 100644
index 0000000..72688da
--- /dev/null
+++ b/users/ryan/linux/hypr/hypridle.conf
@@ -0,0 +1,16 @@
1general {
2 lock_cmd = pidof hyprlock || hyprlock
3 before_sleep_cmd = loginctl lock-session
4 after_sleep_cmd = hyprctl dispatch dpms on
5}
6
7listener {
8 timeout = 300
9 on-timeout = loginctl lock-session
10}
11
12listener {
13 timeout = 600
14 on-timeout = hyprctl dispatch dpms off
15 on-resume = hyprctl dispatch dpms on
16}
diff --git a/users/ryan/linux/hypr/hyprland.conf b/users/ryan/linux/hypr/hyprland.conf
new file mode 100644
index 0000000..e51b54c
--- /dev/null
+++ b/users/ryan/linux/hypr/hyprland.conf
@@ -0,0 +1,336 @@
1exec-once = dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP=Hyprland
2
3#
4# Please note not all available settings / options are set here.
5# For a full list, see the wiki
6#
7
8# See https://wiki.hyprland.org/Configuring/Monitors/
9monitor=,preferred,auto,1
10
11# Cursor theme is set via home.pointerCursor in linux.nix (pkgs.bibata-cursors,
12# theme "Bibata-Modern-Classic"). The old vendored theme used
13# hyprcursor/daed9-versioned names that only existed in the manually-packaged
14# asset; nixpkgs' build uses the plain name below for both HYPRCURSOR_THEME
15# and XCURSOR_THEME.
16env = HYPRCURSOR_THEME,Bibata-Modern-Classic
17env = HYPRCURSOR_SIZE,24
18env = XCURSOR_THEME,Bibata-Modern-Classic
19env = XCURSOR_SIZE,24
20
21env = AQ_NO_MODIFIERS,1
22
23render {
24 expand_undersized_textures = false
25}
26
27ecosystem {
28 no_update_news = true
29}
30
31
32# See https://wiki.hyprland.org/Configuring/Keywords/ for more
33
34# Execute your favorite apps at launch
35# exec-once = waybar & hyprpaper & firefox
36
37# Source a file (multi-file configs)
38source = ~/.config/hypr/monitors.conf
39
40# Some default env vars.
41env = XCURSOR_SIZE,24
42
43debug {
44 disable_logs = false
45 enable_stdout_logs = true
46}
47
48# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
49input {
50 kb_layout = us
51 kb_variant =
52 kb_model =
53 kb_options =
54 kb_rules =
55 numlock_by_default = true
56
57 follow_mouse = 1
58
59 touchpad {
60 natural_scroll = no
61 middle_button_emulation = true
62 clickfinger_behavior = true
63 }
64
65 sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
66}
67
68general {
69 # See https://wiki.hyprland.org/Configuring/Variables/ for more
70
71 gaps_in = 5
72 gaps_out = 10
73 border_size = 2
74 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
75 col.inactive_border = rgba(595959aa)
76
77 layout = dwindle
78}
79
80decoration {
81 # See https://wiki.hyprland.org/Configuring/Variables/ for more
82
83 rounding = 5
84 blur {
85 enabled = yes
86 size = 3
87 passes = 1
88 new_optimizations = on
89 }
90
91 shadow {
92 enabled = true
93 range = 4
94 render_power = 3
95 color = rgba(1a1a1aee)
96 }
97}
98
99animations {
100 enabled = yes
101
102 # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
103
104 bezier = myBezier, 0.05, 0.9, 0.1, 1.05
105
106 animation = windows, 1, 7, myBezier
107 animation = windowsOut, 1, 7, default, popin 80%
108 animation = border, 1, 10, default
109 animation = borderangle, 1, 8, default
110 animation = fade, 1, 7, default
111 animation = workspaces, 1, 6, default
112}
113
114dwindle {
115 # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
116 pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
117 preserve_split = yes # you probably want this
118}
119
120#master {
121# # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
122# new_is_master = true
123#}
124
125# Example per-device config
126# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
127device {
128 name = epic-mouse-v1
129 sensitivity = -0.5
130}
131
132# Example windowrule v1
133# windowrule = float, ^(kitty)$
134# Example windowrule v2
135# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
136# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
137
138
139# See https://wiki.hyprland.org/Configuring/Keywords/ for more
140$mainMod = SUPER
141
142# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
143bind = $mainMod, Return, exec, foot
144bind = $mainMod CTRL, Return, exec, foot -a float-foot
145bind = $mainMod SHIFT, Q, killactive
146bind = $mainMod SHIFT, E, exit
147bind = $mainMod SHIFT, Space, togglefloating
148bind = $mainMod SHIFT, Return, pin, active
149bind = $mainMod, D, exec, fuzzel --width=35 --font='Hack:weight=bold:size=12' --background-color='282a36fa' --selection-color='3d4460fa' --line-height=20 --border-radius=20
150bind = $mainMod, P, pseudo, # dwindle
151bind = $mainMod, J, togglesplit, # dwindle
152bind = $mainMod, F, fullscreen, 1
153bind = $mainMod SHIFT, F, fullscreen
154bind = ,XF86MonBrightnessUp, exec, light -A 10
155bind = ,XF86MonBrightnessDown, exec, light -U 10
156bind = ,XF86AudioRaiseVolume, exec, pamixer -i 5
157bind = ,XF86AudioLowerVolume, exec, pamixer -d 5
158bind = ,XF86AudioMute, exec, pamixer -t
159bind = ,XF86AudioPlay, exec, playerctl play-pause
160bind = ,XF86AudioPause, exec, playerctl play-pause
161bind = ,XF86AudioNext, exec, playerctl next
162bind = ,XF86AudioPrev, exec, playerctl previous
163bind = ,XF86AudioStop, exec, playerctl stop
164
165# "Auto-connect headphones"
166bind = $mainMod, H, exec, bluetoothctl connect AC:80:0A:1C:D6:C7
167
168# Move workspace between monitors
169bind = $mainMod CTRL SHIFT, left, movecurrentworkspacetomonitor, l
170bind = $mainMod CTRL SHIFT, right, movecurrentworkspacetomonitor, r
171bind = $mainMod CTRL SHIFT, up, movecurrentworkspacetomonitor, u
172bind = $mainMod CTRL SHIFT, down, movecurrentworkspacetomonitor, d
173
174# Move focus with mainMod + arrow keys
175bind = $mainMod, left, movefocus, l
176bind = $mainMod, right, movefocus, r
177bind = $mainMod, up, movefocus, u
178bind = $mainMod, down, movefocus, d
179
180# Move window with mainMod + SHIFT + arrow keys
181bind = $mainMod SHIFT, left, movewindow, l
182bind = $mainMod SHIFT, right, movewindow, r
183bind = $mainMod SHIFT, up, movewindow, u
184bind = $mainMod SHIFT, down, movewindow, d
185
186# Switch workspaces with mainMod + [0-9]
187bind = $mainMod, 1, workspace, 1
188bind = $mainMod, 2, workspace, 2
189bind = $mainMod, 3, workspace, 3
190bind = $mainMod, 4, workspace, 4
191bind = $mainMod, 5, workspace, 5
192bind = $mainMod, 6, workspace, 6
193bind = $mainMod, 7, workspace, 7
194bind = $mainMod, 8, workspace, 8
195bind = $mainMod, 9, workspace, 9
196bind = $mainMod, 0, workspace, 10
197
198# Move active window to a workspace with mainMod + SHIFT + [0-9]
199bind = $mainMod SHIFT, 1, movetoworkspace, 1
200bind = $mainMod SHIFT, 2, movetoworkspace, 2
201bind = $mainMod SHIFT, 3, movetoworkspace, 3
202bind = $mainMod SHIFT, 4, movetoworkspace, 4
203bind = $mainMod SHIFT, 5, movetoworkspace, 5
204bind = $mainMod SHIFT, 6, movetoworkspace, 6
205bind = $mainMod SHIFT, 7, movetoworkspace, 7
206bind = $mainMod SHIFT, 8, movetoworkspace, 8
207bind = $mainMod SHIFT, 9, movetoworkspace, 9
208bind = $mainMod SHIFT, 0, movetoworkspace, 10
209
210# Scroll through existing workspaces with mainMod + scroll
211bind = $mainMod, mouse_down, workspace, e+1
212bind = $mainMod, mouse_up, workspace, e-1
213
214# Move/resize windows with mainMod + LMB/RMB and dragging
215bindm = $mainMod, mouse:272, movewindow
216bindm = $mainMod, mouse:273, resizewindow
217
218# Bind mainMod + L to screenlocker
219bind = $mainMod, L, exec, hyprlock
220bind = $mainMod SHIFT, L, exec, loginctl suspend
221
222# Keybind to toggle "performance mode" (toggles GPU intensive things)
223bind = $mainMod, F1, exec, ~/.config/hypr/scripts/perf_mode.sh
224
225bind = $mainMod SHIFT, Z, exec, pypr zoom
226
227# Keybind for screenshot (satty)
228bind = $mainMod SHIFT, S, exec, grimblast save output - | satty --fullscreen --copy-command 'wl-copy' --filename -
229bind = $mainMod, S, exec, grimblast copy area
230bind = $mainMod, Print, exec, export TEMP=$(mktemp) && grimblast copy area && wl-paste > $TEMP && imv $TEMP && rm $TEMP
231
232# Keybind for screenshot (old)
233# bind = $mainMod SHIFT, S, exec, grimblast copy area
234# bind = $mainMod SHIFT, Print, exec, grimblast edit area
235# bind = $mainMod, S, exec, imv <(grimblast save area -)
236
237# Keybind for screenshot (flameshot)
238#bind = $mainMod SHIFT, S, exec, flameshot gui --raw | wl-copy
239#bind = $mainMod SHIFT CTRL, S, exec, flameshot gui --raw -d $(( 1000 * $(fuzzel -l0 --dmenu -p"Delay> ") )) | wl-copy
240#bind = $mainMod, S, exec, flameshot gui
241
242# Notifications keybinds
243bind = $mainMod, N, exec, makoctl dismiss
244bind = $mainMod SHIFT, N, exec, makoctl dismiss -a
245
246# Color picker
247bind = $mainMod SHIFT, C, exec, hyprpicker -a
248
249# LinkedIn Joke (very serious)
250bind = $mainMod SHIFT CTRL ALT, L, exec, xdg-open https://linkedin.com
251
252# Window Rules
253
254# Firefox PiP
255windowrulev2 = float, class:^(zen-beta)$, title:^(Picture-in-Picture)$
256windowrulev2 = pin, class:^(zen-beta)$, title:^(Picture-in-Picture)$
257windowrulev2 = size 22% 22%, class:^(zen-beta)$, title:^(Picture-in-Picture)$
258windowrulev2 = move 76% 8%, class:^(zen-beta)$, title:^(Picture-in-Picture)$
259
260# Firefox Sharing Indicator
261windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
262windowrulev2 = size 56 31, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
263windowrulev2 = move 50% 0, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
264windowrulev2 = suppressevent fullscreen maximize, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$
265
266# Weather
267windowrulev2 = float,class:^(ala-wttr)$
268windowrulev2 = size 822 1026, class:^(ala-wttr)$
269
270# Floating terminal
271windowrulev2 = float,class:^(float-foot)$
272windowrulev2 = size 930 680,class:^(float-foot)$
273windowrulev2 = center,class:^(float-foot)$
274
275# Change color of pinned windows
276windowrulev2 = bordercolor rgba(bf0000ee) rgba(ab00adee) 45deg,pinned:1
277
278# Fun Keybinds
279# Subway surfer
280bind = $mainMod CTRL SHIFT, S, exec, mpv ~/.config/hypr/subwaysurfer.webm
281windowrulev2 = float,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$
282windowrulev2 = size 310 554,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$
283windowrulev2 = move 81% 46% ,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$
284windowrulev2 = pin,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$
285
286# Family guy funny moments
287bind = $mainMod CTRL SHIFT, F, exec, mpv ~/.config/hypr/family_guy.mp4
288windowrulev2 = float,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$
289windowrulev2 = size 595 336,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$
290windowrulev2 = move 67% 5% ,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$
291windowrulev2 = pin,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$
292
293# Satty windowrules
294windowrulev2 = fullscreen,class:^(com.gabm.satty)$
295
296exec-once = ~/.config/hypr/scripts/autostart.sh
297
298misc {
299 disable_hyprland_logo = true
300 force_default_wallpaper = 0
301}
302
303# Cursors!
304plugin:dynamic-cursors {
305 enabled = true
306 mode = tilt
307 threshold = 2
308 tilt {
309 limit = 5000
310 function = negative_quadratic
311 }
312
313 shake {
314 enabled = true
315 nearest = true
316 threshold = 6.0
317 base = 4.0
318 speed = 4.0
319 influence = 0.0
320
321 limit = 0.0
322
323 timeout = 2000
324
325 effects = true
326
327 ipc = false
328 }
329
330 hyprcursor {
331 nearest = true
332 enabled = true
333 resolution = -1
334 fallback = clientside
335 }
336}
diff --git a/users/ryan/linux/hypr/hyprlock.conf b/users/ryan/linux/hypr/hyprlock.conf
new file mode 100644
index 0000000..5c63fad
--- /dev/null
+++ b/users/ryan/linux/hypr/hyprlock.conf
@@ -0,0 +1,57 @@
1background {
2 monitor =
3 #path = /home/ryan/.config/hypr/Wallpapers/static/autumn1.png
4 path = screenshot
5
6 # all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
7 blur_passes = 2 # 0 disables blurring
8 blur_size = 7
9 noise = 0.2
10 contrast = 0.8916
11 brightness = 0.8172
12 vibrancy = 0.1696
13 vibrancy_darkness = 0.0
14}
15
16input-field {
17 monitor =
18 size = 200, 50
19 outline_thickness = 3
20 dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
21 dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
22 dots_center = false
23 dots_rounding = -1 # -1 default circle, -2 follow input-field rounding
24 outer_color = rgb(151515)
25 inner_color = rgb(200, 200, 200)
26 font_color = rgb(10, 10, 10)
27 fade_on_empty = true
28 fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
29 placeholder_text = <i>Input Password...</i> # Text rendered in the input box when it's empty.
30 hide_input = false
31 rounding = -1 # -1 means complete rounding (circle/oval)
32 check_color = rgb(204, 136, 34)
33 fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
34 fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
35 fail_timeout = 2000 # milliseconds before fail_text and fail_color disappears
36 fail_transition = 300 # transition time in ms between normal outer_color and fail_color
37 capslock_color = -1
38 numlock_color = -1
39 bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
40 invert_numlock = false # change color if numlock is off
41 swap_font_color = false # see below
42
43 position = 0, -20
44 halign = center
45 valign = center
46}
47
48label {
49 monitor =
50 text = cmd[update:1000] echo "$(date +"%-H:%M:%S")"
51 #color = rgba(255, 255, 255, 0.6)
52 font_size = 80
53 position = 0, 300
54 halign = center
55 valign = center
56 font_family = Lilex Nerd Font
57}
diff --git a/users/ryan/linux/hypr/kanshi.conf b/users/ryan/linux/hypr/kanshi.conf
new file mode 100644
index 0000000..52c3c0f
--- /dev/null
+++ b/users/ryan/linux/hypr/kanshi.conf
@@ -0,0 +1,22 @@
1profile {
2 output "AU Optronics 0x103D Unknown" enable
3}
4
5profile emilydesk {
6 output "AU Optronics 0x103D Unknown" disable
7 output "Dell Inc. DELL U2422H JN4SF83" position 0,0 mode 1920x1080
8 output "Dell Inc. DELL U2414H R9F1P5C59WDL" position 1920,0 mode 1920x1080
9 output "Dell Inc. DELL U2422H 5S9SF83" position 3840,0 mode 1920x1080
10}
11
12profile justindesk {
13 output "AU Optronics 0x103D Unknown" position 0,0 mode 1920x1080
14 output "Dell Inc. DELL U2417H XVNNT7CDC80L" position 1920,0 mode 1920x1080
15 output "Dell Inc. DELL U2417H XVNNT82M978L" position 3840,0 mode 1920x1080
16}
17
18profile homedesk {
19 output "AU Optronics 0x103D Unknown" disable
20 output "Samsung Electric Company C27F390 H1AK500000" position 0,0 mode 1920x1080
21 output "Samsung Electric Company S22R35x H4TNA01683" position 1920,0 mode 1920x1080
22}
diff --git a/users/ryan/linux/hypr/monitors.conf b/users/ryan/linux/hypr/monitors.conf
new file mode 100644
index 0000000..7b3b503
--- /dev/null
+++ b/users/ryan/linux/hypr/monitors.conf
@@ -0,0 +1,2 @@
1monitor=eDP-1,1920x1080, 0x0, 1
2monitor=HDMI-A-1,1920x1080, 1920x0, 1
diff --git a/users/ryan/linux/hypr/pyprland.toml b/users/ryan/linux/hypr/pyprland.toml
new file mode 100644
index 0000000..cd081fe
--- /dev/null
+++ b/users/ryan/linux/hypr/pyprland.toml
@@ -0,0 +1,5 @@
1[pyprland]
2plugins = ["magnify"]
3
4[magnify]
5factor = 2.5
diff --git a/users/ryan/linux/hypr/scripts/autostart.sh b/users/ryan/linux/hypr/scripts/autostart.sh
new file mode 100755
index 0000000..706f82f
--- /dev/null
+++ b/users/ryan/linux/hypr/scripts/autostart.sh
@@ -0,0 +1,40 @@
1#!/usr/bin/env bash
2
3waybar &
4
5mako &
6
7#swaybg -i ~/.config/hypr/Wallpapers/above-clouds.jpg &
8
9nice -n13 swww init &
10
11#~/.config/hypr/wallpaper-daemon.sh &
12wpaperd -d &
13
14pypr &
15
16#swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' &
17
18hypridle &
19
20syncthing serve --no-browser &
21
22# Kill any orphans of this
23killall wl-clip-persist
24wl-clip-persist -c regular --reconnect-tries 5 &
25
26kanshi -c ~/.config/hypr/kanshi.conf &
27
28# Start the portals
29
30sleep 0.5
31killall -e xdg-desktop-portal-hyprland
32killall xdg-desktop-portal-gtk
33killall xdk-desktop-portal
34
35~/.nix-profile/libexec/xdg-desktop-portal-hyprland &
36~/.nix-profile/libexec/xdg-desktop-portal-gtk &
37sleep 2
38XDG_DESKTOP_PORTAL_DIR="/home/ryan/.nix-profile/share/xdg-desktop-portal/portals" ~/.nix-profile/libexec/xdg-desktop-portal &
39
40#flameshot &
diff --git a/users/ryan/linux/hypr/scripts/perf_mode.sh b/users/ryan/linux/hypr/scripts/perf_mode.sh
new file mode 100755
index 0000000..c195688
--- /dev/null
+++ b/users/ryan/linux/hypr/scripts/perf_mode.sh
@@ -0,0 +1,14 @@
1#!/usr/bin/env bash
2HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
3if [ "$HYPRGAMEMODE" = 1 ] ; then
4 hyprctl --batch "\
5 keyword animations:enabled 0;\
6 keyword decoration:drop_shadow 0;\
7 keyword decoration:blur:enabled 0;\
8 keyword general:gaps_in 0;\
9 keyword general:gaps_out 0;\
10 keyword general:border_size 1;\
11 keyword decoration:rounding 0"
12 exit
13fi
14hyprctl reload
diff --git a/users/ryan/linux/hypr/subwaysurfer.webm b/users/ryan/linux/hypr/subwaysurfer.webm
new file mode 100644
index 0000000..594e1c0
--- /dev/null
+++ b/users/ryan/linux/hypr/subwaysurfer.webm
Binary files differ