Initial config
This commit is contained in:
commit
6d08adb120
44 changed files with 4575 additions and 0 deletions
2
.chezmoiignore
Normal file
2
.chezmoiignore
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
.config/zsh/plugins/*
|
||||||
|
.config/nvim/lazy-lock.json
|
||||||
55
dot_config/dunst/executable_dunstrc
Normal file
55
dot_config/dunst/executable_dunstrc
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
[global]
|
||||||
|
origin = top-right
|
||||||
|
offset = (10, 20)
|
||||||
|
notification_limit = 20
|
||||||
|
progress_bar = true
|
||||||
|
progress_bar_corner_radius = 2
|
||||||
|
progress_bar_corners = all
|
||||||
|
highlight = "#00bb00ff"
|
||||||
|
icon_corner_radius = 2
|
||||||
|
icon_corners = all
|
||||||
|
indicate_hidden = yes
|
||||||
|
frame_color = "#909090"
|
||||||
|
sort = true
|
||||||
|
idle_threshold = 5m
|
||||||
|
font = JetBrainsMonoNL Nerd Font 10
|
||||||
|
markup = full
|
||||||
|
# format =
|
||||||
|
alignment = left
|
||||||
|
vertical_alignment = center
|
||||||
|
show_age_threshold = 60
|
||||||
|
ignore_newline = no
|
||||||
|
stack_duplicates = true
|
||||||
|
hide_duplicate_count = false
|
||||||
|
show_indicators = yes
|
||||||
|
icon_theme = Papirus-Dark
|
||||||
|
enable_recursive_icon_lookup = true
|
||||||
|
icon_position = left
|
||||||
|
history_length = 25
|
||||||
|
dmenu = "/usr/bin/fuzzel -d"
|
||||||
|
mouse_middle_click = context
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
corner_radius = 4
|
||||||
|
corners = all
|
||||||
|
layer = overlay
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 10
|
||||||
|
default_icon = dialog-information
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
timeout = 10
|
||||||
|
override_pause_level = 30
|
||||||
|
default_icon = dialog-information
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#900000"
|
||||||
|
foreground = "#ffffff"
|
||||||
|
frame_color = "#ff0000"
|
||||||
|
timeout = 0
|
||||||
|
override_pause_level = 60
|
||||||
|
default_icon = dialog-warning
|
||||||
23
dot_config/fuzzel/executable_fuzzel.ini
Normal file
23
dot_config/fuzzel/executable_fuzzel.ini
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
font=monospace
|
||||||
|
prompt="> "
|
||||||
|
lines=15
|
||||||
|
width=40
|
||||||
|
horizontal-pad=10
|
||||||
|
vertical-pad=10
|
||||||
|
line-height=18
|
||||||
|
layer = top
|
||||||
|
exit-on-keyboard-focus-loss = yes
|
||||||
|
launch-prefix="uwsm app -- "
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background=222222f0
|
||||||
|
text=ffffffff
|
||||||
|
match=00bb00ff
|
||||||
|
selection-match=00bb00ff
|
||||||
|
selection=666666dd
|
||||||
|
selection-text=ffffffff
|
||||||
|
border=646464ff
|
||||||
|
|
||||||
|
[border]
|
||||||
|
width=2
|
||||||
|
radius=10
|
||||||
19
dot_config/git/executable_config
Normal file
19
dot_config/git/executable_config
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[user]
|
||||||
|
name = Wekuz
|
||||||
|
email = wekuz@duck.com
|
||||||
|
signingkey = 2E502F2AABD32DF9
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
verbose = true
|
||||||
|
cleanup = scissors
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[diff]
|
||||||
|
algorithm = histogram
|
||||||
|
colorMoved = plain
|
||||||
|
[merge]
|
||||||
|
conflictstyle = zdiff3
|
||||||
|
[tag]
|
||||||
|
sort = version:refname
|
||||||
|
[help]
|
||||||
|
autoCorrect = prompt
|
||||||
17
dot_config/gtk-3.0/settings.ini
Normal file
17
dot_config/gtk-3.0/settings.ini
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Adwaita-dark
|
||||||
|
gtk-icon-theme-name=Adwaita
|
||||||
|
gtk-font-name=JetBrainsMono Nerd Font 12
|
||||||
|
gtk-cursor-theme-name=Nordzy-cursors
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=0
|
||||||
|
gtk-menu-images=0
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=0
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle=hintslight
|
||||||
|
gtk-xft-rgba=rgb
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
7
dot_config/gtk-4.0/settings.ini
Normal file
7
dot_config/gtk-4.0/settings.ini
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Adwaita-dark
|
||||||
|
gtk-icon-theme-name=Adwaita
|
||||||
|
gtk-font-name=JetBrainsMono Nerd Font 12
|
||||||
|
gtk-cursor-theme-name=Nordzy-cursors
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
27
dot_config/hypr/executable_hypridle.conf
Normal file
27
dot_config/hypr/executable_hypridle.conf
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock
|
||||||
|
before_sleep_cmd = loginctl lock-session
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms on
|
||||||
|
}
|
||||||
|
|
||||||
|
# listener {
|
||||||
|
# timeout = 300
|
||||||
|
# on-timeout = brightnessctl -s s 1%
|
||||||
|
# on-resume = brightnessctl -r
|
||||||
|
# }
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 480
|
||||||
|
on-timeout = hyprctl dispatch dpms off
|
||||||
|
on-resume = hyprctl dispatch dpms on
|
||||||
|
}
|
||||||
|
|
||||||
|
#listener {
|
||||||
|
# timeout = 600
|
||||||
|
# on-timeout = loginctl lock-session
|
||||||
|
#}
|
||||||
|
|
||||||
|
# listener {
|
||||||
|
# timeout = 900
|
||||||
|
# on-timeout = systemctl suspend
|
||||||
|
# }
|
||||||
55
dot_config/hypr/executable_hyprlock.conf
Normal file
55
dot_config/hypr/executable_hyprlock.conf
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
$font = JetBrainsMono Nerd Font
|
||||||
|
|
||||||
|
general {
|
||||||
|
ignore_empty_input = true
|
||||||
|
no_fade_out = true
|
||||||
|
hide_cursor = true
|
||||||
|
}
|
||||||
|
|
||||||
|
background {
|
||||||
|
monitor =
|
||||||
|
color = rgba(0, 0, 0, 1.0)
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
text = $TIME
|
||||||
|
font_family = $font
|
||||||
|
font_size = 90
|
||||||
|
color = rgba(170, 170, 170, 1.0)
|
||||||
|
|
||||||
|
position = 0, -10%
|
||||||
|
halign = center
|
||||||
|
valign = top
|
||||||
|
}
|
||||||
|
|
||||||
|
input-field {
|
||||||
|
monitor =
|
||||||
|
size = 15%, 5%
|
||||||
|
outline_thickness = 3
|
||||||
|
inner_color = rgba(0, 0, 0, 1.0)
|
||||||
|
|
||||||
|
placeholder_text =
|
||||||
|
font_family = $font
|
||||||
|
font_color = rgba(150, 150, 150, 1.0)
|
||||||
|
fade_on_empty = false
|
||||||
|
rounding = 15
|
||||||
|
|
||||||
|
position = 0, 0
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
text = Failed attempts: $ATTEMPTS
|
||||||
|
font_family = $font
|
||||||
|
font_size = 12
|
||||||
|
color = rgba(100, 100, 100, 1.0)
|
||||||
|
|
||||||
|
position = 0, -3.5%
|
||||||
|
halign = center
|
||||||
|
valign = center
|
||||||
|
}
|
||||||
5
dot_config/hypr/executable_hyprpaper.conf
Normal file
5
dot_config/hypr/executable_hyprpaper.conf
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
wallpaper {
|
||||||
|
monitor =
|
||||||
|
path = /home/wekuz/.config/wallpapers/wallpaper.png
|
||||||
|
fit_mode = contain
|
||||||
|
}
|
||||||
315
dot_config/hypr/hyprland.conf
Normal file
315
dot_config/hypr/hyprland.conf
Normal file
|
|
@ -0,0 +1,315 @@
|
||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
monitor=DP-2,3840x2160@160,0x0,1.5
|
||||||
|
|
||||||
|
xwayland {
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
$terminal = uwsm app -- kitty
|
||||||
|
$browser = uwsm app -- zen-browser
|
||||||
|
$hyprlock = uwsm app -- hyprlock
|
||||||
|
$hyprshot = uwsm app -- hyprshot
|
||||||
|
$menu = uwsm app -- fuzzel
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
exec-once = uwsm app -- udiskie
|
||||||
|
exec-once = uwsm app -- waybar
|
||||||
|
exec-once = uwsm app -- dunst
|
||||||
|
exec-once = uwsm app -- wl-paste --watch cliphist store
|
||||||
|
exec-once = uwsm app -- hypridle
|
||||||
|
exec-once = uwsm app -- hyprpaper
|
||||||
|
exec-once = uwsm app -- hyprsunset
|
||||||
|
exec-once = [workspace 1] $terminal
|
||||||
|
exec-once = [workspace 2 silent] $browser
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
# Environment variables stored in ~/.config/uwsm/env and ~/.config/uwsm/env-hyprland
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
|
general {
|
||||||
|
gaps_in = 0
|
||||||
|
gaps_out = 0
|
||||||
|
|
||||||
|
border_size = 1
|
||||||
|
|
||||||
|
col.active_border = rgba(00dd00ff) rgba(006600ff) 90deg
|
||||||
|
col.inactive_border = rgba(646464ff)
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = true
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
|
||||||
|
snap {
|
||||||
|
enabled = true
|
||||||
|
window_gap = 4
|
||||||
|
monitor_gap = 6
|
||||||
|
respect_gaps = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = false
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(151515ee)
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = false
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = easeOutQuint,0.23,1,0.32,1
|
||||||
|
bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||||
|
bezier = linear,0,0,1,1
|
||||||
|
bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||||
|
bezier = quick,0.15,0,0.1,1
|
||||||
|
|
||||||
|
animation = windows, 1, 1, quick
|
||||||
|
animation = windowsOut, 1, 0.5, linear, slide
|
||||||
|
animation = layers, 1, 1, quick
|
||||||
|
animation = fade, 0, 2, linear
|
||||||
|
animation = fadeDpms, 1, 4, linear
|
||||||
|
animation = fadeLayersOut, 0, 1, almostLinear
|
||||||
|
animation = workspacesIn, 1, 0.5, quick
|
||||||
|
animation = workspacesOut, 1, 0.7, quick
|
||||||
|
}
|
||||||
|
|
||||||
|
# Smart gaps: https://wiki.hyprland.org/Configuring/Workspace-Rules/#smart-gaps
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
dwindle {
|
||||||
|
preserve_split = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
|
misc {
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
vfr = true
|
||||||
|
vrr = 2
|
||||||
|
enable_swallow = true
|
||||||
|
swallow_regex = ^(kitty)$
|
||||||
|
swallow_exception_regex = ^(xev|wev|vkcube|glxgears|kitty).*
|
||||||
|
allow_session_lock_restore = 1
|
||||||
|
on_focus_under_fullscreen = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
ecosystem {
|
||||||
|
enforce_permissions = true
|
||||||
|
}
|
||||||
|
|
||||||
|
permission = /usr/bin/grim, screencopy, allow
|
||||||
|
permission = /usr/(lib|lib64)/xdg-desktop-portal-hyprland, screencopy, allow
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = ee
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options = fkeys:basic_13-24
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
sensitivity = -0.05 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = true
|
||||||
|
scroll_factor = 0.6
|
||||||
|
disable_while_typing = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
device {
|
||||||
|
name = falbatech-redox
|
||||||
|
kb_layout = us
|
||||||
|
kb_options = fkeys:basic_13-24
|
||||||
|
}
|
||||||
|
|
||||||
|
device {
|
||||||
|
name = falbatech-redox-mouse
|
||||||
|
sensitivity = -0.5
|
||||||
|
accel_profile = flat
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
|
gestures {
|
||||||
|
gesture = 3, horizontal, workspace
|
||||||
|
gesture = 3, up, mod: SUPER, fullscreen
|
||||||
|
}
|
||||||
|
|
||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
bind = $mainMod, RETURN, exec, $terminal
|
||||||
|
bind = $mainMod, Q, exec, $browser
|
||||||
|
bind = $mainMod, W, killactive,
|
||||||
|
bind = $mainMod CTRL SHIFT, Q, exit,
|
||||||
|
bind = $mainMod, C, togglefloating,
|
||||||
|
bind = $mainMod, SPACE, exec, $menu
|
||||||
|
bind = $mainMod SHIFT, J, togglesplit, # dwindle
|
||||||
|
bind = $mainMod, F, fullscreen, 1
|
||||||
|
bind = $mainMod SHIFT, F, fullscreen, 0
|
||||||
|
# Hyprlock
|
||||||
|
bind = $mainMod SHIFT, L, exec, $hyprlock
|
||||||
|
# Cliphist
|
||||||
|
bind = $mainMod, V, exec, cliphist list | fuzzel -d -w 75 --select-index 1 | cliphist decode | wl-copy
|
||||||
|
# Hyprshot
|
||||||
|
bind = $mainMod SHIFT, S, exec, $hyprshot -m region --clipboard-only
|
||||||
|
bind = $mainMod SHIFT CTRL, S, exec, $hyprshot -m window --clipboard-only
|
||||||
|
bind = $mainMod SHIFT ALT, S, exec, $hyprshot -m output --clipboard-only
|
||||||
|
bind = $mainMod SHIFT, B, exec, bluetoothctl -- connect "$(bluetoothctl -- devices Paired | cut -f2- -d ' ' | fuzzel -d -l 8 | cut -f1 -d ' ')"
|
||||||
|
bind = $mainMod SHIFT, A, exec, ~/scripts/select-audio-sink.sh
|
||||||
|
|
||||||
|
# Move focus
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, L, movefocus, r
|
||||||
|
bind = $mainMod, K, movefocus, u
|
||||||
|
bind = $mainMod, J, movefocus, d
|
||||||
|
|
||||||
|
bind = $mainMod, period, layoutmsg, move +col
|
||||||
|
bind = $mainMod, comma, layoutmsg, move -col
|
||||||
|
|
||||||
|
# Switch workspaces
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
bind = $mainMod SHIFT CTRL, TAB, movecurrentworkspacetomonitor, +1
|
||||||
|
|
||||||
|
# Move/resize windows
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ && ~/scripts/volume-control.sh
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && ~/scripts/volume-control.sh
|
||||||
|
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && ~/scripts/volume-control.sh
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
# Laptop lid
|
||||||
|
bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "HDMI-A-1, 1920x1080@120, 0x0, 1"
|
||||||
|
bindl = , switch:on:Lid Switch, exec, hyprctl keyword monitor "eDP-1, disable"
|
||||||
|
bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "eDP-1, 1920x1080@60, 0x0, 1.25"
|
||||||
|
bindl = , switch:off:Lid Switch, exec, hyprctl keyword monitor "HDMI-A-1, disable"
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
|
# No border when only 1 window or window is fullscreen
|
||||||
|
windowrule = match:workspace w[1], match:class negative:^(steam)$, match:title negative:Steam, border_size 0
|
||||||
|
windowrule = match:workspace f[1-2], border_size 0
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = pavucontrol-float
|
||||||
|
match:class = ^(org.pulseaudio.pavucontrol)$
|
||||||
|
match:title = ^(Volume Control)$
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
size = (0.35*monitor_w) (0.4*monitor_h)
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = showmethekey-float
|
||||||
|
match:class = ^(showmethekey-gtk)$
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
border_size = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = steam-popup-float
|
||||||
|
match:class = ^(steam)$
|
||||||
|
match:title = negative:Steam
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = gaming
|
||||||
|
match:class = ^(steam_app_\d+|cs2)$
|
||||||
|
|
||||||
|
workspace = 10
|
||||||
|
immediate = 1
|
||||||
|
fullscreen = 1
|
||||||
|
}
|
||||||
9
dot_config/hypr/hyprsunset.conf
Normal file
9
dot_config/hypr/hyprsunset.conf
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
profile {
|
||||||
|
time = 7:30
|
||||||
|
identity = true
|
||||||
|
}
|
||||||
|
|
||||||
|
profile {
|
||||||
|
time = 01:00
|
||||||
|
temperature = 5500
|
||||||
|
}
|
||||||
2639
dot_config/kitty/executable_kitty.conf
Normal file
2639
dot_config/kitty/executable_kitty.conf
Normal file
File diff suppressed because it is too large
Load diff
37
dot_config/mimeapps.list
Normal file
37
dot_config/mimeapps.list
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
[Default Applications]
|
||||||
|
x-scheme-handler/http=zen.desktop
|
||||||
|
x-scheme-handler/https=zen.desktop
|
||||||
|
x-scheme-handler/chrome=zen.desktop
|
||||||
|
text/html=zen.desktop
|
||||||
|
application/x-extension-htm=zen.desktop
|
||||||
|
application/x-extension-html=zen.desktop
|
||||||
|
application/x-extension-shtml=zen.desktop
|
||||||
|
application/xhtml+xml=zen.desktop
|
||||||
|
application/x-extension-xhtml=zen.desktop
|
||||||
|
application/x-extension-xht=zen.desktop
|
||||||
|
x-scheme-handler/fdm=freedownloadmanager_fdm_up.desktop
|
||||||
|
image/jpeg=imv.desktop
|
||||||
|
image/png=imv.desktop
|
||||||
|
image/avif=imv.desktop
|
||||||
|
image/bmp=imv.desktop
|
||||||
|
image/gif=imv.desktop
|
||||||
|
image/svg+xml=imv.desktop
|
||||||
|
image/webp=imv.desktop
|
||||||
|
image/vnd.microsoft.icon=imv.desktop
|
||||||
|
video/mp4=vlc.desktop
|
||||||
|
video/mkv=vlc.desktop
|
||||||
|
video/mpeg=vlc.desktop
|
||||||
|
video/quicktime=vlc.desktop
|
||||||
|
video/webm=vlc.desktop
|
||||||
|
|
||||||
|
[Added Associations]
|
||||||
|
x-scheme-handler/http=zen.desktop;
|
||||||
|
x-scheme-handler/https=zen.desktop;
|
||||||
|
x-scheme-handler/chrome=zen.desktop;
|
||||||
|
text/html=zen.desktop;
|
||||||
|
application/x-extension-htm=zen.desktop;
|
||||||
|
application/x-extension-html=zen.desktop;
|
||||||
|
application/x-extension-shtml=zen.desktop;
|
||||||
|
application/xhtml+xml=zen.desktop;
|
||||||
|
application/x-extension-xhtml=zen.desktop;
|
||||||
|
application/x-extension-xht=zen.desktop;
|
||||||
1
dot_config/nvim/executable_init.lua
Normal file
1
dot_config/nvim/executable_init.lua
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
require("wekuz")
|
||||||
25
dot_config/nvim/lua/wekuz/executable_autocmds.lua
Normal file
25
dot_config/nvim/lua/wekuz/executable_autocmds.lua
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
local markdown_format = vim.api.nvim_create_augroup("markdown_format", { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter"}, {
|
||||||
|
group = markdown_format,
|
||||||
|
pattern = { "*.md" },
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.wrap = true
|
||||||
|
vim.opt_local.linebreak = true
|
||||||
|
vim.opt_local.colorcolumn = "0"
|
||||||
|
vim.opt_local.conceallevel = 2
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter", "VimResized", "WinResized"}, {
|
||||||
|
-- group = markdown_format,
|
||||||
|
-- callback = function()
|
||||||
|
-- if vim.bo.filetype == 'markdown' then
|
||||||
|
-- local width = vim.api.nvim_win_get_width(0)
|
||||||
|
-- if width > 120 then
|
||||||
|
-- vim.opt_local.columns = 120
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- })
|
||||||
5
dot_config/nvim/lua/wekuz/executable_init.lua
Normal file
5
dot_config/nvim/lua/wekuz/executable_init.lua
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
require("wekuz.opts")
|
||||||
|
require("wekuz.remap")
|
||||||
|
require("wekuz.autocmds")
|
||||||
|
require("wekuz.lazy")
|
||||||
|
require("wekuz.server")
|
||||||
24
dot_config/nvim/lua/wekuz/executable_lazy.lua
Normal file
24
dot_config/nvim/lua/wekuz/executable_lazy.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
-- Bootstrap lazy.nvim
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
vim.api.nvim_echo({
|
||||||
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
|
{ out, "WarningMsg" },
|
||||||
|
{ "\nPress any key to exit..." },
|
||||||
|
}, true, { })
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- Setup lazy.nvim
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {{ import = "wekuz.plugins" }},
|
||||||
|
install = { colorscheme = { "cyberdream" } },
|
||||||
|
checker = { enabled = false },
|
||||||
|
change_detection = { notify = false }
|
||||||
|
})
|
||||||
22
dot_config/nvim/lua/wekuz/executable_opts.lua
Normal file
22
dot_config/nvim/lua/wekuz/executable_opts.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
vim.o.number = true
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
vim.o.cursorline = true
|
||||||
|
vim.o.colorcolumn = "110"
|
||||||
|
|
||||||
|
vim.o.tabstop = 4
|
||||||
|
vim.o.shiftwidth = 4
|
||||||
|
vim.o.expandtab = true
|
||||||
|
vim.o.smartindent = true
|
||||||
|
|
||||||
|
vim.o.wrap = false
|
||||||
|
vim.o.termguicolors = true
|
||||||
|
vim.o.hlsearch = false
|
||||||
|
|
||||||
|
vim.o.swapfile = false
|
||||||
|
vim.o.backup = false
|
||||||
|
vim.o.undodir = os.getenv("HOME") .. "/.nvim/undodir"
|
||||||
|
vim.o.undofile = true
|
||||||
|
vim.o.updatetime = 2000
|
||||||
|
|
||||||
|
vim.o.clipboard = "unnamedplus"
|
||||||
|
vim.o.spelllang= "en_gb,en_us"
|
||||||
608
dot_config/nvim/lua/wekuz/executable_plugins.lua
Normal file
608
dot_config/nvim/lua/wekuz/executable_plugins.lua
Normal file
|
|
@ -0,0 +1,608 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"scottmckendry/cyberdream.nvim",
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
require("cyberdream").setup({
|
||||||
|
highlights = {
|
||||||
|
Comment = { fg = "#89ca78", bg = "NONE" },
|
||||||
|
},
|
||||||
|
colors = {
|
||||||
|
bg = "#000000",
|
||||||
|
green = "#00cc00",
|
||||||
|
purple = "#5ef1ff",
|
||||||
|
cyan = "#bd5eff"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme("cyberdream")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
main = "nvim-treesitter.configs",
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {
|
||||||
|
"vimdoc", "lua", "markdown", "markdown_inline", "c", "cpp", "rust", "javascript",
|
||||||
|
"typescript", "html", "python", "json", "hyprlang"
|
||||||
|
},
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
sync_install = false,
|
||||||
|
auto_install = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
|
event = "VeryLazy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mason-org/mason-lspconfig.nvim",
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
"mason-org/mason.nvim",
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {
|
||||||
|
"shfmt",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"saghen/blink.cmp"
|
||||||
|
},
|
||||||
|
event = { "BufReadPre", "BufNewFile" },
|
||||||
|
config = function()
|
||||||
|
require("mason-lspconfig").setup({
|
||||||
|
automatic_installation = true,
|
||||||
|
ensure_installed = { "lua_ls", "bashls", "clangd", "rust_analyzer", "pyright", "marksman", "tailwindcss" }
|
||||||
|
})
|
||||||
|
local blinkCapabilities = require("blink.cmp").get_lsp_capabilities()
|
||||||
|
vim.lsp.config("lua_ls", {
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
globals = { "vim" }
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
library = vim.api.nvim_get_runtime_file("", true)
|
||||||
|
},
|
||||||
|
telemetry = {
|
||||||
|
enable = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
capabilities = blinkCapabilities
|
||||||
|
})
|
||||||
|
vim.lsp.config("bashls", {
|
||||||
|
filetypes = { "bash", "sh", "zsh" },
|
||||||
|
settings = {
|
||||||
|
bashIde = {
|
||||||
|
globPattern = "*@(.sh|.inc|.bash|.command|.zsh)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
capabilities = blinkCapabilities
|
||||||
|
})
|
||||||
|
vim.lsp.config("clangd", { capabilities = blinkCapabilities })
|
||||||
|
vim.lsp.config("rust_analyzer", { capabilities = blinkCapabilities })
|
||||||
|
vim.lsp.config("pyright", { capabilities = blinkCapabilities })
|
||||||
|
vim.lsp.config("marksman", { capabilities = blinkCapabilities })
|
||||||
|
vim.lsp.config("tailwindcss", {
|
||||||
|
filetypes = { "html", "css", "less", "postcss", "sass", "scss", "stylus", "sugarss" },
|
||||||
|
capabilities = blinkCapabilities
|
||||||
|
})
|
||||||
|
vim.lsp.config("nil_ls", { capabilities = blinkCapabilities })
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
config = function()
|
||||||
|
vim.g.enable_autoformat = true
|
||||||
|
require("conform").setup({
|
||||||
|
formatters_by_ft = {
|
||||||
|
nix = { "nixfmt" },
|
||||||
|
zsh = { "shfmt" },
|
||||||
|
-- TODO: More formatters by filetype
|
||||||
|
},
|
||||||
|
format_on_save = function(bufnr)
|
||||||
|
if vim.g.enable_autoformat or vim.b[bufnr].enable_autoformat then
|
||||||
|
return { timeout_ms = 500, lsp_format = "fallback" }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command("Format", function(args)
|
||||||
|
local range = nil
|
||||||
|
if args.count ~= -1 then
|
||||||
|
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
||||||
|
range = {
|
||||||
|
start = { args.line1, 0 },
|
||||||
|
["end"] = { args.line2, end_line:len() },
|
||||||
|
}
|
||||||
|
end
|
||||||
|
require("conform").format({ async = true, range = range })
|
||||||
|
end, { range = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command("FormatDisable", function(args)
|
||||||
|
if args.bang then
|
||||||
|
vim.b.enable_autoformat = false
|
||||||
|
else
|
||||||
|
vim.g.enable_autoformat = false
|
||||||
|
end
|
||||||
|
end, { desc = "Disable autoformat-on-save", bang = true })
|
||||||
|
vim.api.nvim_create_user_command("FormatEnable", function(args)
|
||||||
|
if args.bang then
|
||||||
|
vim.b.enable_autoformat = true
|
||||||
|
else
|
||||||
|
vim.g.enable_autoformat = true
|
||||||
|
end
|
||||||
|
end, { desc = "Re-enable autoformat-on-save", bang = true })
|
||||||
|
|
||||||
|
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
dependencies = { "rafamadriz/friendly-snippets" },
|
||||||
|
version = "*",
|
||||||
|
opts = {
|
||||||
|
enabled = function()
|
||||||
|
return not vim.tbl_contains({ "text" }, vim.bo.filetype)
|
||||||
|
and vim.bo.buftype ~= "prompt"
|
||||||
|
and vim.b.completion ~= false
|
||||||
|
end,
|
||||||
|
keymap = { preset = "default" },
|
||||||
|
appearance = {
|
||||||
|
nerd_font_variant = "mono"
|
||||||
|
},
|
||||||
|
signature = { enabled = true },
|
||||||
|
cmdline = {
|
||||||
|
enabled = true,
|
||||||
|
keymap = { preset = "cmdline" },
|
||||||
|
sources = function()
|
||||||
|
local type = vim.fn.getcmdtype()
|
||||||
|
if type == "/" or type == "?" then return { "buffer" } end
|
||||||
|
if type == ":" or type == "@" then return { "cmdline" } end
|
||||||
|
return {}
|
||||||
|
end,
|
||||||
|
completion = {
|
||||||
|
trigger = {
|
||||||
|
show_on_blocked_trigger_characters = {},
|
||||||
|
show_on_x_blocked_trigger_characters = {},
|
||||||
|
},
|
||||||
|
list = {
|
||||||
|
selection = {
|
||||||
|
preselect = true,
|
||||||
|
auto_insert = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
menu = { auto_show = true },
|
||||||
|
ghost_text = { enabled = true }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"windwp/nvim-autopairs",
|
||||||
|
event = "InsertEnter",
|
||||||
|
opts = {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"windwp/nvim-ts-autotag",
|
||||||
|
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||||
|
opts = {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
opts = {},
|
||||||
|
cmd = "Trouble",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>xx",
|
||||||
|
"<cmd>Trouble diagnostics toggle<cr>",
|
||||||
|
desc = "Diagnostics (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xX",
|
||||||
|
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||||
|
desc = "Buffer Diagnostics (Trouble)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>cs",
|
||||||
|
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||||
|
desc = "Symbols (Trouble)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>cl",
|
||||||
|
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||||
|
desc = "LSP Definitions / references / ... (Trouble)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xL",
|
||||||
|
"<cmd>Trouble loclist toggle<cr>",
|
||||||
|
desc = "Location List (Trouble)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>xQ",
|
||||||
|
"<cmd>Trouble qflist toggle<cr>",
|
||||||
|
desc = "Quickfix List (Trouble)"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mluders/comfy-line-numbers.nvim",
|
||||||
|
config = function()
|
||||||
|
require("comfy-line-numbers").setup({
|
||||||
|
hidden_file_types = {}
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("CmdlineEnter", {
|
||||||
|
group = "ComfyLineNumbers",
|
||||||
|
pattern = "*",
|
||||||
|
callback = function()
|
||||||
|
pcall(require("comfy-line-numbers").disable_line_numbers)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("CmdlineLeave", {
|
||||||
|
group = "ComfyLineNumbers",
|
||||||
|
pattern = "*",
|
||||||
|
callback = function()
|
||||||
|
pcall(require("comfy-line-numbers").enable_line_numbers)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"winston0410/range-highlight.nvim",
|
||||||
|
event = { "CmdlineEnter" },
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-pack/nvim-spectre",
|
||||||
|
config = function()
|
||||||
|
local spectre = require("spectre")
|
||||||
|
vim.keymap.set("n", "<leader>ss", function() spectre.toggle() end, { desc = "Spectre toggle" })
|
||||||
|
vim.keymap.set("n", "<leader>sw", function() require("spectre").open_visual({ select_word = true }) end,
|
||||||
|
{ desc = "Spectre search current word" })
|
||||||
|
vim.keymap.set("v", "<leader>sw", function() require("spectre").open_visual() end,
|
||||||
|
{ desc = "Spectre search current word" })
|
||||||
|
vim.keymap.set("n", "<leader>sf", function() require("spectre").open_file_search({ select_word = true }) end,
|
||||||
|
{ desc = "Spectre search current word in current file" })
|
||||||
|
vim.keymap.set("v", "<leader>sf", function() require("spectre").open_file_search() end,
|
||||||
|
{ desc = "Spectre search current word in current file" })
|
||||||
|
spectre.setup({
|
||||||
|
is_block_ui_break = true
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kdheepak/lazygit.nvim",
|
||||||
|
lazy = true,
|
||||||
|
cmd = {
|
||||||
|
"LazyGit",
|
||||||
|
"LazyGitConfig",
|
||||||
|
"LazyGitCurrentFile",
|
||||||
|
"LazyGitFilter",
|
||||||
|
"LazyGitFilterCurrentFile",
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "LazyGit" }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
branch = "0.1.x",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim", "nvim-telescope/telescope-fzf-native.nvim" },
|
||||||
|
config = function()
|
||||||
|
require("telescope").load_extension("fzf")
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Telescope find files" })
|
||||||
|
vim.keymap.set("n", "<leader>fg", builtin.git_files, { desc = "Telescope git files" })
|
||||||
|
vim.keymap.set("n", "<leader>fs", builtin.live_grep, { desc = "Telescope live grep" })
|
||||||
|
vim.keymap.set("n", "<leader>fw", function()
|
||||||
|
local word = vim.fn.expand("<cword>")
|
||||||
|
builtin.grep_string({ search = word })
|
||||||
|
end, { desc = "Telescope grep current word" })
|
||||||
|
vim.keymap.set("n", "<leader>fW", function()
|
||||||
|
local word = vim.fn.expand("<cWORD>")
|
||||||
|
builtin.grep_string({ search = word })
|
||||||
|
end, { desc = "Telescope grep current WORD" })
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
build =
|
||||||
|
"cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5 && cmake --build build --config Release"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mbbill/undotree"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mikavilpas/yazi.nvim",
|
||||||
|
version = "*",
|
||||||
|
event = "VeryLazy",
|
||||||
|
dependencies = {
|
||||||
|
{ "nvim-lua/plenary.nvim", lazy = true },
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>-",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
"<cmd>Yazi<cr>",
|
||||||
|
desc = "Open yazi at the current file",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>cw",
|
||||||
|
"<cmd>Yazi cwd<cr>",
|
||||||
|
desc = "Open the file manager in nvim's working directory",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<c-up>",
|
||||||
|
"<cmd>Yazi toggle<cr>",
|
||||||
|
desc = "Resume the last yazi session",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
---@type YaziConfig | {}
|
||||||
|
opts = {
|
||||||
|
open_for_directories = true,
|
||||||
|
keymaps = {
|
||||||
|
show_help = "<f1>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
event = "BufReadPost",
|
||||||
|
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||||
|
config = function()
|
||||||
|
vim.api.nvim_set_hl(0, "IblScope", { link = "Function", nocombine = true })
|
||||||
|
|
||||||
|
require("ibl").setup({
|
||||||
|
scope = {
|
||||||
|
char = "│",
|
||||||
|
enabled = true,
|
||||||
|
show_start = true,
|
||||||
|
show_end = false,
|
||||||
|
show_exact_scope = true
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
char = "┊"
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
config = function(_, opts)
|
||||||
|
require("todo-comments").setup(opts)
|
||||||
|
vim.keymap.set("n", "Tn", function() require("todo-comments").jump_next() end, { desc = "Next todo comment" })
|
||||||
|
vim.keymap.set("n", "TN", function() require("todo-comments").jump_prev() end,
|
||||||
|
{ desc = "Previous todo comment" })
|
||||||
|
end,
|
||||||
|
opts = {
|
||||||
|
signs = true, -- show icons in the signs column
|
||||||
|
sign_priority = 8, -- sign priority
|
||||||
|
keywords = {
|
||||||
|
BUG = {
|
||||||
|
icon = " ", -- icon used for the sign, and in search results
|
||||||
|
color = "error", -- can be a hex color, or a named color (see below)
|
||||||
|
alt = { "FIX", "FIXME", "FIXIT", "ISSUE" }
|
||||||
|
},
|
||||||
|
TODO = { icon = " ", color = "info" },
|
||||||
|
HACK = { icon = " ", color = "warning" },
|
||||||
|
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
||||||
|
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
||||||
|
NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
|
||||||
|
TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } }
|
||||||
|
},
|
||||||
|
gui_style = {
|
||||||
|
fg = "NONE", -- The gui style to use for the fg highlight group.
|
||||||
|
bg = "BOLD" -- The gui style to use for the bg highlight group.
|
||||||
|
},
|
||||||
|
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||||
|
highlight = {
|
||||||
|
multiline = true, -- enable multine todo comments
|
||||||
|
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
|
||||||
|
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
|
||||||
|
before = "", -- "fg" or "bg" or empty
|
||||||
|
keyword = "bg", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
|
||||||
|
after = "fg", -- "fg" or "bg" or empty
|
||||||
|
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
|
||||||
|
comments_only = true, -- uses treesitter to match keywords in comments only
|
||||||
|
max_line_len = 400, -- ignore lines longer than this
|
||||||
|
exclude = {}, -- list of file types to exclude highlighting
|
||||||
|
},
|
||||||
|
colors = {
|
||||||
|
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||||
|
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
|
||||||
|
info = { "DiagnosticInfo", "#2563EB" },
|
||||||
|
hint = { "DiagnosticHint", "#10B981" },
|
||||||
|
default = { "Identifier", "#7C3AED" },
|
||||||
|
test = { "Identifier", "#FF00FF" }
|
||||||
|
},
|
||||||
|
search = {
|
||||||
|
command = "rg",
|
||||||
|
args = {
|
||||||
|
"--color=never",
|
||||||
|
"--no-heading",
|
||||||
|
"--with-filename",
|
||||||
|
"--line-number",
|
||||||
|
"--column"
|
||||||
|
},
|
||||||
|
pattern = [[\b(KEYWORDS):]]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/flash.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
---@type Flash.Config
|
||||||
|
opts = {},
|
||||||
|
keys = {
|
||||||
|
-- { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
|
||||||
|
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||||
|
{ "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
|
||||||
|
{ "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"j-hui/fidget.nvim",
|
||||||
|
opts = {
|
||||||
|
progress = {
|
||||||
|
display = {
|
||||||
|
done_ttl = 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"norcalli/nvim-colorizer.lua",
|
||||||
|
main = "colorizer",
|
||||||
|
config = function()
|
||||||
|
require("colorizer").setup({
|
||||||
|
css = {
|
||||||
|
css = true,
|
||||||
|
},
|
||||||
|
"html",
|
||||||
|
"javascript",
|
||||||
|
"markdown",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
RGB = true,
|
||||||
|
RRGGBB = true,
|
||||||
|
RRGGBBAA = true,
|
||||||
|
names = false,
|
||||||
|
mode = "background",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
lazy = true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"obsidian-nvim/obsidian.nvim",
|
||||||
|
version = "*",
|
||||||
|
lazy = true,
|
||||||
|
event = {
|
||||||
|
"BufEnter " .. vim.fn.expand "~" .. "/Obsidian*"
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
"saghen/blink.cmp"
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
legacy_commands = false,
|
||||||
|
workspaces = {
|
||||||
|
{
|
||||||
|
name = "personal",
|
||||||
|
path = "~/Obsidian/personal",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
notes_subdir = "Notes",
|
||||||
|
daily_notes = {
|
||||||
|
folder = "Notes/Daily",
|
||||||
|
date_format = "%Y-%m-%d",
|
||||||
|
alias_format = "%B %-d, %Y",
|
||||||
|
default_tags = { "daily-notes" }
|
||||||
|
},
|
||||||
|
completion = {
|
||||||
|
nvim_cmp = false,
|
||||||
|
blink = true,
|
||||||
|
min_chars = 1,
|
||||||
|
},
|
||||||
|
new_notes_location = "notes_subdir",
|
||||||
|
note_path_func = function(spec)
|
||||||
|
local path = spec.dir / spec.id
|
||||||
|
return path:with_suffix(".md")
|
||||||
|
end,
|
||||||
|
preferred_link_style = "wiki",
|
||||||
|
frontmatter = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
templates = {
|
||||||
|
folder = "Templates",
|
||||||
|
date_format = "%Y-%m-%d",
|
||||||
|
time_format = "%H:%M",
|
||||||
|
substitutions = {},
|
||||||
|
},
|
||||||
|
picker = {
|
||||||
|
name = "telescope.nvim",
|
||||||
|
note_mappings = {
|
||||||
|
new = "<C-x>",
|
||||||
|
insert_link = "<C-l>",
|
||||||
|
},
|
||||||
|
tag_mappings = {
|
||||||
|
tag_note = "<C-x>",
|
||||||
|
insert_tag = "<C-l>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
checkboxes = {
|
||||||
|
[" "] = { char = "", hl_group = "ObsidianTodo" },
|
||||||
|
["x"] = { char = "", hl_group = "ObsidianDone" },
|
||||||
|
[">"] = { char = "", hl_group = "ObsidianRightArrow" },
|
||||||
|
["~"] = { char = "", hl_group = "ObsidianTilde" },
|
||||||
|
["!"] = { char = "", hl_group = "ObsidianImportant" }
|
||||||
|
},
|
||||||
|
ui = {
|
||||||
|
enable = true,
|
||||||
|
update_debounce = 200,
|
||||||
|
max_file_length = 5000,
|
||||||
|
bullets = { char = "•", hl_group = "ObsidianBullet" },
|
||||||
|
external_link_icon = { char = "", hl_group = "ObsidianExtLinkIcon" },
|
||||||
|
reference_text = { hl_group = "ObsidianRefText" },
|
||||||
|
highlight_text = { hl_group = "ObsidianHighlightText" },
|
||||||
|
tags = { hl_group = "ObsidianTag" },
|
||||||
|
block_ids = { hl_group = "ObsidianBlockID" },
|
||||||
|
hl_groups = {
|
||||||
|
ObsidianTodo = { bold = true, fg = "#f78c6c" },
|
||||||
|
ObsidianDone = { bold = true, fg = "#89ddff" },
|
||||||
|
ObsidianRightArrow = { bold = true, fg = "#f78c6c" },
|
||||||
|
ObsidianTilde = { bold = true, fg = "#ff5370" },
|
||||||
|
ObsidianImportant = { bold = true, fg = "#d73128" },
|
||||||
|
ObsidianBullet = { bold = true, fg = "#89ddff" },
|
||||||
|
ObsidianRefText = { underline = true, fg = "#c792ea" },
|
||||||
|
ObsidianExtLinkIcon = { fg = "#c792ea" },
|
||||||
|
ObsidianTag = { italic = true, fg = "#89ddff" },
|
||||||
|
ObsidianBlockID = { italic = true, fg = "#89ddff" },
|
||||||
|
ObsidianHighlightText = { bg = "#75662e" }
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"fn",
|
||||||
|
"<cmd>Obsidian quick_switch<cr>",
|
||||||
|
desc = "Switch between Obsidian notes"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Kicamon/markdown-table-mode.nvim",
|
||||||
|
main = "markdown-table-mode",
|
||||||
|
opts = {}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Thiago4532/mdmath.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
filetypes = { "markdown" },
|
||||||
|
update_interval = 500
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
19
dot_config/nvim/lua/wekuz/executable_remap.lua
Normal file
19
dot_config/nvim/lua/wekuz/executable_remap.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = ","
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>ex", vim.cmd.Ex)
|
||||||
|
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||||
|
|
||||||
|
vim.keymap.set("x", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
vim.keymap.set("x", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
|
||||||
|
vim.keymap.set({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||||
|
vim.keymap.set({ "n", "x" }, "<Down>", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||||
|
vim.keymap.set({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||||
|
vim.keymap.set({ "n", "x" }, "<Up>", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||||
|
|
||||||
|
vim.keymap.set({ "n", "x" }, "x", "\"_x")
|
||||||
|
vim.keymap.set({ "n", "x" }, "s", "\"_s")
|
||||||
|
vim.keymap.set("n", "dd", "\"_dd")
|
||||||
|
|
||||||
|
vim.keymap.set("x", "p", "P")
|
||||||
14
dot_config/nvim/lua/wekuz/executable_server.lua
Normal file
14
dot_config/nvim/lua/wekuz/executable_server.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
function start_server(args)
|
||||||
|
local address = "0.0.0.0:5656"
|
||||||
|
if args.args ~= "" then
|
||||||
|
address = args.args
|
||||||
|
end
|
||||||
|
vim.fn.serverstart(address)
|
||||||
|
print("NVim server started on " .. address)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command(
|
||||||
|
"StartServer",
|
||||||
|
start_server,
|
||||||
|
{ nargs = "?" }
|
||||||
|
)
|
||||||
76
dot_config/qmk/private_qmk.ini
Normal file
76
dot_config/qmk/private_qmk.ini
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
[user]
|
||||||
|
keyboard = redox/rev1
|
||||||
|
keymap = wekuz
|
||||||
|
|
||||||
|
[config]
|
||||||
|
|
||||||
|
[console]
|
||||||
|
|
||||||
|
[c2json]
|
||||||
|
|
||||||
|
[compile]
|
||||||
|
|
||||||
|
[docs]
|
||||||
|
|
||||||
|
[find]
|
||||||
|
keymap = default
|
||||||
|
|
||||||
|
[flash]
|
||||||
|
|
||||||
|
[format_c]
|
||||||
|
|
||||||
|
[format_python]
|
||||||
|
|
||||||
|
[format_text]
|
||||||
|
|
||||||
|
[generate_autocorrect_data]
|
||||||
|
|
||||||
|
[generate_compilation_database]
|
||||||
|
|
||||||
|
[generate_develop_pr_list]
|
||||||
|
|
||||||
|
[generate_dfu_header]
|
||||||
|
|
||||||
|
[generate_info_json]
|
||||||
|
|
||||||
|
[generate_make_dependencies]
|
||||||
|
|
||||||
|
[git_submodule]
|
||||||
|
|
||||||
|
[hello]
|
||||||
|
|
||||||
|
[info]
|
||||||
|
|
||||||
|
[license_check]
|
||||||
|
|
||||||
|
[lint]
|
||||||
|
|
||||||
|
[kle2json]
|
||||||
|
|
||||||
|
[list_keymaps]
|
||||||
|
|
||||||
|
[list_layouts]
|
||||||
|
|
||||||
|
[mass_compile]
|
||||||
|
keymap = default
|
||||||
|
|
||||||
|
[new_keyboard]
|
||||||
|
|
||||||
|
[new_keymap]
|
||||||
|
|
||||||
|
[painter_convert_graphics]
|
||||||
|
|
||||||
|
[painter_make_font_image]
|
||||||
|
|
||||||
|
[painter_convert_font_image]
|
||||||
|
|
||||||
|
[test_c]
|
||||||
|
|
||||||
|
[userspace_add]
|
||||||
|
|
||||||
|
[userspace_remove]
|
||||||
|
|
||||||
|
[userspace_compile]
|
||||||
|
|
||||||
|
[general]
|
||||||
|
|
||||||
0
dot_config/qt5ct/colors/.keep
Normal file
0
dot_config/qt5ct/colors/.keep
Normal file
0
dot_config/qt5ct/qss/.keep
Normal file
0
dot_config/qt5ct/qss/.keep
Normal file
32
dot_config/qt5ct/qt5ct.conf
Normal file
32
dot_config/qt5ct/qt5ct.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
[Appearance]
|
||||||
|
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
|
||||||
|
custom_palette=true
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
standard_dialogs=default
|
||||||
|
style=Adwaita-Dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed="JetBrainsMono Nerd Font Mono,12,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
general="JetBrainsMono Nerd Font,12,-1,5,50,0,0,0,0,0,Regular"
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
|
|
||||||
|
[SettingsWindow]
|
||||||
|
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xa4\0\0\x3\v\0\0\0\0\0\0\0\0\0\0\x2\xa4\0\0\x3\v\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x2\xa4\0\0\x3\v)
|
||||||
|
|
||||||
|
[Troubleshooting]
|
||||||
|
force_raster_widgets=1
|
||||||
|
ignored_applications=@Invalid()
|
||||||
0
dot_config/qt6ct/colors/.keep
Normal file
0
dot_config/qt6ct/colors/.keep
Normal file
0
dot_config/qt6ct/qss/.keep
Normal file
0
dot_config/qt6ct/qss/.keep
Normal file
32
dot_config/qt6ct/qt6ct.conf
Normal file
32
dot_config/qt6ct/qt6ct.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
[Appearance]
|
||||||
|
color_scheme_path=/usr/share/qt6ct/colors/darker.conf
|
||||||
|
custom_palette=true
|
||||||
|
icon_theme=Papirus-Dark
|
||||||
|
standard_dialogs=default
|
||||||
|
style=Adwaita-Dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed="JetBrainsMono Nerd Font Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||||
|
general="JetBrainsMono Nerd Font,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
|
|
||||||
|
[SettingsWindow]
|
||||||
|
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\t\xfd\0\0\x5\x85\0\0\0\0\0\0\0\0\0\0\t\xfd\0\0\x5\x85\0\0\0\0\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\t\xfd\0\0\x5\x85)
|
||||||
|
|
||||||
|
[Troubleshooting]
|
||||||
|
force_raster_widgets=1
|
||||||
|
ignored_applications=@Invalid()
|
||||||
1
dot_config/rbw/config.json
Normal file
1
dot_config/rbw/config.json
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"email":"patrickjelsukov@gmail.com","sso_id":null,"base_url":"https://vw.wekuz.localplayer.dev","identity_url":null,"ui_url":null,"notifications_url":null,"lock_timeout":3600,"sync_interval":3600,"pinentry":"pinentry","client_cert_path":null}
|
||||||
1
dot_config/uwsm/executable_default-id
Normal file
1
dot_config/uwsm/executable_default-id
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
hyprland-uwsm.desktop
|
||||||
17
dot_config/uwsm/executable_env
Normal file
17
dot_config/uwsm/executable_env
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
export XCURSOR_THEME=Nordzy-cursors
|
||||||
|
export XCURSOR_SIZE=24
|
||||||
|
|
||||||
|
export ELECTRON_OZONE_PLATFORM_HINT=auto
|
||||||
|
|
||||||
|
export QT_QPA_PLATFORM=wayland;xcb
|
||||||
|
export QT_QPA_PLATFORMTHEME=qt6ct
|
||||||
|
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||||
|
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
||||||
|
|
||||||
|
export GDK_BACKEND=wayland,x11,*
|
||||||
|
export SDL_VIDEODRIVER=wayland
|
||||||
|
export CLUTTER_BACKEND=wayland
|
||||||
|
|
||||||
|
export XDG_CURRENT_DESKTOP=Hyprland
|
||||||
|
export XDG_SESSION_TYPE=wayland
|
||||||
|
export XDG_SESSION_DESKTOP=Hyprland
|
||||||
2
dot_config/uwsm/executable_env-hyprland
Normal file
2
dot_config/uwsm/executable_env-hyprland
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
export HYPRCURSOR_THEME=Nordzy-cursors
|
||||||
|
export HYPRCURSOR_SIZE=24
|
||||||
78
dot_config/waybar/executable_config.jsonc
Normal file
78
dot_config/waybar/executable_config.jsonc
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
// -*- mode: jsonc -*-
|
||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"height": 24,
|
||||||
|
"spacing": 2,
|
||||||
|
"modules-left": ["hyprland/workspaces"],
|
||||||
|
"modules-center": ["hyprland/window"],
|
||||||
|
"modules-right": [ "network", "wireplumber", "cpu", "memory", "temperature", "battery", "clock" ],
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"workspace-taskbar": {
|
||||||
|
"enable": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"icon-size": 16,
|
||||||
|
"orientation": "horizontal",
|
||||||
|
},
|
||||||
|
"format": "{id} {windows}",
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"icon": true,
|
||||||
|
"icon-size": 18,
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"interval": 15,
|
||||||
|
"format-wifi": "",
|
||||||
|
"format-ethernet": "",
|
||||||
|
"format-disconnected": "⚠",
|
||||||
|
"format-linked": "",
|
||||||
|
"tooltip-format": "{ifname}: {ipaddr}/{cidr}",
|
||||||
|
"tooltip-format-wifi": "{ifname}: {ipaddr}/{cidr}\n{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
"tooltip-format-linked": "No IP"
|
||||||
|
},
|
||||||
|
"wireplumber": {
|
||||||
|
"format": "{volume}% {icon}",
|
||||||
|
"format-icons": ["", "", ""],
|
||||||
|
"format-muted": "{volume}% ",
|
||||||
|
"scroll-step": 0.2,
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
"reverse-scrolling": 1
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"interval": 5,
|
||||||
|
"format": "{usage}% "
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"interval": 5,
|
||||||
|
"format": "{}% "
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"interval": 5,
|
||||||
|
"hwmon-path": "/sys/class/hwmon/hwmon3/temp1_input",
|
||||||
|
"critical-threshold": 70,
|
||||||
|
"format": "{temperatureC}°C {icon}",
|
||||||
|
"format-critical": "{temperatureC}°C {icon}",
|
||||||
|
"format-icons": ["", "", "", "", ""],
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"interval": 10,
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-plugged": "{capacity}% ",
|
||||||
|
"format-icons": {
|
||||||
|
"default": ["", "", "", ""],
|
||||||
|
"charging": ["", "", "", ""]
|
||||||
|
},
|
||||||
|
"tooltip-format": "{time}"
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": "{:%H:%M:%S}",
|
||||||
|
"tooltip-format": "{:%a %d/%m/%Y}"
|
||||||
|
}
|
||||||
|
}
|
||||||
160
dot_config/waybar/executable_style.css
Normal file
160
dot_config/waybar/executable_style.css
Normal file
|
|
@ -0,0 +1,160 @@
|
||||||
|
* {
|
||||||
|
font-family: JetBrainsMonoNL Nerd Font;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: linear-gradient(#333333, rgba(34, 34, 34, 0.4));
|
||||||
|
/* background-color: #333333; */
|
||||||
|
/* border-bottom: 2px solid rgba(100, 100, 100, 0.7); */
|
||||||
|
color: #ffffff;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
label.module {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
/* Use box-shadow instead of border so the text isn't offset */
|
||||||
|
/* Avoid rounded borders under each button name */
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
|
||||||
|
button:hover {
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 4px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
background: linear-gradient(#64727D, rgba(100, 114, 125, 0.7));
|
||||||
|
/* background-color: #64727D; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.urgent {
|
||||||
|
background: linear-gradient(#ee0202, rgba(238, 2, 2, 0.7));
|
||||||
|
/* background-color: #ee0202; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
background: linear-gradient(rgba(0, 170, 0, 0.8), rgba(0, 136, 0, 0.4));
|
||||||
|
/* background-color: #00aa00; */
|
||||||
|
}
|
||||||
|
|
||||||
|
#network,
|
||||||
|
#wireplumber,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#temperature,
|
||||||
|
#battery,
|
||||||
|
#clock {
|
||||||
|
padding: 0 4px;
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
margin: 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin: 0 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left > widget:first-child > #workspaces {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
.modules-right > widget:last-child > #workspaces {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
padding: 0 8px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#clock:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#battery:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
color: #ee0202;
|
||||||
|
}
|
||||||
|
|
||||||
|
label:focus {
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#cpu:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#memory:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
padding-right: 8px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#network:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
#network.disconnected {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
color: #ee0202;
|
||||||
|
}
|
||||||
|
#network.linked {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
color: #ece81a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#wireplumber {
|
||||||
|
padding-right: 6px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#wireplumber:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
#wireplumber.muted {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
color: #ee0202;
|
||||||
|
}
|
||||||
|
|
||||||
|
#temperature {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
#temperature:hover {
|
||||||
|
background: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
#temperature.critical {
|
||||||
|
box-shadow: inset 0 -2px;
|
||||||
|
color: #ee0202;
|
||||||
|
}
|
||||||
32
dot_config/wikiman/wikiman.conf
Normal file
32
dot_config/wikiman/wikiman.conf
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
# Sources (if empty, use all available)
|
||||||
|
sources =
|
||||||
|
|
||||||
|
# Fuzzy finder
|
||||||
|
fuzzy_finder = fzf
|
||||||
|
|
||||||
|
# Quick search mode (only by title)
|
||||||
|
quick_search = false
|
||||||
|
|
||||||
|
# AND operator mode (must contain all keywords)
|
||||||
|
and_operator = false
|
||||||
|
|
||||||
|
# Raw output (for developers)
|
||||||
|
raw_output = false
|
||||||
|
|
||||||
|
# Manpages language(s)
|
||||||
|
man_lang = en
|
||||||
|
|
||||||
|
# Wiki language(s)
|
||||||
|
wiki_lang = en
|
||||||
|
|
||||||
|
# Show previews in TUI
|
||||||
|
tui_preview = true
|
||||||
|
|
||||||
|
# Keep open after viewing a result
|
||||||
|
tui_keep_open = false
|
||||||
|
|
||||||
|
# Show source column
|
||||||
|
tui_source_column = true
|
||||||
|
|
||||||
|
# Viewer for HTML pages
|
||||||
|
tui_html = w3m
|
||||||
2
dot_config/yazi/yazi.toml
Normal file
2
dot_config/yazi/yazi.toml
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[mgr]
|
||||||
|
show_hidden = true
|
||||||
14
dot_config/zsh/config/executable_aliases.zsh
Normal file
14
dot_config/zsh/config/executable_aliases.zsh
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
alias ls="lsd"
|
||||||
|
alias l="ls -l"
|
||||||
|
alias la="ls -la"
|
||||||
|
alias rp="rip"
|
||||||
|
alias rm="read -q 'choice?Use rm instead of rip? [y/N] ' && rm"
|
||||||
|
alias nv="nvim"
|
||||||
|
alias sudo="sudo "
|
||||||
|
alias umount="sync && umount"
|
||||||
|
alias kssh="kitten ssh"
|
||||||
|
alias ipy="ipython"
|
||||||
|
alias zsh_debug_startup="time ZSH_DEBUGRC=1 zsh -i -c exit"
|
||||||
|
|
||||||
|
eval $(thefuck --alias)
|
||||||
|
eval $(thefuck --alias fck)
|
||||||
7
dot_config/zsh/config/executable_autostart.zsh
Normal file
7
dot_config/zsh/config/executable_autostart.zsh
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# ssh-agent
|
||||||
|
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
|
||||||
|
ssh-agent -t 2h > "$XDG_RUNTIME_DIR/ssh-agent.env"
|
||||||
|
fi
|
||||||
|
if [[ ! -f "$SSH_AUTH_SOCK" ]]; then
|
||||||
|
source "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
|
||||||
|
fi
|
||||||
9
dot_config/zsh/config/executable_completions.zsh
Normal file
9
dot_config/zsh/config/executable_completions.zsh
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
source <(fzf --zsh)
|
||||||
|
source <(rip completions zsh)
|
||||||
|
source <(rbw gen-completions zsh)
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
|
|
||||||
|
function qmk-completions {
|
||||||
|
autoload -Uz bashcompinit && bashcompinit
|
||||||
|
source "$(qmk env | grep QMK_HOME | cut -f2 -d '"')"/util/qmk_tab_complete.sh
|
||||||
|
}
|
||||||
50
dot_config/zsh/config/executable_fixkeys.zsh
Normal file
50
dot_config/zsh/config/executable_fixkeys.zsh
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
# Source: https://wiki.archlinux.org/title/Zsh#Key_bindings
|
||||||
|
|
||||||
|
typeset -g -A key
|
||||||
|
|
||||||
|
key[Home]="${terminfo[khome]}"
|
||||||
|
key[End]="${terminfo[kend]}"
|
||||||
|
key[Insert]="${terminfo[kich1]}"
|
||||||
|
key[Backspace]="${terminfo[kbs]}"
|
||||||
|
key[Delete]="${terminfo[kdch1]}"
|
||||||
|
key[Up]="${terminfo[kcuu1]}"
|
||||||
|
key[Down]="${terminfo[kcud1]}"
|
||||||
|
key[Left]="${terminfo[kcub1]}"
|
||||||
|
key[Right]="${terminfo[kcuf1]}"
|
||||||
|
key[PageUp]="${terminfo[kpp]}"
|
||||||
|
key[PageDown]="${terminfo[knp]}"
|
||||||
|
key[Shift-Tab]="${terminfo[kcbt]}"
|
||||||
|
|
||||||
|
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
|
||||||
|
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
|
||||||
|
[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
|
||||||
|
[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
|
||||||
|
[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
|
||||||
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
|
||||||
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
|
||||||
|
[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
|
||||||
|
[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
|
||||||
|
[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
|
||||||
|
[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
|
||||||
|
[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
|
||||||
|
|
||||||
|
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
||||||
|
autoload -Uz add-zle-hook-widget
|
||||||
|
function zle_application_mode_start { echoti smkx }
|
||||||
|
function zle_application_mode_stop { echoti rmkx }
|
||||||
|
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
|
||||||
|
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
|
||||||
|
fi
|
||||||
|
|
||||||
|
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
|
||||||
|
zle -N up-line-or-beginning-search
|
||||||
|
zle -N down-line-or-beginning-search
|
||||||
|
|
||||||
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
|
||||||
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
|
||||||
|
|
||||||
|
key[Control-Left]="${terminfo[kLFT5]}"
|
||||||
|
key[Control-Right]="${terminfo[kRIT5]}"
|
||||||
|
|
||||||
|
[[ -n "${key[Control-Left]}" ]] && bindkey -- "${key[Control-Left]}" backward-word
|
||||||
|
[[ -n "${key[Control-Right]}" ]] && bindkey -- "${key[Control-Right]}" forward-word
|
||||||
5
dot_config/zsh/config/executable_options.zsh
Normal file
5
dot_config/zsh/config/executable_options.zsh
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
unsetopt beep
|
||||||
|
setopt inc_append_history
|
||||||
|
setopt share_history
|
||||||
|
setopt hist_ignore_dups
|
||||||
|
setopt hist_ignore_all_dups
|
||||||
17
dot_config/zsh/config/rehash.zsh
Normal file
17
dot_config/zsh/config/rehash.zsh
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# https://wiki.archlinux.org/title/Zsh#On-demand_rehash
|
||||||
|
|
||||||
|
zshcache_time="$(date +%s%N)"
|
||||||
|
|
||||||
|
autoload -Uz add-zsh-hook
|
||||||
|
|
||||||
|
rehash_precmd() {
|
||||||
|
if [[ -e /var/cache/zsh/pacman ]]; then
|
||||||
|
local paccache_time="$(date -r /var/cache/zsh/pacman +%s%N)"
|
||||||
|
if ((zshcache_time < paccache_time)); then
|
||||||
|
rehash
|
||||||
|
zshcache_time="$paccache_time"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
add-zsh-hook -Uz precmd rehash_precmd
|
||||||
98
executable_dot_zshrc
Normal file
98
executable_dot_zshrc
Normal file
|
|
@ -0,0 +1,98 @@
|
||||||
|
if [[ -n "${ZSH_DEBUG_STARTUP+1}" ]]; then
|
||||||
|
zmodload zsh/zprof
|
||||||
|
fi
|
||||||
|
|
||||||
|
HISTFILE=~/.histfile
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
setopt INC_APPEND_HISTORY
|
||||||
|
|
||||||
|
export EDITOR=nvim
|
||||||
|
export MANPAGER='nvim +Man!'
|
||||||
|
|
||||||
|
setopt PROMPT_SUBST
|
||||||
|
PROMPT=$'\n%n@%m %~%(?..%F{red}) %%%f '
|
||||||
|
|
||||||
|
zstyle :compinstall filename '$HOME/.zshrc'
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
autoload -Uz compinit
|
||||||
|
if [[ ! -f ~/.zcompdump || -f ~/.zcompdump(N.mh+24) ]]; then
|
||||||
|
compinit
|
||||||
|
else
|
||||||
|
compinit -C
|
||||||
|
fi
|
||||||
|
export PATH="$PATH:$HOME/.local/bin"
|
||||||
|
export PATH="$PATH:$HOME/.cargo/bin"
|
||||||
|
|
||||||
|
for file in "$XDG_CONFIG_HOME"/zsh/config/*.zsh(N); do
|
||||||
|
[ -r "$file" ] && source "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
function plugin-compile {
|
||||||
|
ZPLUGINDIR=${ZPLUGINDIR:-"$XDG_CONFIG_HOME"/zsh/plugins}
|
||||||
|
autoload -U zrecompile
|
||||||
|
local f
|
||||||
|
for f in "$ZPLUGINDIR"/**/*.zsh{,-theme}(N); do
|
||||||
|
zrecompile -pq "$f"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function plugin-clone {
|
||||||
|
ZPLUGINDIR=${ZPLUGINDIR:-"$XDG_CONFIG_HOME"/zsh/plugins}
|
||||||
|
local repo plugdir initfile initfiles=()
|
||||||
|
for repo in "$@"; do
|
||||||
|
plugdir="$ZPLUGINDIR"/${repo:t}
|
||||||
|
initfile=$plugdir/${repo:t}.plugin.zsh
|
||||||
|
if [[ ! -d $plugdir ]]; then
|
||||||
|
echo "Cloning $repo..."
|
||||||
|
git clone -q --depth 1 --recursive --shallow-submodules \
|
||||||
|
https://github.com/$repo $plugdir
|
||||||
|
fi
|
||||||
|
if [[ ! -e $initfile ]]; then
|
||||||
|
initfiles=($plugdir/*.{plugin.zsh,zsh-theme,zsh,sh}(N))
|
||||||
|
(($#initfiles)) && ln -sf $initfiles[1] $initfile
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
plugin-compile
|
||||||
|
}
|
||||||
|
|
||||||
|
function plugin-source {
|
||||||
|
local plugdir
|
||||||
|
ZPLUGINDIR=${ZPLUGINDIR:-"$XDG_CONFIG_HOME"/zsh/plugins}
|
||||||
|
for plugdir in "$@"; do
|
||||||
|
[[ $plugdir = /* ]] || plugdir="$ZPLUGINDIR"/$plugdir
|
||||||
|
fpath+=$plugdir
|
||||||
|
local initfile=$plugdir/${plugdir:t}.plugin.zsh
|
||||||
|
(($+functions[zsh-defer])) && zsh-defer . $initfile || . $initfile
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function plugin-update {
|
||||||
|
ZPLUGINDIR=${ZPLUGINDIR:-"$XDG_CONFIG_HOME"/zsh/plugins}
|
||||||
|
local d
|
||||||
|
for d in "$ZPLUGINDIR"/*/.git(/); do
|
||||||
|
echo "Updating ${d:h:t}..."
|
||||||
|
command git -C "${d:h}" pull --ff --recurse-submodules --depth 1 --rebase --autostash
|
||||||
|
done
|
||||||
|
plugin-compile
|
||||||
|
echo "Plugins updated"
|
||||||
|
}
|
||||||
|
|
||||||
|
ZSH_PLUGIN_REPOS=(
|
||||||
|
hlissner/zsh-autopair
|
||||||
|
zsh-users/zsh-autosuggestions
|
||||||
|
zsh-users/zsh-syntax-highlighting # https://github.com/zsh-users/zsh-syntax-highlighting#why-must-zsh-syntax-highlightingzsh-be-sourced-at-the-end-of-the-zshrc-file
|
||||||
|
)
|
||||||
|
|
||||||
|
# Plugin bootstrap
|
||||||
|
if [[ ! -d ${ZPLUGINDIR:-"$XDG_CONFIG_HOME"/zsh/plugins} ]]; then
|
||||||
|
echo "Bootstraping plugins..."
|
||||||
|
plugin-clone "${ZSH_PLUGIN_REPOS[@]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
plugin-source "${(@)ZSH_PLUGIN_REPOS:t}"
|
||||||
|
|
||||||
|
if [ -n "${ZSH_DEBUG_STARTUP+1}" ]; then
|
||||||
|
zprof
|
||||||
|
fi
|
||||||
14
private_dot_ssh/config
Normal file
14
private_dot_ssh/config
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
AddKeysToAgent yes
|
||||||
|
|
||||||
|
Match host github.com user git
|
||||||
|
IdentityFile ~/.ssh/id_ed25519_github
|
||||||
|
IdentitiesOnly yes
|
||||||
|
|
||||||
|
Match host git.wekuz.localplayer.dev user git
|
||||||
|
Port 15837
|
||||||
|
IdentityFile ~/.ssh/id_ed25519_github
|
||||||
|
IdentitiesOnly yes
|
||||||
|
|
||||||
|
Match host 192.168.1.111 user wekuz
|
||||||
|
IdentityFile ~/.ssh/id_ed25519_raspberrypie
|
||||||
|
IdentitiesOnly yes
|
||||||
Loading…
Add table
Reference in a new issue