diff options
| author | Ryan Schanzenbacher <ryan@rschanz.org> | 2026-08-03 01:22:44 -0400 |
|---|---|---|
| committer | Ryan Schanzenbacher <ryan@rschanz.org> | 2026-08-03 01:22:44 -0400 |
| commit | 0c8fa3a2a270747f3dbb54fe8792f3f0aec997e3 (patch) | |
| tree | 6f94ff3aeea2af859c7c166e01a8e73002017893 /users/ryan/linux/hypr | |
Initial commit: combined darwin + guix-linux home-manager flake
Supersedes nix-dotfiles (darwin) and guix-dotfiles' ad-hoc
nix-home-manager flake (linux). See README.md/MIGRATION.md.
Diffstat (limited to 'users/ryan/linux/hypr')
| -rw-r--r-- | users/ryan/linux/hypr/family_guy.mp4 | bin | 0 -> 20881473 bytes | |||
| -rw-r--r-- | users/ryan/linux/hypr/hypridle.conf | 16 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/hyprland.conf | 336 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/hyprlock.conf | 57 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/kanshi.conf | 22 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/monitors.conf | 2 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/pyprland.toml | 5 | ||||
| -rwxr-xr-x | users/ryan/linux/hypr/scripts/autostart.sh | 40 | ||||
| -rwxr-xr-x | users/ryan/linux/hypr/scripts/perf_mode.sh | 14 | ||||
| -rw-r--r-- | users/ryan/linux/hypr/subwaysurfer.webm | bin | 0 -> 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 @@ | |||
| 1 | general { | ||
| 2 | lock_cmd = pidof hyprlock || hyprlock | ||
| 3 | before_sleep_cmd = loginctl lock-session | ||
| 4 | after_sleep_cmd = hyprctl dispatch dpms on | ||
| 5 | } | ||
| 6 | |||
| 7 | listener { | ||
| 8 | timeout = 300 | ||
| 9 | on-timeout = loginctl lock-session | ||
| 10 | } | ||
| 11 | |||
| 12 | listener { | ||
| 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 @@ | |||
| 1 | exec-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/ | ||
| 9 | monitor=,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. | ||
| 16 | env = HYPRCURSOR_THEME,Bibata-Modern-Classic | ||
| 17 | env = HYPRCURSOR_SIZE,24 | ||
| 18 | env = XCURSOR_THEME,Bibata-Modern-Classic | ||
| 19 | env = XCURSOR_SIZE,24 | ||
| 20 | |||
| 21 | env = AQ_NO_MODIFIERS,1 | ||
| 22 | |||
| 23 | render { | ||
| 24 | expand_undersized_textures = false | ||
| 25 | } | ||
| 26 | |||
| 27 | ecosystem { | ||
| 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) | ||
| 38 | source = ~/.config/hypr/monitors.conf | ||
| 39 | |||
| 40 | # Some default env vars. | ||
| 41 | env = XCURSOR_SIZE,24 | ||
| 42 | |||
| 43 | debug { | ||
| 44 | disable_logs = false | ||
| 45 | enable_stdout_logs = true | ||
| 46 | } | ||
| 47 | |||
| 48 | # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ | ||
| 49 | input { | ||
| 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 | |||
| 68 | general { | ||
| 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 | |||
| 80 | decoration { | ||
| 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 | |||
| 99 | animations { | ||
| 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 | |||
| 114 | dwindle { | ||
| 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 | ||
| 127 | device { | ||
| 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 | ||
| 143 | bind = $mainMod, Return, exec, foot | ||
| 144 | bind = $mainMod CTRL, Return, exec, foot -a float-foot | ||
| 145 | bind = $mainMod SHIFT, Q, killactive | ||
| 146 | bind = $mainMod SHIFT, E, exit | ||
| 147 | bind = $mainMod SHIFT, Space, togglefloating | ||
| 148 | bind = $mainMod SHIFT, Return, pin, active | ||
| 149 | bind = $mainMod, D, exec, fuzzel --width=35 --font='Hack:weight=bold:size=12' --background-color='282a36fa' --selection-color='3d4460fa' --line-height=20 --border-radius=20 | ||
| 150 | bind = $mainMod, P, pseudo, # dwindle | ||
| 151 | bind = $mainMod, J, togglesplit, # dwindle | ||
| 152 | bind = $mainMod, F, fullscreen, 1 | ||
| 153 | bind = $mainMod SHIFT, F, fullscreen | ||
| 154 | bind = ,XF86MonBrightnessUp, exec, light -A 10 | ||
| 155 | bind = ,XF86MonBrightnessDown, exec, light -U 10 | ||
| 156 | bind = ,XF86AudioRaiseVolume, exec, pamixer -i 5 | ||
| 157 | bind = ,XF86AudioLowerVolume, exec, pamixer -d 5 | ||
| 158 | bind = ,XF86AudioMute, exec, pamixer -t | ||
| 159 | bind = ,XF86AudioPlay, exec, playerctl play-pause | ||
| 160 | bind = ,XF86AudioPause, exec, playerctl play-pause | ||
| 161 | bind = ,XF86AudioNext, exec, playerctl next | ||
| 162 | bind = ,XF86AudioPrev, exec, playerctl previous | ||
| 163 | bind = ,XF86AudioStop, exec, playerctl stop | ||
| 164 | |||
| 165 | # "Auto-connect headphones" | ||
| 166 | bind = $mainMod, H, exec, bluetoothctl connect AC:80:0A:1C:D6:C7 | ||
| 167 | |||
| 168 | # Move workspace between monitors | ||
| 169 | bind = $mainMod CTRL SHIFT, left, movecurrentworkspacetomonitor, l | ||
| 170 | bind = $mainMod CTRL SHIFT, right, movecurrentworkspacetomonitor, r | ||
| 171 | bind = $mainMod CTRL SHIFT, up, movecurrentworkspacetomonitor, u | ||
| 172 | bind = $mainMod CTRL SHIFT, down, movecurrentworkspacetomonitor, d | ||
| 173 | |||
| 174 | # Move focus with mainMod + arrow keys | ||
| 175 | bind = $mainMod, left, movefocus, l | ||
| 176 | bind = $mainMod, right, movefocus, r | ||
| 177 | bind = $mainMod, up, movefocus, u | ||
| 178 | bind = $mainMod, down, movefocus, d | ||
| 179 | |||
| 180 | # Move window with mainMod + SHIFT + arrow keys | ||
| 181 | bind = $mainMod SHIFT, left, movewindow, l | ||
| 182 | bind = $mainMod SHIFT, right, movewindow, r | ||
| 183 | bind = $mainMod SHIFT, up, movewindow, u | ||
| 184 | bind = $mainMod SHIFT, down, movewindow, d | ||
| 185 | |||
| 186 | # Switch workspaces with mainMod + [0-9] | ||
| 187 | bind = $mainMod, 1, workspace, 1 | ||
| 188 | bind = $mainMod, 2, workspace, 2 | ||
| 189 | bind = $mainMod, 3, workspace, 3 | ||
| 190 | bind = $mainMod, 4, workspace, 4 | ||
| 191 | bind = $mainMod, 5, workspace, 5 | ||
| 192 | bind = $mainMod, 6, workspace, 6 | ||
| 193 | bind = $mainMod, 7, workspace, 7 | ||
| 194 | bind = $mainMod, 8, workspace, 8 | ||
| 195 | bind = $mainMod, 9, workspace, 9 | ||
| 196 | bind = $mainMod, 0, workspace, 10 | ||
| 197 | |||
| 198 | # Move active window to a workspace with mainMod + SHIFT + [0-9] | ||
| 199 | bind = $mainMod SHIFT, 1, movetoworkspace, 1 | ||
| 200 | bind = $mainMod SHIFT, 2, movetoworkspace, 2 | ||
| 201 | bind = $mainMod SHIFT, 3, movetoworkspace, 3 | ||
| 202 | bind = $mainMod SHIFT, 4, movetoworkspace, 4 | ||
| 203 | bind = $mainMod SHIFT, 5, movetoworkspace, 5 | ||
| 204 | bind = $mainMod SHIFT, 6, movetoworkspace, 6 | ||
| 205 | bind = $mainMod SHIFT, 7, movetoworkspace, 7 | ||
| 206 | bind = $mainMod SHIFT, 8, movetoworkspace, 8 | ||
| 207 | bind = $mainMod SHIFT, 9, movetoworkspace, 9 | ||
| 208 | bind = $mainMod SHIFT, 0, movetoworkspace, 10 | ||
| 209 | |||
| 210 | # Scroll through existing workspaces with mainMod + scroll | ||
| 211 | bind = $mainMod, mouse_down, workspace, e+1 | ||
| 212 | bind = $mainMod, mouse_up, workspace, e-1 | ||
| 213 | |||
| 214 | # Move/resize windows with mainMod + LMB/RMB and dragging | ||
| 215 | bindm = $mainMod, mouse:272, movewindow | ||
| 216 | bindm = $mainMod, mouse:273, resizewindow | ||
| 217 | |||
| 218 | # Bind mainMod + L to screenlocker | ||
| 219 | bind = $mainMod, L, exec, hyprlock | ||
| 220 | bind = $mainMod SHIFT, L, exec, loginctl suspend | ||
| 221 | |||
| 222 | # Keybind to toggle "performance mode" (toggles GPU intensive things) | ||
| 223 | bind = $mainMod, F1, exec, ~/.config/hypr/scripts/perf_mode.sh | ||
| 224 | |||
| 225 | bind = $mainMod SHIFT, Z, exec, pypr zoom | ||
| 226 | |||
| 227 | # Keybind for screenshot (satty) | ||
| 228 | bind = $mainMod SHIFT, S, exec, grimblast save output - | satty --fullscreen --copy-command 'wl-copy' --filename - | ||
| 229 | bind = $mainMod, S, exec, grimblast copy area | ||
| 230 | bind = $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 | ||
| 243 | bind = $mainMod, N, exec, makoctl dismiss | ||
| 244 | bind = $mainMod SHIFT, N, exec, makoctl dismiss -a | ||
| 245 | |||
| 246 | # Color picker | ||
| 247 | bind = $mainMod SHIFT, C, exec, hyprpicker -a | ||
| 248 | |||
| 249 | # LinkedIn Joke (very serious) | ||
| 250 | bind = $mainMod SHIFT CTRL ALT, L, exec, xdg-open https://linkedin.com | ||
| 251 | |||
| 252 | # Window Rules | ||
| 253 | |||
| 254 | # Firefox PiP | ||
| 255 | windowrulev2 = float, class:^(zen-beta)$, title:^(Picture-in-Picture)$ | ||
| 256 | windowrulev2 = pin, class:^(zen-beta)$, title:^(Picture-in-Picture)$ | ||
| 257 | windowrulev2 = size 22% 22%, class:^(zen-beta)$, title:^(Picture-in-Picture)$ | ||
| 258 | windowrulev2 = move 76% 8%, class:^(zen-beta)$, title:^(Picture-in-Picture)$ | ||
| 259 | |||
| 260 | # Firefox Sharing Indicator | ||
| 261 | windowrulev2 = float, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ | ||
| 262 | windowrulev2 = size 56 31, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ | ||
| 263 | windowrulev2 = move 50% 0, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ | ||
| 264 | windowrulev2 = suppressevent fullscreen maximize, class:^(firefox)$, title:^(Firefox — Sharing Indicator)$ | ||
| 265 | |||
| 266 | # Weather | ||
| 267 | windowrulev2 = float,class:^(ala-wttr)$ | ||
| 268 | windowrulev2 = size 822 1026, class:^(ala-wttr)$ | ||
| 269 | |||
| 270 | # Floating terminal | ||
| 271 | windowrulev2 = float,class:^(float-foot)$ | ||
| 272 | windowrulev2 = size 930 680,class:^(float-foot)$ | ||
| 273 | windowrulev2 = center,class:^(float-foot)$ | ||
| 274 | |||
| 275 | # Change color of pinned windows | ||
| 276 | windowrulev2 = bordercolor rgba(bf0000ee) rgba(ab00adee) 45deg,pinned:1 | ||
| 277 | |||
| 278 | # Fun Keybinds | ||
| 279 | # Subway surfer | ||
| 280 | bind = $mainMod CTRL SHIFT, S, exec, mpv ~/.config/hypr/subwaysurfer.webm | ||
| 281 | windowrulev2 = float,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$ | ||
| 282 | windowrulev2 = size 310 554,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$ | ||
| 283 | windowrulev2 = move 81% 46% ,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$ | ||
| 284 | windowrulev2 = pin,class:^(mpv)$, title:^(subwaysurfer.webm - mpv)$ | ||
| 285 | |||
| 286 | # Family guy funny moments | ||
| 287 | bind = $mainMod CTRL SHIFT, F, exec, mpv ~/.config/hypr/family_guy.mp4 | ||
| 288 | windowrulev2 = float,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ | ||
| 289 | windowrulev2 = size 595 336,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ | ||
| 290 | windowrulev2 = move 67% 5% ,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ | ||
| 291 | windowrulev2 = pin,class:^(mpv)$, title:^(family_guy.mp4 - mpv)$ | ||
| 292 | |||
| 293 | # Satty windowrules | ||
| 294 | windowrulev2 = fullscreen,class:^(com.gabm.satty)$ | ||
| 295 | |||
| 296 | exec-once = ~/.config/hypr/scripts/autostart.sh | ||
| 297 | |||
| 298 | misc { | ||
| 299 | disable_hyprland_logo = true | ||
| 300 | force_default_wallpaper = 0 | ||
| 301 | } | ||
| 302 | |||
| 303 | # Cursors! | ||
| 304 | plugin: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 @@ | |||
| 1 | background { | ||
| 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 | |||
| 16 | input-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 | |||
| 48 | label { | ||
| 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 @@ | |||
| 1 | profile { | ||
| 2 | output "AU Optronics 0x103D Unknown" enable | ||
| 3 | } | ||
| 4 | |||
| 5 | profile 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 | |||
| 12 | profile 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 | |||
| 18 | profile 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 @@ | |||
| 1 | monitor=eDP-1,1920x1080, 0x0, 1 | ||
| 2 | monitor=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] | ||
| 2 | plugins = ["magnify"] | ||
| 3 | |||
| 4 | [magnify] | ||
| 5 | factor = 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 | |||
| 3 | waybar & | ||
| 4 | |||
| 5 | mako & | ||
| 6 | |||
| 7 | #swaybg -i ~/.config/hypr/Wallpapers/above-clouds.jpg & | ||
| 8 | |||
| 9 | nice -n13 swww init & | ||
| 10 | |||
| 11 | #~/.config/hypr/wallpaper-daemon.sh & | ||
| 12 | wpaperd -d & | ||
| 13 | |||
| 14 | pypr & | ||
| 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 | |||
| 18 | hypridle & | ||
| 19 | |||
| 20 | syncthing serve --no-browser & | ||
| 21 | |||
| 22 | # Kill any orphans of this | ||
| 23 | killall wl-clip-persist | ||
| 24 | wl-clip-persist -c regular --reconnect-tries 5 & | ||
| 25 | |||
| 26 | kanshi -c ~/.config/hypr/kanshi.conf & | ||
| 27 | |||
| 28 | # Start the portals | ||
| 29 | |||
| 30 | sleep 0.5 | ||
| 31 | killall -e xdg-desktop-portal-hyprland | ||
| 32 | killall xdg-desktop-portal-gtk | ||
| 33 | killall xdk-desktop-portal | ||
| 34 | |||
| 35 | ~/.nix-profile/libexec/xdg-desktop-portal-hyprland & | ||
| 36 | ~/.nix-profile/libexec/xdg-desktop-portal-gtk & | ||
| 37 | sleep 2 | ||
| 38 | XDG_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 | ||
| 2 | HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}') | ||
| 3 | if [ "$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 | ||
| 13 | fi | ||
| 14 | hyprctl 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 | |||
