Add hyprland and kitty config
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
nvim/lazylock.json
|
||||
nvim/lazy-lock.json
|
||||
hypr/hardware.conf
|
||||
|
||||
96
hypr/hyprbinds.conf
Normal file
96
hypr/hyprbinds.conf
Normal file
@@ -0,0 +1,96 @@
|
||||
# Window management
|
||||
bind = SUPER_L, Q, killactive,
|
||||
bind = SUPER_L, M, togglefloating,
|
||||
bind = SUPER_L, M, centerwindow
|
||||
bindr = SUPER, SUPER_L, exec, ~/.config/scripts/wofi-launch.sh
|
||||
bind = SUPER_L, B, togglesplit
|
||||
|
||||
# Screen locking
|
||||
bindl = SUPER_L, ESCAPE, exec, ~/.config/scripts/lock.sh
|
||||
bind = , XF86Go, exec, ~/.config/scripts/idle-toggle.sh
|
||||
bindl= ,switch:on:Lid Switch, exec, pgrep hyprlock || hyprlock & systemctl suspend
|
||||
|
||||
$select = winsel
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = SUPER_L, A, exec, $select 0
|
||||
bind = SUPER_L, O, exec, $select 1
|
||||
bind = SUPER_L, E, exec, $select 2
|
||||
bind = SUPER_L, U, exec, $select 3
|
||||
|
||||
# Move windows around with mainMod + arrow keys
|
||||
bind = SUPER_L, H, movewindow, l
|
||||
bind = SUPER_L, T, movewindow, u
|
||||
bind = SUPER_L, N, movewindow, d
|
||||
bind = SUPER_L, S, movewindow, r
|
||||
|
||||
# Navigate multiple monitors
|
||||
bind = SUPER_L, PERIOD, focusmonitor, -1
|
||||
bind = SUPER_L, P, movecurrentworkspacetomonitor, -1
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = SUPER_L, 1, workspace, 1
|
||||
bind = SUPER_L, 2, workspace, 2
|
||||
bind = SUPER_L, 3, workspace, 3
|
||||
bind = SUPER_L, 4, workspace, 4
|
||||
bind = SUPER_L, 5, workspace, 5
|
||||
bind = SUPER_L, 6, workspace, 6
|
||||
bind = SUPER_L, 7, workspace, 7
|
||||
bind = SUPER_L, 8, workspace, 8
|
||||
bind = SUPER_L, 9, workspace, 9
|
||||
bind = SUPER_L, 0, exec, hyprctl activewindow | workspace0
|
||||
bind = SUPER, apostrophe, hyprexpo:expo, toggle
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = SUPER_L SHIFT, 1, movetoworkspace, 1
|
||||
bind = SUPER_L SHIFT, 2, movetoworkspace, 2
|
||||
bind = SUPER_L SHIFT, 3, movetoworkspace, 3
|
||||
bind = SUPER_L SHIFT, 4, movetoworkspace, 4
|
||||
bind = SUPER_L SHIFT, 5, movetoworkspace, 5
|
||||
bind = SUPER_L SHIFT, 6, movetoworkspace, 6
|
||||
bind = SUPER_L SHIFT, 7, movetoworkspace, 7
|
||||
bind = SUPER_L SHIFT, 8, movetoworkspace, 8
|
||||
bind = SUPER_L SHIFT, 9, movetoworkspace, 9
|
||||
bind = SUPER_L SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Manage special workspace (scratchpad)
|
||||
bind = SUPER_L, V, togglespecialworkspace
|
||||
bind = SUPER_L, Z, movetoworkspacesilent, special
|
||||
bind = SUPER_L, W, movewindow, mon:current
|
||||
|
||||
# Move/resize windows
|
||||
bindm = SUPER_L, mouse:272, movewindow
|
||||
bindm = SUPER_L, mouse:273, resizewindow
|
||||
bind = SUPER_L, SPACE, fullscreen
|
||||
|
||||
# Resize windows with super + arrow keys
|
||||
bind = SUPER_L ALT, h, resizeactive, -50 0
|
||||
bind = SUPER_L ALT, t, resizeactive, 0 -50
|
||||
bind = SUPER_L ALT, n, resizeactive, 0 50
|
||||
bind = SUPER_L ALT, s, resizeactive, 50 0
|
||||
|
||||
# Open favourites
|
||||
bind = SUPER_L, G, exec, zen-browser
|
||||
bind = SUPER_L, C, exec, spotify-launcher
|
||||
bind = SUPER_L, R, exec, secrets
|
||||
bind = SUPER_L, L, exec, kitty
|
||||
|
||||
# Adjust brightness
|
||||
bindle = , XF86MonBrightnessUp, exec, brillo -A 8% -q -u 500000
|
||||
bindle = , XF86MonBrightnessDown, exec, brillo -U 8% -q -u 500000
|
||||
bindle = SHIFT, XF86MonBrightnessDown, exec, brillo -S 0% -q -u 1000000
|
||||
bind = , Cancel, exec, ~/.config/scripts/sunset-toggle.sh
|
||||
|
||||
# Adjust volume and media
|
||||
bindle = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||
bindle = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||
bind = , XF86AudioMicMute, exec, playerctl next
|
||||
bind = , XF86AudioMute, exec, playerctl play-pause
|
||||
|
||||
# Screen capturing
|
||||
bind = SUPER_L, COMMA, exec, pgrep slurp || hyprshot -o ~/Pictures/Screenshots -z -s -m region
|
||||
bind = SUPER_L ALT, COMMA, exec, pgrep slurp || hyprshot -o ~/Pictures/Screenshots -z -s -m window
|
||||
bind = SUPER_L SHIFT, COMMA, exec, pgrep slurp || hyprshot -o ~/Pictures/Screenshots -z -s -m active -m output
|
||||
bind = SUPER_L, SEMICOLON, exec, ~/.config/scripts/zoom.sh
|
||||
bind = , XF86Display, exec, ~/.config/scripts/vnc-toggle.sh
|
||||
bind = SHIFT, XF86Display, exec, killall gjs && ags run
|
||||
3
hypr/hyprcolors.conf
Normal file
3
hypr/hyprcolors.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
$primary = rgba(D89FD6ff)
|
||||
$primary_container = rgba(4E2A79ff)
|
||||
$background = rgba(090012ff)
|
||||
8
hypr/hypridle.conf
Normal file
8
hypr/hypridle.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
listener {
|
||||
timeout = 100
|
||||
on-timeout = notify-send -a 'Hummingbird' 'Hypridle' 'Suspending in 5 seconds...' -i gnome-suspend -t 1
|
||||
}
|
||||
listener {
|
||||
timeout = 105
|
||||
on-timeout = ~/.config/scripts/lock.sh
|
||||
}
|
||||
181
hypr/hyprland.conf
Normal file
181
hypr/hyprland.conf
Normal file
@@ -0,0 +1,181 @@
|
||||
source = ~/.config/hypr/hardware.conf
|
||||
source = ~/.config/hypr/monitors.conf
|
||||
source = ~/.config/hypr/hyprcolors.conf
|
||||
monitor = , preferred, auto, 1.0
|
||||
monitor = , addreserved, 36, 0, 0, 0
|
||||
|
||||
# Run stuff on launch
|
||||
env = PATH, $PATH:$HOME/.local/bin:$HOME/.cargo/bin
|
||||
exec-once = hyprlock
|
||||
exec-once = hypridle
|
||||
exec-once = nextcloud
|
||||
exec-once = /lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec-once = keyd-application-mapper -d
|
||||
exec-once = ags run
|
||||
exec-once = hyprpm reload
|
||||
exec-once = tradjust
|
||||
exec-once = swww-daemon
|
||||
|
||||
# Theming with envvars for some reason
|
||||
env = XCURSOR_SIZE, 22
|
||||
env = XCURSOR_THEME, GoogleDot-Black
|
||||
env = HYPRCURSOR_SIZE, 22
|
||||
env = HYPRCURSOR_THEME, GoogleDot-Hypr
|
||||
|
||||
envd = GTK_THEME, catppuccin-mocha-blue-standard+default
|
||||
env = GTK_ICON_THEME, BeautyLine
|
||||
|
||||
envd = QT_QUICK_CONTROLS_STYLE=org.hyprland.style
|
||||
envd = QT_QPA_PLATFORMTHEME,qt6ct
|
||||
# envd = QT_STYLE_OVERRIDE,kvantum
|
||||
env = QT_QPA_PLATFORM,wayland;xcb
|
||||
|
||||
env = FREETYPE_PROPERTIES,cff:no-stem-darkening=0 autofitter:no-stem-darkening=0
|
||||
|
||||
# Mouse and keyboard settings
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant = dvorak
|
||||
repeat_delay = 600
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
}
|
||||
|
||||
# Disable the trackpad in favour of thinkpad nub
|
||||
|
||||
general {
|
||||
gaps_in = 3
|
||||
gaps_out = 6
|
||||
col.active_border = $primary
|
||||
col.inactive_border = $primary_container
|
||||
border_size = 2
|
||||
|
||||
layout = dwindle
|
||||
no_focus_fallback = true
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 10
|
||||
# active_opacity = 0.9
|
||||
# inactive_opacity = 0.92
|
||||
# fullscreen_opacity = 1.0
|
||||
blur {
|
||||
enabled = true
|
||||
size = 6
|
||||
passes = 3
|
||||
new_optimizations = true
|
||||
ignore_opacity = true
|
||||
special = true
|
||||
brightness = 1
|
||||
xray = false;
|
||||
}
|
||||
}
|
||||
|
||||
workspace = special:special, gapsin:32, gapsout:64
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
bezier = default , 0.16, 1 , 0.30, 1
|
||||
bezier = easeOut , 0.22, 1 , 0.36, 1
|
||||
bezier = easeIn , 0.64, 0 , 0.78, 0
|
||||
|
||||
animation = fadeIn , 1, 4, default
|
||||
animation = fadeOut , 1, 3, default
|
||||
animation = windowsIn , 1, 4, default, popin 85%
|
||||
animation = windowsOut , 1, 4, default, popin 85%
|
||||
animation = windowsMove , 1, 3, easeOut
|
||||
animation = border , 1, 5, default
|
||||
animation = layersIn , 1, 3, easeOut, slide
|
||||
animation = layersOut , 1, 2, easeIn, slide
|
||||
animation = fadeLayersIn , 1, 3, easeOut
|
||||
animation = fadeLayersOut , 1, 2, easeIn
|
||||
animation = workspaces , 1, 3, easeOut, slide
|
||||
animation = specialWorkspace , 1, 4, default, slidevert
|
||||
animation = zoomFactor , 1, 3, default
|
||||
}
|
||||
|
||||
|
||||
|
||||
dwindle {
|
||||
preserve_split = true
|
||||
smart_split = false
|
||||
use_active_for_splits = true
|
||||
force_split = 2
|
||||
}
|
||||
|
||||
plugin {
|
||||
hyprexpo {
|
||||
columns = 3
|
||||
gap_size = 5
|
||||
bg_col = rgb(111111)
|
||||
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
|
||||
|
||||
enable_gesture = true # laptop touchpad
|
||||
gesture_fingers = 3 # 3 or 4
|
||||
gesture_distance = 300 # how far is the "max"
|
||||
gesture_positive = true # positive = swipe down. Negative = swipe up.
|
||||
}
|
||||
#dynamic-cursors {
|
||||
# enabled = true
|
||||
# mode = stretch
|
||||
# stretch {
|
||||
# limit = 3000
|
||||
# function = linear
|
||||
# }
|
||||
#}
|
||||
}
|
||||
|
||||
# Smart gaps
|
||||
workspace = w[tv1] s[false], gapsout:0, gapsin:0
|
||||
workspace = s[true], gapsout:64, gapsin:32
|
||||
windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1] s[false]
|
||||
|
||||
# The bell doesn't fullscreen you, I do.
|
||||
windowrulev2 = suppressevent fullscreen, class:.*
|
||||
|
||||
# Misc window rules
|
||||
windowrulev2 = float, title:(Write:)
|
||||
windowrulev2 = float, class:(xdg-desktop-portal-gtk)
|
||||
windowrulev2 = noblur, title:(File Upload)
|
||||
windowrulev2 = noblur, title:(Open File)
|
||||
windowrulev2 = float, center, class:(eog)
|
||||
windowrulev2 = fullscreen, class:steam_app*
|
||||
|
||||
# Misc layer rules
|
||||
layerrule = animation slide, .*bar.*
|
||||
layerrule = blur, logout_dialog
|
||||
layerrule = animation fade, logout_dialog
|
||||
layerrule = animation fade, selection
|
||||
layerrule = animation fade, hyprpicker
|
||||
|
||||
layerrule = animation popin 40%, lazerpopup
|
||||
layerrule = noanim, notification
|
||||
layerrule = dimaround, notifpanel
|
||||
layerrule = order 1, bar
|
||||
layerrule = order 2, lazerpopup
|
||||
layerrule = order 3, notifpanel
|
||||
layerrule = order 4, notification
|
||||
|
||||
source = ~/.config/hypr/hyprbinds.conf
|
||||
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
animate_manual_resizes = true
|
||||
disable_splash_rendering = false
|
||||
new_window_takes_over_fullscreen = 2
|
||||
key_press_enables_dpms = true
|
||||
focus_on_activate = true
|
||||
session_lock_xray = true
|
||||
animate_manual_resizes = true
|
||||
}
|
||||
|
||||
cursor {
|
||||
persistent_warps = true
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
105
hypr/hyprlock.conf
Normal file
105
hypr/hyprlock.conf
Normal file
@@ -0,0 +1,105 @@
|
||||
source = ~/.config/hypr/hyprcolors.conf
|
||||
|
||||
general {
|
||||
hide_cursor = true
|
||||
immediate_render = true
|
||||
}
|
||||
|
||||
auth {
|
||||
pam {
|
||||
enabled = true
|
||||
}
|
||||
fingerprint {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
bezier = default, 0.16, 1, 0.30, 1
|
||||
|
||||
animation = fadeIn, 1, 5, default
|
||||
animation = fadeOut, 1, 3, default
|
||||
animation = inputField, 1, 3, default
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
color = rgba(181825aa)
|
||||
blur_strength = 10
|
||||
blur_passes = 3
|
||||
brightness = 0.8
|
||||
contrast = 0.8
|
||||
}
|
||||
|
||||
shape {
|
||||
monitor = eDP-1
|
||||
size = 350, 200
|
||||
color = $background
|
||||
border_color = $primary
|
||||
border_size = 4
|
||||
rounding = 20
|
||||
|
||||
halign = center
|
||||
valign = center
|
||||
position = 0, 0
|
||||
|
||||
shadow_color = rgb(000000)
|
||||
shadow_size = 2
|
||||
shadow_passes = 4
|
||||
shadow_boost = 0.6
|
||||
}
|
||||
|
||||
image {
|
||||
path = ~/.face
|
||||
|
||||
monitor = eDP-1
|
||||
size = 100
|
||||
border_color = $primary
|
||||
border_size = 4
|
||||
rounding = -1
|
||||
|
||||
halign = center
|
||||
valign = center
|
||||
position = 0, 100
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor = eDP-1
|
||||
size = 310, 50
|
||||
outline_thickness = 4
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.2
|
||||
dots_center = true
|
||||
inner_color = rgb(1e1e2e)
|
||||
outer_color = rgb(313244)
|
||||
font_color = rgb(cdd6f4)
|
||||
font_size = 16
|
||||
hide_input = false
|
||||
rounding = 8
|
||||
check_color = rgb(f9e2af)
|
||||
fail_color = rgb(f38ba8)
|
||||
fail_text = Do better.
|
||||
fail_timeout = 1000
|
||||
fail_transition = 200
|
||||
fade_on_empty = false
|
||||
font_family = sriracha
|
||||
placeholder_text =
|
||||
|
||||
position = 0, -50
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor = eDP-1
|
||||
text = o shit waddup!
|
||||
text_align = center
|
||||
color = rgb(cdd6f4)
|
||||
font_size = 24
|
||||
font_family = sriracha
|
||||
|
||||
position = 0, 15
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
2
hypr/hyprpaper.conf
Normal file
2
hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
preload=~/Pictures/Wallpapers/scarletTree.png
|
||||
wallpaper = , ~/Pictures/Wallpapers/scarletTree.png
|
||||
4
hypr/monitors.conf
Normal file
4
hypr/monitors.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
# Generated by nwg-displays on 2025-07-22 at 15:25:56. Do not edit manually.
|
||||
|
||||
monitor=eDP-1,1920x1200@60.0,0x1120,1.0
|
||||
monitor=HDMI-A-1,1920x1080@60.0,0x0,1.0
|
||||
28
kitty/colors.conf
Normal file
28
kitty/colors.conf
Normal file
@@ -0,0 +1,28 @@
|
||||
# foreground #F7E0D7
|
||||
background #090012
|
||||
#
|
||||
# active_tab_foreground #090012
|
||||
# active_tab_background #F7E0D7
|
||||
# inactive_tab_foreground #F7E0D7
|
||||
# inactive_tab_background #090012
|
||||
#
|
||||
# active_border_color #F7E0D7
|
||||
# inactive_border_color #090012
|
||||
# bell_border_color #4E2A79
|
||||
#
|
||||
# color0 #090012
|
||||
# color8 #A48E84
|
||||
# color1 #4E2A79
|
||||
# color9 #4E2A79
|
||||
# color2 #8E223D
|
||||
# color10 #8E223D
|
||||
# color3 #9661BB
|
||||
# color11 #9661BB
|
||||
# color4 #CC6268
|
||||
# color12 #CC6268
|
||||
# color5 #D89FD6
|
||||
# color13 #D89FD6
|
||||
# color6 #E7A78C
|
||||
# color14 #E7A78C
|
||||
# color7 #EBCBBD
|
||||
# color15 #EBCBBD
|
||||
15
kitty/kitty.conf
Normal file
15
kitty/kitty.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
include colors.conf
|
||||
|
||||
background_opacity 0.75
|
||||
|
||||
font_family ComicShannsMono Nerd Font
|
||||
font_size 16
|
||||
|
||||
cursor #cdf
|
||||
cursor_trail 1
|
||||
cursor_trail_start_threshold 0
|
||||
cursor_trail_decay 0 0.3
|
||||
window_padding_width 4
|
||||
|
||||
confirm_os_window_close 0
|
||||
enable_audio_bell no
|
||||
@@ -1,16 +1,16 @@
|
||||
require('config.lazy')
|
||||
|
||||
vim.lsp.enable({
|
||||
rust_analyzer,
|
||||
jdtls,
|
||||
qmlls,
|
||||
clangd,
|
||||
csharp_ls,
|
||||
lua_ls,
|
||||
html,
|
||||
ts_ls,
|
||||
css_ls,
|
||||
tinymist,
|
||||
"rust_analyzer",
|
||||
"jdtls",
|
||||
"qmlls",
|
||||
"clangd",
|
||||
"csharp_ls",
|
||||
"lua_ls",
|
||||
"html",
|
||||
"ts_ls",
|
||||
"css_ls",
|
||||
"tinymist"
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user