diff options
Diffstat (limited to '.config/hypr/source')
| -rw-r--r-- | .config/hypr/source/appearance.conf | 80 | ||||
| -rw-r--r-- | .config/hypr/source/environment_variables.conf | 22 | ||||
| -rw-r--r-- | .config/hypr/source/input.conf | 27 | ||||
| -rw-r--r-- | .config/hypr/source/keybinds.conf | 117 | ||||
| -rw-r--r-- | .config/hypr/source/permissions.conf | 12 |
5 files changed, 258 insertions, 0 deletions
diff --git a/.config/hypr/source/appearance.conf b/.config/hypr/source/appearance.conf new file mode 100644 index 0000000..3709198 --- /dev/null +++ b/.config/hypr/source/appearance.conf @@ -0,0 +1,80 @@ +general { + gaps_in = 2 + gaps_out = 2 + border_size = 2 + resize_on_border = false + allow_tearing = false + # col.active_border = $color14 $color0 $color0 $color14 45deg + col.active_border = $color14 $color14 $color14 $color14 45deg + col.inactive_border = $color0 $color0 $color0 $color0 45deg + layout = master +} + +decoration { + # rounding = 8 + + + blur { + enabled = false + size = 3 + passes = 1 + } + + + # blur { + # enabled = true + # size = 3 + # passes = 3 + # new_optimizations = true + # vibrancy = 0.1696 + # ignore_opacity = true + # } +} + +animations { + enabled = false + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 2, myBezier + animation = windowsOut, 1, 2, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 1, default +} + +# Ref https://wiki.hypr.land/Configuring/Workspace-Rules/ +# "Smart gaps" / "No gaps when only" +# uncomment all if you wish to use that. +# workspace = w[tv1], gapsout:0, gapsin:0 +# workspace = f[1], gapsout:0, gapsin:0 +# windowrule = bordersize 0, floating:0, onworkspace:w[tv1] +# windowrule = rounding 0, floating:0, onworkspace:w[tv1] +# windowrule = bordersize 0, floating:0, onworkspace:f[1] +# windowrule = rounding 0, floating:0, onworkspace:f[1] + +# See https://wiki.hypr.land/Configuring/Dwindle-Layout/ for more +dwindle { + pseudotile = true# Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +# See https://wiki.hypr.land/Configuring/Master-Layout/ for more +master { + new_status = master + new_on_top = true + +} + +# https://wiki.hypr.land/Configuring/Variables/#misc +misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = true# If true disables the random hyprland logo / anime girl background. :( + disable_splash_rendering = true + + mouse_move_enables_dpms = true + key_press_enables_dpms = true + + vrr = 0 # Disable adaptive sync +} + + diff --git a/.config/hypr/source/environment_variables.conf b/.config/hypr/source/environment_variables.conf new file mode 100644 index 0000000..3c89ba7 --- /dev/null +++ b/.config/hypr/source/environment_variables.conf @@ -0,0 +1,22 @@ +# See https://wiki.hypr.land/Configuring/Environment-variables/ +env = HYPRSHOT_DIR,/home/krolyxon/pix/ss/ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 +# env = GTK_THEME,Tokyonight-Dark + +# XDG Specifications +env = XDG_CURRENT_DESKTOP,Hyprland +env = XDG_SESSION_TYPE,wayland +env = XDG_SESSION_DESKTOP,Hyprland + +# Toolkit +env = GDK_BACKEND,wayland,x11,* # GTK: Use Wayland if available; if not, try X11 and then any other GDK backend. +env = QT_QPA_PLATFORM,wayland;xcb # Qt: Use Wayland if available, fall back to X11 if not +env = SDL_VIDEODRIVER,Wayland # Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues +env = CLUTTER_BACKEND,wayland # Clutter applications to try and use the Wayland backend + +# Nvidia +# env = GBM_BACKEND,nvidia-drm +# env = __GLX_VENDOR_LIBRARY_NAME,nvidia +# env = LIBVA_DRIVER_NAME,nvidia + diff --git a/.config/hypr/source/input.conf b/.config/hypr/source/input.conf new file mode 100644 index 0000000..3febb3e --- /dev/null +++ b/.config/hypr/source/input.conf @@ -0,0 +1,27 @@ +# https://wiki.hypr.land/Configuring/Variables/#input +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = false + } + + repeat_delay = 300 + repeat_rate = 50 +} + +# Example per-device config +# See https://wiki.hypr.land/Configuring/Keywords/#per-device-input-configs for more +device { + name = epic-mouse-v1 + sensitivity = -0.5 +} + diff --git a/.config/hypr/source/keybinds.conf b/.config/hypr/source/keybinds.conf new file mode 100644 index 0000000..bc561e9 --- /dev/null +++ b/.config/hypr/source/keybinds.conf @@ -0,0 +1,117 @@ +################### +### KEYBINDINGS ### +################### + +# See https://wiki.hypr.land/Configuring/Keywords/ +$mainMod = SUPER # Sets "Windows" key as main modifier + +# Example binds, see https://wiki.hypr.land/Configuring/Binds/ for more +bind = $mainMod, Return, exec, $terminal +bind = $mainMod SHIFT, X, killactive, +bind = $mainMod SHIFT, Q, exit, +bind = $mainMod, F, Fullscreen +bind = $mainMod SHIFT, F, Fullscreen, 1 +# bind = $mainMod SHIFT, R, togglefloating, +# Smart Float: Toggle float -> Resize to 90% -> Center +bind = $mainMod SHIFT, R, exec, if hyprctl -j activewindow | jq -e '.floating | not'; then hyprctl --batch "dispatch togglefloating; dispatch resizeactive exact 90% 90%; dispatch centerwindow"; else hyprctl dispatch togglefloating; fi +bind = $mainMod, R, exec, $menu +bind = $mainMod SHIFT, P, pseudo, # dwindle +bind = $mainMod, J, togglesplit, # dwindle +binde = $mainMod, tab, cyclenext, prev +bind = $mainMod, b, exec, killall waybar || waybar +bind = $mainMod, grave, exec, fuzzelunicode +bind = $mainMod, escape, exec, sysact + +# Applications +bind = $mainMod, W, exec, $browser +bind = $mainMod SHIFT, p, exec, $passwordmanager -C +bind = ,PRINT, exec, screenshot + +# Music Controls +bind = $mainMod, m, exec, $terminal -e zsh -i -c "ncmpcpp" +bind = $mainMod, p, exec, mpc toggle +binde = $mainMod, period, exec, mpc seek +10 +binde = $mainMod, comma, exec, mpc seek -10 +bind = $mainMod SHIFT, period, exec, mpc next +bind = $mainMod SHIFT, comma, exec, mpc prev + +# Swap current focused window with master +bind = $mainMod, space, layoutmsg, swapwithmaster + +# Resize windows with h/j/k/l +binde = $mainMod, h, resizeactive, -30 0 +binde = $mainMod, l, resizeactive, 30 0 +binde = $mainMod, k, resizeactive, 0 -30 +binde = $mainMod, j, resizeactive, 0 30 + +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, split-workspace, 1 +bind = $mainMod, 2, split-workspace, 2 +bind = $mainMod, 3, split-workspace, 3 +bind = $mainMod, 4, split-workspace, 4 +bind = $mainMod, 5, split-workspace, 5 +bind = $mainMod, 6, split-workspace, 6 +bind = $mainMod, 7, split-workspace, 7 +bind = $mainMod, 8, split-workspace, 8 +bind = $mainMod, 9, split-workspace, 9 +bind = $mainMod, 0, split-workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 +bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6 +bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7 +bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8 +bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9 +bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10 + +# Example special workspace (scratchpad) +bind = $mainMod, S, togglespecialworkspace, magic +bind = $mainMod SHIFT, S, movetoworkspace, special:magic + +# Have scratchpad like DWM +workspace = special:h, on-created-empty: $terminal +bind = $mainMod SHIFT, Return, togglespecialworkspace, h + +# --- Screen Rotate --- +bindld = CTRL ALT, R, Rotate Screen Clockwise, exec, hypr_screen_rotate.sh -90 +bindld = CTRL ALT SHIFT, R, Rotate Screen Anti-Clockwise, exec, hypr_screen_rotate.sh +90 + +# --- Accessibility: Zoom --- +cursor:zoom_disable_aa = true + +# Zoom In +binded = SUPER SHIFT, equal, Zoom In, exec, sh -c "hyprctl keyword cursor:zoom_factor \"$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {print $2 * 1.25}')\"" + +# Zoom Out +binded = SUPER SHIFT, minus, Zoom Out, exec, sh -c "hyprctl keyword cursor:zoom_factor \"$(hyprctl getoption cursor:zoom_factor | awk 'NR==1 {val = $2 / 1.25; if (val < 1.0) val = 1.0; print val}')\"" + +# Reset Zoom +bindld = SUPER SHIFT, BACKSPACE, Reset Zoom, exec, hyprctl keyword cursor:zoom_factor 1.0 + +# Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = , XF86MonBrightnessDown, exec, ~/.local/bin/brictl - +bindel = , XF86MonBrightnessUp, exec, ~/.local/bin/brictl + + + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + diff --git a/.config/hypr/source/permissions.conf b/.config/hypr/source/permissions.conf new file mode 100644 index 0000000..9de32d7 --- /dev/null +++ b/.config/hypr/source/permissions.conf @@ -0,0 +1,12 @@ +ecosystem { + enforce_permissions = 1 +} + +permission = /usr/(bin|local/bin)/grim, screencopy, allow +permission = /usr/(bin|local/bin)/hyprlock, screencopy, allow +permission = /usr/(bin|local/bin)/hyprpicker , screencopy, allow +permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +permission = /usr/(bin|local/bin)/hyprpm, plugin, allow +permission = ${lib.escapeRegex (lib.getExe config.programs.hyprlock.package)}, screencopy, allow + + |
