Initial commit
This commit is contained in:
commit
5f78d74eca
178 changed files with 1952 additions and 0 deletions
64
.config/dunst/dunstrc
Normal file
64
.config/dunst/dunstrc
Normal file
|
@ -0,0 +1,64 @@
|
|||
[global]
|
||||
monitor = 0
|
||||
follow = mouse
|
||||
width = 320
|
||||
origin = top-right
|
||||
offset = (4, 4)
|
||||
|
||||
progress_bar = true
|
||||
progress_bar_height = 10
|
||||
progress_bar_frame_width = 1
|
||||
progress_bar_min_width = 150
|
||||
progress_bar_max_width = 320
|
||||
progress_bar_corner_radius = 5
|
||||
|
||||
indicate_hidden = yes
|
||||
shrink = no
|
||||
separator_height = 2
|
||||
separator_color = frame
|
||||
padding = 8
|
||||
horizontal_padding = 8
|
||||
frame_width = 0
|
||||
corner_radius = 0
|
||||
sort = yes
|
||||
idle_threshold = 120
|
||||
|
||||
font = SF Mono 12
|
||||
line_height = 0
|
||||
markup = full
|
||||
format = "<b>%s</b>\n%b"
|
||||
alignment = left
|
||||
vertical_alignment = center
|
||||
show_age_threshold = 60
|
||||
word_wrap = yes
|
||||
ellipsize = middle
|
||||
ignore_newline = no
|
||||
stack_duplicates = true
|
||||
hide_duplicate_count = false
|
||||
show_indicators = yes
|
||||
icon_position = off
|
||||
min_icon_size = 50
|
||||
max_icon_size = 60
|
||||
icon_path = $HOME/.local/share/icons/dunst
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
ignore_dbusclose = false
|
||||
force_xwayland = false
|
||||
force_xinerama = false
|
||||
mouse_left_click = do_action, close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
[experimental]
|
||||
per_monitor_dpi = false
|
||||
|
||||
|
||||
[urgency_normal]
|
||||
background = "#CCCCCC99"
|
||||
foreground = "#474747"
|
||||
frame_color = "#00000000"
|
||||
highlight = "#474747"
|
||||
timeout = 5
|
39
.config/fastfetch/config.jsonc
Normal file
39
.config/fastfetch/config.jsonc
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"type": "small"
|
||||
},
|
||||
"display": {
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"type": "os",
|
||||
"key": ""
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": "",
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": ""
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": ""
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": ""
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": ""
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": ""
|
||||
}
|
||||
]
|
||||
}
|
23
.config/fontconfig/fonts.conf
Normal file
23
.config/fontconfig/fonts.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?xml version='1.0'?>
|
||||
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>SF Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>SF Pro</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>SF Mono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
||||
|
34
.config/hypr/hypridle.conf
Normal file
34
.config/hypr/hypridle.conf
Normal file
|
@ -0,0 +1,34 @@
|
|||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances
|
||||
before_sleep_cmd = loginctl lock-session # lock before suspend
|
||||
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 150 # 2.5min
|
||||
on-timeout = brightnessctl -sd chromeos::kbd_backlight set 0 # keyboard backlight off when timeout has passed
|
||||
on-resume = brightnessctl -rd rgb:kbd_backlight # keyboard backlight on when activity is detected after timeout has fired
|
||||
}
|
||||
|
||||
|
||||
listener {
|
||||
timeout = 300 # 5min
|
||||
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 330 # 5.5min
|
||||
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 1800 # 30min
|
||||
on-timeout = loginctl suspend # suspend
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 3600 # 1h
|
||||
on-timeout = loginctl poweroff # poweroff
|
||||
}
|
||||
|
162
.config/hypr/hyprland.conf
Normal file
162
.config/hypr/hyprland.conf
Normal file
|
@ -0,0 +1,162 @@
|
|||
monitor = desc:BOE 0x0BCA,2256x1504@60.0,0x0,1.6
|
||||
monitor = desc:Dell Inc. DELL U2415 PVJVW5B70A5S,1920x1200@59.95,1410x0,1.0
|
||||
|
||||
workspace = 1,monitor:desc:Dell Inc. DELL U2415 PVJVW5B70A5S
|
||||
workspace = 2,monitor:desc:Dell Inc. DELL U2415 PVJVW5B70A5S
|
||||
workspace = 3,monitor:desc:Dell Inc. DELL U2415 PVJVW5B70A5S
|
||||
workspace = 4,monitor:desc:BOE 0x0BCA
|
||||
|
||||
exec-once = hyprpaper
|
||||
exec-once = hypridle
|
||||
exec-once = waybar
|
||||
exec-once = pipewire
|
||||
exec-once = pipewire-pulse
|
||||
exec-once = wireplumber
|
||||
exec-once = wlsunset -S 7:00 -s 21:00
|
||||
exec-once = wl-paste --type text --watch cliphist store
|
||||
exec-once = wl-paste --type image --watch cliphist store
|
||||
exec-once = cliphist wipe
|
||||
|
||||
env = HYPRCURSOR_THEME,Posy-Cursor-Mono-Black
|
||||
env = HYPRCURSOR_SIZE,32
|
||||
env = XCURSOR_THEME,Posy-Cursor-Mono-Black
|
||||
env = XCURSOR_SIZE,32
|
||||
|
||||
input {
|
||||
#kb_layout = us
|
||||
kb_layout = us,us
|
||||
kb_variant = ,colemak_dh
|
||||
kb_options = grp:alt_space_toggle
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
disable_while_typing = false
|
||||
}
|
||||
}
|
||||
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
}
|
||||
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 4
|
||||
border_size = 0
|
||||
layout = master
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 0
|
||||
active_opacity = 1
|
||||
inactive_opacity = 1
|
||||
fullscreen_opacity = 1
|
||||
blur {
|
||||
enabled = true
|
||||
size = 8
|
||||
passes = 2
|
||||
new_optimizations = true
|
||||
xray = false
|
||||
ignore_opacity = true
|
||||
}
|
||||
shadow {
|
||||
enabled = true
|
||||
color = rgba(47474799)
|
||||
color_inactive = rgba(33333366)
|
||||
offset = -8 8
|
||||
range = 16
|
||||
render_power = 4
|
||||
ignore_window = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
bezier = ease_out, 0.2, 1, 0.6, 1
|
||||
|
||||
animation = windows, 1, 4, ease_out, slide
|
||||
animation = windowsIn, 1, 4, ease_out, slide
|
||||
animation = windowsOut, 1, 4, ease_out, slide
|
||||
animation = windowsMove, 1, 4, ease_out, slide
|
||||
animation = workspaces, 1, 4, ease_out
|
||||
}
|
||||
|
||||
master {
|
||||
orientation = left
|
||||
new_on_top = true
|
||||
drop_at_cursor = false
|
||||
mfact = 0.5
|
||||
}
|
||||
|
||||
xwayland {
|
||||
force_zero_scaling = true
|
||||
}
|
||||
|
||||
ecosystem {
|
||||
no_update_news = true
|
||||
}
|
||||
|
||||
misc {
|
||||
force_default_wallpaper = 0
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
}
|
||||
|
||||
layerrule = blur,waybar
|
||||
#windowrule = float,class:(org.pulseaudio.pavucontrol)
|
||||
#windowrule = center,class:(org.pulseaudio.pavucontrol)
|
||||
#windowrule = opacity 0.99 0.99, class:^(zen)$
|
||||
|
||||
bind = SUPER, Q, killactive,
|
||||
bind = SUPER, E, exec, $TERMINAL
|
||||
bind = SUPER, ESCAPE, exec, waybar-reload
|
||||
bind = SUPER, B, exec, wallpaper
|
||||
bind = SUPER, SPACE, exec, tofi-drun --drun-launch=true
|
||||
bind = SUPER, F, fullscreen
|
||||
bind = SUPER SHIFT, F, exec, hyprctl dispatch togglefloating active && hyprctl dispatch resizeactive exact 50% 50% && hyprctl dispatch centerwindow
|
||||
bind = SUPER, X, exec, powermenu
|
||||
bind = SUPER, C, exec, bemoji
|
||||
bind = SUPER, V, exec, cliphist list | tofi -c "$XDG_CONFIG_HOME"/tofi/history-config | cliphist decode | wl-copy
|
||||
bind = SUPER, L, exec, toggle_eDP-1
|
||||
bind = , XF86AudioMute, exec, volume mute
|
||||
binde = , XF86AudioLowerVolume, exec, volume down
|
||||
binde = , XF86AudioRaiseVolume, exec, volume up
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
binde = , XF86MonBrightnessDown, exec, backlight down
|
||||
binde = , XF86MonBrightnessUp, exec, backlight up
|
||||
|
||||
|
||||
bind = , Print, exec, grimblast copysave screen ~/$(date +%Y-%m-%dT%H:%M:%S).png
|
||||
bind = , XF86AudioMedia, exec, record
|
||||
bind = ALT, Print, exec, grimblast copysave area ~/$(date +%Y-%m-%dT%H:%M:%S).png
|
||||
binds = ALT, XF86AudioMedia, exec, record-slurp
|
||||
|
||||
bind = SUPER, h, movefocus, l
|
||||
bind = SUPER, l, movefocus, r
|
||||
bind = SUPER, k, movefocus, u
|
||||
bind = SUPER, j, movefocus, d
|
||||
|
||||
bind = SUPER SHIFT, h, movewindow, l
|
||||
bind = SUPER SHIFT, l, movewindow, r
|
||||
bind = SUPER SHIFT, k, movewindow, u
|
||||
bind = SUPER SHIFT, j, movewindow, d
|
||||
|
||||
binde = SUPER CONTROL, h, resizeactive, -20 0
|
||||
binde = SUPER CONTROL, l, resizeactive, 20 0
|
||||
binde = SUPER CONTROL, k, resizeactive, 0 -20
|
||||
binde = SUPER CONTROL, j, resizeactive, 0 20
|
||||
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, 2, workspace, 2
|
||||
bind = SUPER, 3, workspace, 3
|
||||
bind = SUPER, 4, workspace, 4
|
||||
bind = SUPER, 5, workspace, 5
|
||||
|
||||
bind = SUPER SHIFT, 1, movetoworkspace, 1
|
||||
bind = SUPER SHIFT, 2, movetoworkspace, 2
|
||||
bind = SUPER SHIFT, 3, movetoworkspace, 3
|
||||
bind = SUPER SHIFT, 4, movetoworkspace, 4
|
||||
bind = SUPER SHIFT, 5, movetoworkspace, 5
|
||||
|
||||
bindm = SUPER, mouse:272, movewindow
|
58
.config/hypr/hyprlock.conf
Executable file
58
.config/hypr/hyprlock.conf
Executable file
|
@ -0,0 +1,58 @@
|
|||
general {
|
||||
disable_loading_bar = true
|
||||
hide_cursor = true
|
||||
ignore_empty_input = true
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = ~/.local/share/wallpapers/Vd7GLQc.png
|
||||
brightness = 1
|
||||
vibrancy = 0
|
||||
noise = 0
|
||||
#blur_size = 8
|
||||
#blur_passes = 2
|
||||
}
|
||||
|
||||
input-field {
|
||||
size = 256, 64
|
||||
dots_spacing = 0.2
|
||||
dots_size = 0.4
|
||||
dots_center = true
|
||||
# dots_rounding = 0
|
||||
inner_color = rgba(0, 0, 0, 0)
|
||||
font_color = rgb(71, 71, 71)
|
||||
fade_on_empty = true
|
||||
outer_color = #fff;
|
||||
placeholder_text = <i></i> # Text rendered in the input box when it's empty.
|
||||
hide_input = false
|
||||
rounding = -1 # -1 means complete rounding (circle/oval)
|
||||
check_color = #fff;
|
||||
fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
|
||||
fail_text = <i>$FAIL <b>($ATTEMPTS)</b></i> # can be set to empty
|
||||
fail_transition = 256 # transition time in ms between normal outer_color and fail_color
|
||||
position = 0, 50
|
||||
halign = center
|
||||
valign = bottom
|
||||
}
|
||||
|
||||
shape {
|
||||
monitor =
|
||||
size = 448, 128
|
||||
color = rgba(204, 204, 204, 0.6)
|
||||
rounding = 16
|
||||
position = 0, 0
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +"%H:%M:%S")"
|
||||
color = rgb(71, 71, 71)
|
||||
font_size = 64
|
||||
font_family = SF Pro
|
||||
position = 0, 0
|
||||
halign = center
|
||||
valign = center
|
||||
}
|
4
.config/hypr/hyprpaper.conf
Executable file
4
.config/hypr/hyprpaper.conf
Executable file
|
@ -0,0 +1,4 @@
|
|||
preload = $XDG_DATA_HOME/wallpapers/Vd7GLQc.png
|
||||
wallpaper = ,$XDG_DATA_HOME/wallpapers/Vd7GLQc.png
|
||||
splash = false
|
||||
ipc = true
|
32
.config/kitty/kitty.conf
Executable file
32
.config/kitty/kitty.conf
Executable file
|
@ -0,0 +1,32 @@
|
|||
window_margin_width 8
|
||||
remember_window_size no
|
||||
background_opacity 0.6
|
||||
cursor_shape beam
|
||||
mouse_hide_wait 2
|
||||
repaint_delay 10
|
||||
input_delay 4
|
||||
sync_to_monitor yes
|
||||
confirm_os_window_close -1
|
||||
|
||||
map ctrl+c copy_to_clipboard
|
||||
map ctrl+v paste_from_clipboard
|
||||
map ctrl+shift+c send_text all \x03
|
||||
map ctrl+t new_tab
|
||||
map ctrl+w close_tab
|
||||
map ctrl+q close_window
|
||||
map alt+k scroll_line_up
|
||||
map alt+j scroll_line_down
|
||||
map ctrl+u scroll_page_up
|
||||
map ctrl+d scroll_page_down
|
||||
map alt+1 goto_tab 1
|
||||
map alt+2 goto_tab 2
|
||||
map alt+3 goto_tab 3
|
||||
map alt+4 goto_tab 4
|
||||
|
||||
font_size 12
|
||||
font_family "SF Mono"
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
include theme.conf
|
46
.config/kitty/theme.conf
Executable file
46
.config/kitty/theme.conf
Executable file
|
@ -0,0 +1,46 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: E-Ink
|
||||
## author: Algilbert Gomez (https://github.com/alexxGmZ)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/alexxGmZ/e-ink.kitty/blob/main/E-Ink.conf
|
||||
## blurb: A grayscale theme aiming to imitate e-ink displays.
|
||||
|
||||
foreground #474747
|
||||
background #CCCCCC
|
||||
selection_foreground none
|
||||
selection_background #AEAEAE
|
||||
|
||||
cursor none
|
||||
|
||||
# black
|
||||
color0 #CCCCCC
|
||||
color8 #5E5E5E
|
||||
|
||||
# red
|
||||
color1 #333333
|
||||
color9 #333333
|
||||
|
||||
# green
|
||||
color2 #9A9A9A
|
||||
color10 #9A9A9A
|
||||
|
||||
# yellow
|
||||
color3 #868686
|
||||
color11 #868686
|
||||
|
||||
# blue
|
||||
color4 #727272
|
||||
color12 #727272
|
||||
|
||||
# magenta
|
||||
color5 #AEAEAE
|
||||
color13 #AEAEAE
|
||||
|
||||
# cyan
|
||||
color6 #4A4A4A
|
||||
color14 #4A4A4A
|
||||
|
||||
# black
|
||||
color7 #5E5E5E
|
||||
color15 #7C7C7C
|
8
.config/nvim/.gitignore
vendored
Normal file
8
.config/nvim/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
15
.config/nvim/.neoconf.json
Normal file
15
.config/nvim/.neoconf.json
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
201
.config/nvim/LICENSE
Normal file
201
.config/nvim/LICENSE
Normal file
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
2
.config/nvim/init.lua
Normal file
2
.config/nvim/init.lua
Normal file
|
@ -0,0 +1,2 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
35
.config/nvim/lazy-lock.json
Normal file
35
.config/nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
|
||||
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
||||
"e-ink.nvim": { "branch": "main", "commit": "0f9131236ef0f443144d5545db02fa726f80bbd3" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "731b581428ec6c1ccb451b95190ebbc6d7006db7" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "1a85fba510c6086b396be5a3c7c77ab32829d7df" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"mini.ai": { "branch": "main", "commit": "d172ada7b0281044a06cb9a625a862553c457b6f" },
|
||||
"mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" },
|
||||
"mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "7ad4a11cc5742774877c529fcfb2702f7caf75e4" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
}
|
10
.config/nvim/lazyvim.json
Normal file
10
.config/nvim/lazyvim.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"extras": [
|
||||
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
},
|
||||
"version": 8
|
||||
}
|
8
.config/nvim/lua/config/autocmds.lua
Normal file
8
.config/nvim/lua/config/autocmds.lua
Normal file
|
@ -0,0 +1,8 @@
|
|||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
--
|
||||
-- Add any additional autocmds here
|
||||
-- with `vim.api.nvim_create_autocmd`
|
||||
--
|
||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
3
.config/nvim/lua/config/keymaps.lua
Normal file
3
.config/nvim/lua/config/keymaps.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
53
.config/nvim/lua/config/lazy.lua
Normal file
53
.config/nvim/lua/config/lazy.lua
Normal file
|
@ -0,0 +1,53 @@
|
|||
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)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
3
.config/nvim/lua/config/options.lua
Normal file
3
.config/nvim/lua/config/options.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
21
.config/nvim/lua/plugins/colorscheme.lua
Normal file
21
.config/nvim/lua/plugins/colorscheme.lua
Normal file
|
@ -0,0 +1,21 @@
|
|||
return {
|
||||
"e-ink-colorscheme/e-ink.nvim",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("e-ink").setup()
|
||||
vim.cmd.colorscheme("e-ink")
|
||||
|
||||
-- choose light mode or dark mode
|
||||
-- vim.opt.background = "dark"
|
||||
vim.opt.background = "light"
|
||||
|
||||
-- or do
|
||||
-- :set background=dark
|
||||
-- :set background=light
|
||||
|
||||
-- transparent background
|
||||
local set_hl = vim.api.nvim_set_hl
|
||||
local mono = require("e-ink.palette").mono()
|
||||
set_hl(0, "Normal", { fg = mono[12], bg = "NONE" })
|
||||
end,
|
||||
}
|
17
.config/nvim/lua/plugins/colorscheme.lua.old
Normal file
17
.config/nvim/lua/plugins/colorscheme.lua.old
Normal file
|
@ -0,0 +1,17 @@
|
|||
return {
|
||||
{
|
||||
"tinted-theming/tinted-vim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.g.tinted_background_transparent = 1
|
||||
vim.cmd.colorscheme("base16-grayscale-dark")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "base16-grayscale-dark",
|
||||
},
|
||||
},
|
||||
}
|
3
.config/nvim/stylua.toml
Normal file
3
.config/nvim/stylua.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
7
.config/paru/paru.conf
Normal file
7
.config/paru/paru.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
[options]
|
||||
AurOnly
|
||||
SkipReview
|
||||
CleanAfter
|
||||
RemoveMake
|
||||
[bin]
|
||||
Sudo = doas
|
26
.config/starship.toml
Normal file
26
.config/starship.toml
Normal file
|
@ -0,0 +1,26 @@
|
|||
format = """
|
||||
[](fg:color5)\
|
||||
$directory\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
[ ](fg:color5)\
|
||||
"""
|
||||
|
||||
palette = "grayscale-dark"
|
||||
|
||||
[directory]
|
||||
style = "bg:color5 fg:color0"
|
||||
format = "[ $path ]($style)"
|
||||
truncation_length = 3
|
||||
truncation_symbol = "…/"
|
||||
|
||||
[git_branch]
|
||||
symbol = ""
|
||||
format = '[[ $symbol $branch ](bg:color5 fg:color0)]($style)'
|
||||
|
||||
[git_status]
|
||||
format = '[[($all_status$ahead_behind )](bg:color5 fg:color0)]($style)'
|
||||
|
||||
[palettes.grayscale-dark]
|
||||
color0 = "#CCCCCC"
|
||||
color5 = "#474747"
|
18
.config/tofi/config
Normal file
18
.config/tofi/config
Normal file
|
@ -0,0 +1,18 @@
|
|||
prompt-text = " "
|
||||
|
||||
text-color = #5e5e5e
|
||||
prompt-color = #474747
|
||||
selection-color = #474747
|
||||
background-color = #CCCCCC99
|
||||
|
||||
width = 100%
|
||||
padding-left = 44%
|
||||
padding-top = 32%
|
||||
height = 100%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
result-spacing = 8
|
||||
num-results = 6
|
||||
font = $XDG_DATA_HOME/fonts/SanFrancisco/SF-Mono.otf
|
||||
font-variations = "wght 600"
|
||||
font-size = 20
|
18
.config/tofi/history-config
Normal file
18
.config/tofi/history-config
Normal file
|
@ -0,0 +1,18 @@
|
|||
prompt-text = "> "
|
||||
|
||||
text-color = #5e5e5e
|
||||
prompt-color = #474747
|
||||
selection-color = #474747
|
||||
background-color = #CCCCCC99
|
||||
|
||||
width = 100%
|
||||
padding-left = 36%
|
||||
padding-top = 32%
|
||||
height = 100%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
result-spacing = 4
|
||||
num-results = 8
|
||||
font = $XDG_DATA_HOME/fonts/SanFrancisco/SF-Mono.otf
|
||||
font-variations = "wght 600"
|
||||
font-size = 16
|
102
.config/wezterm/wezterm.lua
Normal file
102
.config/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,102 @@
|
|||
local wezterm = require("wezterm")
|
||||
local config = {}
|
||||
|
||||
-- Window settings
|
||||
config.window_padding = {
|
||||
left = 16,
|
||||
right = 16,
|
||||
top = 4,
|
||||
bottom = 4,
|
||||
}
|
||||
|
||||
config.window_close_confirmation = "NeverPrompt"
|
||||
config.window_background_opacity = 0.8
|
||||
config.default_cursor_style = "BlinkingBar"
|
||||
config.hide_mouse_cursor_when_typing = true
|
||||
|
||||
-- Font settings
|
||||
config.font = wezterm.font_with_fallback({
|
||||
"SF Mono",
|
||||
})
|
||||
config.font_size = 12
|
||||
|
||||
-- Key bindings (your original shortcuts)
|
||||
config.keys = {
|
||||
{ key = "c", mods = "CTRL", action = wezterm.action.CopyTo("Clipboard") },
|
||||
{ key = "v", mods = "CTRL", action = wezterm.action.PasteFrom("Clipboard") },
|
||||
{ key = "c", mods = "CTRL|SHIFT", action = wezterm.action.SendString("\x03") },
|
||||
{ key = "t", mods = "CTRL", action = wezterm.action.SpawnTab("DefaultDomain") },
|
||||
{ key = "w", mods = "CTRL", action = wezterm.action.CloseCurrentTab({ confirm = false }) },
|
||||
{ key = "q", mods = "CTRL", action = wezterm.action.CloseCurrentPane({ confirm = false }) },
|
||||
{ key = "k", mods = "ALT", action = wezterm.action.ScrollByLine(-1) },
|
||||
{ key = "j", mods = "ALT", action = wezterm.action.ScrollByLine(1) },
|
||||
{ key = "1", mods = "ALT", action = wezterm.action.ActivateTab(0) },
|
||||
{ key = "2", mods = "ALT", action = wezterm.action.ActivateTab(1) },
|
||||
{ key = "3", mods = "ALT", action = wezterm.action.ActivateTab(2) },
|
||||
{ key = "4", mods = "ALT", action = wezterm.action.ActivateTab(3) },
|
||||
}
|
||||
|
||||
-- E-Ink color scheme
|
||||
config.color_schemes = {
|
||||
["E-Ink"] = {
|
||||
foreground = "#474747",
|
||||
background = "#CCCCCC",
|
||||
cursor_bg = "none",
|
||||
selection_fg = "none",
|
||||
selection_bg = "#AEAEAE",
|
||||
ansi = {
|
||||
"#CCCCCC",
|
||||
"#333333",
|
||||
"#9A9A9A",
|
||||
"#868686",
|
||||
"#727272",
|
||||
"#AEAEAE",
|
||||
"#4A4A4A",
|
||||
"#5E5E5E",
|
||||
},
|
||||
brights = {
|
||||
"#5E5E5E",
|
||||
"#333333",
|
||||
"#9A9A9A",
|
||||
"#868686",
|
||||
"#727272",
|
||||
"#AEAEAE",
|
||||
"#4A4A4A",
|
||||
"#7C7C7C",
|
||||
},
|
||||
},
|
||||
}
|
||||
config.color_scheme = "E-Ink"
|
||||
|
||||
-- Tab bar styling to match theme
|
||||
config.colors = {
|
||||
tab_bar = {
|
||||
background = "#CCCCCC",
|
||||
active_tab = {
|
||||
bg_color = "#AEAEAE",
|
||||
fg_color = "#474747",
|
||||
},
|
||||
inactive_tab = {
|
||||
bg_color = "#CCCCCC",
|
||||
fg_color = "#7C7C7C",
|
||||
},
|
||||
inactive_tab_hover = {
|
||||
bg_color = "#AEAEAE",
|
||||
fg_color = "#474747",
|
||||
},
|
||||
new_tab = {
|
||||
bg_color = "#CCCCCC",
|
||||
fg_color = "#474747",
|
||||
},
|
||||
new_tab_hover = {
|
||||
bg_color = "#AEAEAE",
|
||||
fg_color = "#474747",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- Tab bar behavior
|
||||
config.use_fancy_tab_bar = false
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
|
||||
return config
|
19
.config/yazi/init.lua
Normal file
19
.config/yazi/init.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
require("full-border"):setup()
|
||||
|
||||
Status:children_add(function()
|
||||
local h = cx.active.current.hovered
|
||||
if h == nil or ya.target_family() ~= "unix" then
|
||||
return ""
|
||||
end
|
||||
|
||||
return ui.Line({
|
||||
ui.Span(ya.user_name(h.cha.uid) or tostring(h.cha.uid)):fg("magenta"),
|
||||
":",
|
||||
ui.Span(ya.group_name(h.cha.gid) or tostring(h.cha.gid)):fg("magenta"),
|
||||
" ",
|
||||
})
|
||||
end, 500, Status.RIGHT)
|
||||
|
||||
require("session"):setup({
|
||||
sync_yanked = true,
|
||||
})
|
355
.config/yazi/keymap.toml
Normal file
355
.config/yazi/keymap.toml
Normal file
|
@ -0,0 +1,355 @@
|
|||
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||
"$schema" = "https://yazi-rs.github.io/schemas/keymap.json"
|
||||
|
||||
[mgr]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
|
||||
{ on = "q", run = "quit", desc = "Quit the process" },
|
||||
{ on = "Q", run = "quit --no-cwd-file", desc = "Quit the process without outputting cwd-file" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close the current tab, or quit if it's last" },
|
||||
{ on = "<C-z>", run = "suspend", desc = "Suspend the process" },
|
||||
|
||||
# Hopping
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<C-u>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<C-d>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<C-b>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<C-f>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = "<S-PageUp>", run = "arrow -50%", desc = "Move cursor up half page" },
|
||||
{ on = "<S-PageDown>", run = "arrow 50%", desc = "Move cursor down half page" },
|
||||
{ on = "<PageUp>", run = "arrow -100%", desc = "Move cursor up one page" },
|
||||
{ on = "<PageDown>", run = "arrow 100%", desc = "Move cursor down one page" },
|
||||
|
||||
{ on = [ "g", "g" ], run = "arrow top", desc = "Move cursor to the top" },
|
||||
{ on = "G", run = "arrow bot", desc = "Move cursor to the bottom" },
|
||||
|
||||
# Navigation
|
||||
{ on = "h", run = "leave", desc = "Go back to the parent directory" },
|
||||
{ on = "l", run = "plugin smart-enter", desc = "Enter the child directory, or open the file" },
|
||||
|
||||
{ on = "<Left>", run = "leave", desc = "Go back to the parent directory" },
|
||||
{ on = "<Right>", run = "enter", desc = "Enter the child directory" },
|
||||
|
||||
{ on = "H", run = "back", desc = "Go back to the previous directory" },
|
||||
{ on = "L", run = "forward", desc = "Go forward to the next directory" },
|
||||
|
||||
# Toggle
|
||||
{ on = "<Space>", run = [ "toggle", "arrow 1" ], desc = "Toggle the current selection state" },
|
||||
{ on = "<C-a>", run = "toggle_all --state=on", desc = "Select all files" },
|
||||
{ on = "<C-r>", run = "toggle_all", desc = "Invert selection of all files" },
|
||||
|
||||
# Visual mode
|
||||
{ on = "v", run = "visual_mode", desc = "Enter visual mode (selection mode)" },
|
||||
{ on = "V", run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
|
||||
|
||||
# Seeking
|
||||
{ on = "K", run = "seek -5", desc = "Seek up 5 units in the preview" },
|
||||
{ on = "J", run = "seek 5", desc = "Seek down 5 units in the preview" },
|
||||
|
||||
# Spotting
|
||||
{ on = "<Tab>", run = "spot", desc = "Spot hovered file" },
|
||||
|
||||
# Operation
|
||||
{ on = "o", run = "open", desc = "Open selected files" },
|
||||
{ on = "O", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "<Enter>", run = "open", desc = "Open selected files" },
|
||||
{ on = "<S-Enter>", run = "open --interactive", desc = "Open selected files interactively" },
|
||||
{ on = "y", run = "yank", desc = "Yank selected files (copy)" },
|
||||
{ on = "x", run = "yank --cut", desc = "Yank selected files (cut)" },
|
||||
{ on = "p", run = "paste", desc = "Paste yanked files" },
|
||||
{ on = "P", run = "paste --force", desc = "Paste yanked files (overwrite if the destination exists)" },
|
||||
{ on = "-", run = "link", desc = "Symlink the absolute path of yanked files" },
|
||||
{ on = "_", run = "link --relative", desc = "Symlink the relative path of yanked files" },
|
||||
{ on = "<C-->", run = "hardlink", desc = "Hardlink yanked files" },
|
||||
{ on = "Y", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "X", run = "unyank", desc = "Cancel the yank status" },
|
||||
{ on = "d", run = "remove", desc = "Trash selected files" },
|
||||
{ on = "D", run = "remove --permanently", desc = "Permanently delete selected files" },
|
||||
{ on = "a", run = "create", desc = "Create a file (ends with / for directories)" },
|
||||
{ on = "r", run = "rename --cursor=before_ext", desc = "Rename selected file(s)" },
|
||||
{ on = ";", run = "shell --interactive", desc = "Run a shell command" },
|
||||
{ on = ":", run = "shell --block --interactive", desc = "Run a shell command (block until finishes)" },
|
||||
{ on = ".", run = "hidden toggle", desc = "Toggle the visibility of hidden files" },
|
||||
{ on = "s", run = "search --via=fd", desc = "Search files by name via fd" },
|
||||
{ on = "S", run = "search --via=rg", desc = "Search files by content via ripgrep" },
|
||||
{ on = "<C-s>", run = "escape --search", desc = "Cancel the ongoing search" },
|
||||
{ on = "z", run = "plugin zoxide", desc = "Jump to a directory via zoxide" },
|
||||
{ on = "Z", run = "plugin fzf", desc = "Jump to a file/directory via fzf" },
|
||||
|
||||
# Linemode
|
||||
{ on = [ "m", "s" ], run = "linemode size", desc = "Linemode: size" },
|
||||
{ on = [ "m", "p" ], run = "linemode permissions", desc = "Linemode: permissions" },
|
||||
{ on = [ "m", "b" ], run = "linemode btime", desc = "Linemode: btime" },
|
||||
{ on = [ "m", "m" ], run = "linemode mtime", desc = "Linemode: mtime" },
|
||||
{ on = [ "m", "o" ], run = "linemode owner", desc = "Linemode: owner" },
|
||||
{ on = [ "m", "n" ], run = "linemode none", desc = "Linemode: none" },
|
||||
|
||||
# Copy
|
||||
{ on = [ "c", "c" ], run = "copy path", desc = "Copy the file path" },
|
||||
{ on = [ "c", "d" ], run = "copy dirname", desc = "Copy the directory path" },
|
||||
{ on = [ "c", "f" ], run = "copy filename", desc = "Copy the filename" },
|
||||
{ on = [ "c", "n" ], run = "copy name_without_ext", desc = "Copy the filename without extension" },
|
||||
|
||||
# Filter
|
||||
{ on = "f", run = "filter --smart", desc = "Filter files" },
|
||||
|
||||
# Find
|
||||
{ on = "/", run = "find --smart", desc = "Find next file" },
|
||||
{ on = "?", run = "find --previous --smart", desc = "Find previous file" },
|
||||
{ on = "n", run = "find_arrow", desc = "Goto the next found" },
|
||||
{ on = "N", run = "find_arrow --previous", desc = "Goto the previous found" },
|
||||
|
||||
# Sorting
|
||||
{ on = [ ",", "m" ], run = [ "sort mtime --reverse=no", "linemode mtime" ], desc = "Sort by modified time" },
|
||||
{ on = [ ",", "M" ], run = [ "sort mtime --reverse", "linemode mtime" ], desc = "Sort by modified time (reverse)" },
|
||||
{ on = [ ",", "b" ], run = [ "sort btime --reverse=no", "linemode btime" ], desc = "Sort by birth time" },
|
||||
{ on = [ ",", "B" ], run = [ "sort btime --reverse", "linemode btime" ], desc = "Sort by birth time (reverse)" },
|
||||
{ on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" },
|
||||
{ on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" },
|
||||
{ on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" },
|
||||
{ on = [ ",", "A" ], run = "sort alphabetical --reverse", desc = "Sort alphabetically (reverse)" },
|
||||
{ on = [ ",", "n" ], run = "sort natural --reverse=no", desc = "Sort naturally" },
|
||||
{ on = [ ",", "N" ], run = "sort natural --reverse", desc = "Sort naturally (reverse)" },
|
||||
{ on = [ ",", "s" ], run = [ "sort size --reverse=no", "linemode size" ], desc = "Sort by size" },
|
||||
{ on = [ ",", "S" ], run = [ "sort size --reverse", "linemode size" ], desc = "Sort by size (reverse)" },
|
||||
{ on = [ ",", "r" ], run = "sort random --reverse=no", desc = "Sort randomly" },
|
||||
|
||||
# Goto
|
||||
{ on = [ "g", "h" ], run = "cd ~", desc = "Go home" },
|
||||
{ on = [ "g", "c" ], run = "cd ~/.config", desc = "Goto ~/.config" },
|
||||
{ on = [ "g", "d" ], run = "cd ~/Downloads", desc = "Goto ~/Downloads" },
|
||||
{ on = [ "g", "<Space>" ], run = "cd --interactive", desc = "Jump interactively" },
|
||||
|
||||
# Tabs
|
||||
{ on = "t", run = "tab_create --current", desc = "Create a new tab with CWD" },
|
||||
|
||||
{ on = "1", run = "tab_switch 0", desc = "Switch to the first tab" },
|
||||
{ on = "2", run = "tab_switch 1", desc = "Switch to the second tab" },
|
||||
{ on = "3", run = "tab_switch 2", desc = "Switch to the third tab" },
|
||||
{ on = "4", run = "tab_switch 3", desc = "Switch to the fourth tab" },
|
||||
{ on = "5", run = "tab_switch 4", desc = "Switch to the fifth tab" },
|
||||
{ on = "6", run = "tab_switch 5", desc = "Switch to the sixth tab" },
|
||||
{ on = "7", run = "tab_switch 6", desc = "Switch to the seventh tab" },
|
||||
{ on = "8", run = "tab_switch 7", desc = "Switch to the eighth tab" },
|
||||
{ on = "9", run = "tab_switch 8", desc = "Switch to the ninth tab" },
|
||||
|
||||
{ on = "[", run = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
|
||||
{ on = "]", run = "tab_switch 1 --relative", desc = "Switch to the next tab" },
|
||||
|
||||
{ on = "{", run = "tab_swap -1", desc = "Swap current tab with previous tab" },
|
||||
{ on = "}", run = "tab_swap 1", desc = "Swap current tab with next tab" },
|
||||
|
||||
# Tasks
|
||||
{ on = "w", run = "tasks_show", desc = "Show task manager" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-[>", run = "close", desc = "Close task manager" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close task manager" },
|
||||
{ on = "w", run = "close", desc = "Close task manager" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Enter>", run = "inspect", desc = "Inspect the task" },
|
||||
{ on = "x", run = "cancel", desc = "Cancel the task" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[spot]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<C-[>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<C-c>", run = "close", desc = "Close the spot" },
|
||||
{ on = "<Tab>", run = "close", desc = "Close the spot" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
{ on = "h", run = "swipe -1", desc = "Swipe to the next file" },
|
||||
{ on = "l", run = "swipe 1", desc = "Swipe to the previous file" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
{ on = "<Left>", run = "swipe -1", desc = "Swipe to the next file" },
|
||||
{ on = "<Right>", run = "swipe 1", desc = "Swipe to the previous file" },
|
||||
|
||||
# Copy
|
||||
{ on = [ "c", "c" ], run = "copy cell", desc = "Copy selected cell" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[pick]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<C-[>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel pick" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the pick" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[input]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel input" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit input" },
|
||||
{ on = "<Esc>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Go back the normal mode, or cancel input" },
|
||||
|
||||
# Mode
|
||||
{ on = "i", run = "insert", desc = "Enter insert mode" },
|
||||
{ on = "a", run = "insert --append", desc = "Enter append mode" },
|
||||
{ on = "I", run = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" },
|
||||
{ on = "A", run = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
|
||||
{ on = "v", run = "visual", desc = "Enter visual mode" },
|
||||
{ on = "V", run = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" },
|
||||
|
||||
# Character-wise movement
|
||||
{ on = "h", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "l", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<Left>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<Right>", run = "move 1", desc = "Move forward a character" },
|
||||
{ on = "<C-b>", run = "move -1", desc = "Move back a character" },
|
||||
{ on = "<C-f>", run = "move 1", desc = "Move forward a character" },
|
||||
|
||||
# Word-wise movement
|
||||
{ on = "b", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "w", run = "forward", desc = "Move forward to the start of the next word" },
|
||||
{ on = "e", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
{ on = "<A-b>", run = "backward", desc = "Move back to the start of the current or previous word" },
|
||||
{ on = "<A-f>", run = "forward --end-of-word", desc = "Move forward to the end of the current or next word" },
|
||||
|
||||
# Line-wise movement
|
||||
{ on = "0", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "$", run = "move 999", desc = "Move to the EOL" },
|
||||
{ on = "<C-a>", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "<C-e>", run = "move 999", desc = "Move to the EOL" },
|
||||
{ on = "<Home>", run = "move -999", desc = "Move to the BOL" },
|
||||
{ on = "<End>", run = "move 999", desc = "Move to the EOL" },
|
||||
|
||||
# Delete
|
||||
{ on = "<Backspace>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<Delete>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
{ on = "<C-h>", run = "backspace", desc = "Delete the character before the cursor" },
|
||||
{ on = "<C-d>", run = "backspace --under", desc = "Delete the character under the cursor" },
|
||||
|
||||
# Kill
|
||||
{ on = "<C-u>", run = "kill bol", desc = "Kill backwards to the BOL" },
|
||||
{ on = "<C-k>", run = "kill eol", desc = "Kill forwards to the EOL" },
|
||||
{ on = "<C-w>", run = "kill backward", desc = "Kill backwards to the start of the current word" },
|
||||
{ on = "<A-d>", run = "kill forward", desc = "Kill forwards to the end of the current word" },
|
||||
|
||||
# Cut/Yank/Paste
|
||||
{ on = "d", run = "delete --cut", desc = "Cut the selected characters" },
|
||||
{ on = "D", run = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" },
|
||||
{ on = "c", run = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
|
||||
{ on = "C", run = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" },
|
||||
{ on = "x", run = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" },
|
||||
{ on = "y", run = "yank", desc = "Copy the selected characters" },
|
||||
{ on = "p", run = "paste", desc = "Paste the copied characters after the cursor" },
|
||||
{ on = "P", run = "paste --before", desc = "Paste the copied characters before the cursor" },
|
||||
|
||||
# Undo/Redo
|
||||
{ on = "u", run = "undo", desc = "Undo the last operation" },
|
||||
{ on = "<C-r>", run = "redo", desc = "Redo the last operation" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[confirm]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<C-[>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "<Enter>", run = "close --submit", desc = "Submit the confirm" },
|
||||
|
||||
{ on = "n", run = "close", desc = "Cancel the confirm" },
|
||||
{ on = "y", run = "close --submit", desc = "Submit the confirm" },
|
||||
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[completion]
|
||||
|
||||
keymap = [
|
||||
{ on = "<C-c>", run = "close", desc = "Cancel completion" },
|
||||
{ on = "<Tab>", run = "close --submit", desc = "Submit the completion" },
|
||||
{ on = "<Enter>", run = [ "close --submit", "close_input --submit" ], desc = "Submit the completion and input" },
|
||||
|
||||
{ on = "<A-k>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<A-j>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<C-p>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<C-n>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Help
|
||||
{ on = "~", run = "help", desc = "Open help" },
|
||||
{ on = "<F1>", run = "help", desc = "Open help" },
|
||||
]
|
||||
|
||||
[help]
|
||||
|
||||
keymap = [
|
||||
{ on = "<Esc>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "<C-[>", run = "escape", desc = "Clear the filter, or hide the help" },
|
||||
{ on = "<C-c>", run = "close", desc = "Hide the help" },
|
||||
|
||||
# Navigation
|
||||
{ on = "k", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "j", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
{ on = "<Up>", run = "arrow -1", desc = "Move cursor up" },
|
||||
{ on = "<Down>", run = "arrow 1", desc = "Move cursor down" },
|
||||
|
||||
# Filtering
|
||||
{ on = "f", run = "filter", desc = "Apply a filter for the help items" },
|
||||
]
|
12
.config/yazi/package.toml
Normal file
12
.config/yazi/package.toml
Normal file
|
@ -0,0 +1,12 @@
|
|||
[[plugin.deps]]
|
||||
use = "yazi-rs/plugins:smart-enter"
|
||||
rev = "a1738e8"
|
||||
hash = "7918aab6a71caf31b58411f789195677"
|
||||
|
||||
[[plugin.deps]]
|
||||
use = "yazi-rs/plugins:full-border"
|
||||
rev = "a1738e8"
|
||||
hash = "1f3dad061209081a6b04dd6ff2cb06c7"
|
||||
|
||||
[flavor]
|
||||
deps = []
|
21
.config/yazi/plugins/full-border.yazi/LICENSE
Normal file
21
.config/yazi/plugins/full-border.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2023 yazi-rs
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
32
.config/yazi/plugins/full-border.yazi/README.md
Normal file
32
.config/yazi/plugins/full-border.yazi/README.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
# full-border.yazi
|
||||
|
||||
Add a full border to Yazi to make it look fancier.
|
||||
|
||||

|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
ya pack -a yazi-rs/plugins:full-border
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Add this to your `init.lua` to enable the plugin:
|
||||
|
||||
```lua
|
||||
require("full-border"):setup()
|
||||
```
|
||||
|
||||
Or you can customize the border type:
|
||||
|
||||
```lua
|
||||
require("full-border"):setup {
|
||||
-- Available values: ui.Border.PLAIN, ui.Border.ROUNDED
|
||||
type = ui.Border.ROUNDED,
|
||||
}
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.
|
43
.config/yazi/plugins/full-border.yazi/main.lua
Normal file
43
.config/yazi/plugins/full-border.yazi/main.lua
Normal file
|
@ -0,0 +1,43 @@
|
|||
--- @since 25.2.26
|
||||
|
||||
local function setup(_, opts)
|
||||
local type = opts and opts.type or ui.Border.ROUNDED
|
||||
local old_build = Tab.build
|
||||
|
||||
Tab.build = function(self, ...)
|
||||
local bar = function(c, x, y)
|
||||
if x <= 0 or x == self._area.w - 1 or th.mgr.border_symbol ~= "│" then
|
||||
return ui.Bar(ui.Bar.TOP)
|
||||
end
|
||||
|
||||
return ui.Bar(ui.Bar.TOP)
|
||||
:area(
|
||||
ui.Rect { x = x, y = math.max(0, y), w = ya.clamp(0, self._area.w - x, 1), h = math.min(1, self._area.h) }
|
||||
)
|
||||
:symbol(c)
|
||||
end
|
||||
|
||||
local c = self._chunks
|
||||
self._chunks = {
|
||||
c[1]:pad(ui.Pad.y(1)),
|
||||
c[2]:pad(ui.Pad(1, c[3].w > 0 and 0 or 1, 1, c[1].w > 0 and 0 or 1)),
|
||||
c[3]:pad(ui.Pad.y(1)),
|
||||
}
|
||||
|
||||
local style = th.mgr.border_style
|
||||
self._base = ya.list_merge(self._base or {}, {
|
||||
ui.Border(ui.Border.ALL):area(self._area):type(type):style(style),
|
||||
ui.Bar(ui.Bar.RIGHT):area(self._chunks[1]):style(style),
|
||||
ui.Bar(ui.Bar.LEFT):area(self._chunks[3]):style(style),
|
||||
|
||||
bar("┬", c[1].right - 1, c[1].y),
|
||||
bar("┴", c[1].right - 1, c[1].bottom - 1),
|
||||
bar("┬", c[2].right, c[2].y),
|
||||
bar("┴", c[2].right, c[2].bottom - 1),
|
||||
})
|
||||
|
||||
old_build(self, ...)
|
||||
end
|
||||
end
|
||||
|
||||
return { setup = setup }
|
21
.config/yazi/plugins/smart-enter.yazi/LICENSE
Normal file
21
.config/yazi/plugins/smart-enter.yazi/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2023 yazi-rs
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
40
.config/yazi/plugins/smart-enter.yazi/README.md
Normal file
40
.config/yazi/plugins/smart-enter.yazi/README.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
# smart-enter.yazi
|
||||
|
||||
[`Open`][open] files or [`enter`][enter] directories all in one key!
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
ya pack -a yazi-rs/plugins:smart-enter
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
Bind your <kbd>l</kbd> key to the plugin, in your `~/.config/yazi/keymap.toml`:
|
||||
|
||||
```toml
|
||||
[[manager.prepend_keymap]]
|
||||
on = "l"
|
||||
run = "plugin smart-enter"
|
||||
desc = "Enter the child directory, or open the file"
|
||||
```
|
||||
|
||||
## Advanced
|
||||
|
||||
By default, `--hovered` is passed to the [`open`][open] command, make the behavior consistent with [`enter`][enter] avoiding accidental triggers,
|
||||
which means both will only target the currently hovered file.
|
||||
|
||||
If you still want `open` to target multiple selected files, add this to your `~/.config/yazi/init.lua`:
|
||||
|
||||
```lua
|
||||
require("smart-enter"):setup {
|
||||
open_multi = true,
|
||||
}
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
This plugin is MIT-licensed. For more information check the [LICENSE](LICENSE) file.
|
||||
|
||||
[open]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.open
|
||||
[enter]: https://yazi-rs.github.io/docs/configuration/keymap/#manager.enter
|
11
.config/yazi/plugins/smart-enter.yazi/main.lua
Normal file
11
.config/yazi/plugins/smart-enter.yazi/main.lua
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- @since 25.2.26
|
||||
--- @sync entry
|
||||
|
||||
local function setup(self, opts) self.open_multi = opts.open_multi end
|
||||
|
||||
local function entry(self)
|
||||
local h = cx.active.current.hovered
|
||||
ya.mgr_emit(h and h.cha.is_dir and "enter" or "open", { hovered = not self.open_multi })
|
||||
end
|
||||
|
||||
return { entry = entry, setup = setup }
|
220
.config/yazi/yazi.toml
Normal file
220
.config/yazi/yazi.toml
Normal file
|
@ -0,0 +1,220 @@
|
|||
# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config.
|
||||
# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas.
|
||||
"$schema" = "https://yazi-rs.github.io/schemas/yazi.json"
|
||||
|
||||
[mgr]
|
||||
ratio = [ 1, 4, 3 ]
|
||||
sort_by = "alphabetical"
|
||||
sort_sensitive = false
|
||||
sort_reverse = false
|
||||
sort_dir_first = true
|
||||
sort_translit = false
|
||||
linemode = "none"
|
||||
show_hidden = false
|
||||
show_symlink = true
|
||||
scrolloff = 5
|
||||
mouse_events = [ "click", "scroll" ]
|
||||
title_format = "Yazi: {cwd}"
|
||||
|
||||
[preview]
|
||||
wrap = "no"
|
||||
tab_size = 2
|
||||
max_width = 600
|
||||
max_height = 900
|
||||
cache_dir = ""
|
||||
image_delay = 30
|
||||
image_filter = "triangle"
|
||||
image_quality = 75
|
||||
sixel_fraction = 15
|
||||
ueberzug_scale = 1
|
||||
ueberzug_offset = [ 0, 0, 0, 0 ]
|
||||
|
||||
[opener]
|
||||
edit = [
|
||||
{ run = '${EDITOR:-nvim} "$@"', desc = "$EDITOR", block = true, for = "unix" },
|
||||
{ run = 'code %*', orphan = true, desc = "code", for = "windows" },
|
||||
{ run = 'code -w %*', block = true, desc = "code (block)", for = "windows" },
|
||||
]
|
||||
open = [
|
||||
{ run = 'xdg-open "$1"', desc = "Open", for = "linux" },
|
||||
{ run = 'open "$@"', desc = "Open", for = "macos" },
|
||||
{ run = 'start "" "%1"', orphan = true, desc = "Open", for = "windows" },
|
||||
]
|
||||
reveal = [
|
||||
{ run = 'xdg-open "$(dirname "$1")"', desc = "Reveal", for = "linux" },
|
||||
{ run = 'open -R "$1"', desc = "Reveal", for = "macos" },
|
||||
{ run = 'explorer /select,"%1"', orphan = true, desc = "Reveal", for = "windows" },
|
||||
{ run = '''exiftool "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show EXIF", for = "unix" },
|
||||
]
|
||||
extract = [
|
||||
{ run = 'ya pub extract --list "$@"', desc = "Extract here", for = "unix" },
|
||||
{ run = 'ya pub extract --list %*', desc = "Extract here", for = "windows" },
|
||||
]
|
||||
play = [
|
||||
{ run = 'xdg-open "$@"', for = "linux" },
|
||||
{ run = 'mpv --force-window %*', orphan = true, for = "windows" },
|
||||
{ run = '''mediainfo "$1"; echo "Press enter to exit"; read _''', block = true, desc = "Show media info", for = "unix" },
|
||||
]
|
||||
|
||||
[open]
|
||||
rules = [
|
||||
# Folder
|
||||
{ name = "*/", use = [ "edit", "open", "reveal" ] },
|
||||
# Text
|
||||
{ mime = "text/*", use = [ "edit", "reveal" ] },
|
||||
# Image
|
||||
{ mime = "image/*", use = [ "open", "reveal" ] },
|
||||
# Media
|
||||
{ mime = "{audio,video}/*", use = [ "open", "reveal" ] },
|
||||
# Archive
|
||||
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] },
|
||||
# JSON
|
||||
{ mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] },
|
||||
{ mime = "*/javascript", use = [ "edit", "reveal" ] },
|
||||
# Empty file
|
||||
{ mime = "inode/empty", use = [ "edit", "reveal" ] },
|
||||
# Fallback
|
||||
{ name = "*", use = [ "edit", "reveal" ] },
|
||||
]
|
||||
|
||||
[tasks]
|
||||
micro_workers = 10
|
||||
macro_workers = 10
|
||||
bizarre_retry = 3
|
||||
image_alloc = 536870912 # 512MB
|
||||
image_bound = [ 0, 0 ]
|
||||
suppress_preload = false
|
||||
|
||||
[plugin]
|
||||
|
||||
fetchers = [
|
||||
# Mimetype
|
||||
{ id = "mime", name = "*", run = "mime", if = "!mime", prio = "high" },
|
||||
]
|
||||
spotters = [
|
||||
{ name = "*/", run = "folder" },
|
||||
# Code
|
||||
{ mime = "text/*", run = "code" },
|
||||
{ mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# Fallback
|
||||
{ name = "*", run = "file" },
|
||||
]
|
||||
preloaders = [
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# PDF
|
||||
{ mime = "application/pdf", run = "pdf" },
|
||||
# Font
|
||||
{ mime = "font/*", run = "font" },
|
||||
{ mime = "application/ms-opentype", run = "font" },
|
||||
]
|
||||
previewers = [
|
||||
{ name = "*/", run = "folder", sync = true },
|
||||
# Code
|
||||
{ mime = "text/*", run = "code" },
|
||||
{ mime = "*/{xml,javascript,wine-extension-ini}", run = "code" },
|
||||
# JSON
|
||||
{ mime = "application/{json,ndjson}", run = "json" },
|
||||
# Image
|
||||
{ mime = "image/{avif,hei?,jxl,svg+xml}", run = "magick" },
|
||||
{ mime = "image/*", run = "image" },
|
||||
# Video
|
||||
{ mime = "video/*", run = "video" },
|
||||
# PDF
|
||||
{ mime = "application/pdf", run = "pdf" },
|
||||
# Archive
|
||||
{ mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" },
|
||||
{ mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" },
|
||||
{ name = "*.{AppImage,appimage}", run = "archive" },
|
||||
# Virtual Disk / Disk Image
|
||||
{ mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" },
|
||||
{ mime = "application/virtualbox-{vhd,vhdx}", run = "archive" },
|
||||
{ name = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" },
|
||||
# Font
|
||||
{ mime = "font/*", run = "font" },
|
||||
{ mime = "application/ms-opentype", run = "font" },
|
||||
# Empty file
|
||||
{ mime = "inode/empty", run = "empty" },
|
||||
# Fallback
|
||||
{ name = "*", run = "file" },
|
||||
]
|
||||
|
||||
[input]
|
||||
cursor_blink = false
|
||||
|
||||
# cd
|
||||
cd_title = "Change directory:"
|
||||
cd_origin = "top-center"
|
||||
cd_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# create
|
||||
create_title = [ "Create:", "Create (dir):" ]
|
||||
create_origin = "top-center"
|
||||
create_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# rename
|
||||
rename_title = "Rename:"
|
||||
rename_origin = "hovered"
|
||||
rename_offset = [ 0, 1, 50, 3 ]
|
||||
|
||||
# filter
|
||||
filter_title = "Filter:"
|
||||
filter_origin = "top-center"
|
||||
filter_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# find
|
||||
find_title = [ "Find next:", "Find previous:" ]
|
||||
find_origin = "top-center"
|
||||
find_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# search
|
||||
search_title = "Search via {n}:"
|
||||
search_origin = "top-center"
|
||||
search_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
# shell
|
||||
shell_title = [ "Shell:", "Shell (block):" ]
|
||||
shell_origin = "top-center"
|
||||
shell_offset = [ 0, 2, 50, 3 ]
|
||||
|
||||
[confirm]
|
||||
# trash
|
||||
trash_title = "Trash {n} selected file{s}?"
|
||||
trash_origin = "center"
|
||||
trash_offset = [ 0, 0, 70, 20 ]
|
||||
|
||||
# delete
|
||||
delete_title = "Permanently delete {n} selected file{s}?"
|
||||
delete_origin = "center"
|
||||
delete_offset = [ 0, 0, 70, 20 ]
|
||||
|
||||
# overwrite
|
||||
overwrite_title = "Overwrite file?"
|
||||
overwrite_content = "Will overwrite the following file:"
|
||||
overwrite_origin = "center"
|
||||
overwrite_offset = [ 0, 0, 50, 15 ]
|
||||
|
||||
# quit
|
||||
quit_title = "Quit?"
|
||||
quit_content = "The following task is still running, are you sure you want to quit?"
|
||||
quit_origin = "center"
|
||||
quit_offset = [ 0, 0, 50, 15 ]
|
||||
|
||||
[pick]
|
||||
open_title = "Open with:"
|
||||
open_origin = "hovered"
|
||||
open_offset = [ 0, 1, 50, 7 ]
|
||||
|
||||
[which]
|
||||
sort_by = "none"
|
||||
sort_sensitive = false
|
||||
sort_reverse = false
|
||||
sort_translit = false
|
3
.config/zsh/.zprofile
Normal file
3
.config/zsh/.zprofile
Normal file
|
@ -0,0 +1,3 @@
|
|||
if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
|
||||
exec Hyprland >/dev/null
|
||||
fi
|
23
.config/zsh/.zshrc
Executable file
23
.config/zsh/.zshrc
Executable file
|
@ -0,0 +1,23 @@
|
|||
HISTSIZE=2000
|
||||
SAVEHIST=2000
|
||||
HIST_STAMPS="yyyy-mm-dd"
|
||||
|
||||
alias sudo='env PATH="${PATH}" doas'
|
||||
alias npm='env PATH="${PATH}" bun'
|
||||
eval "$(starship init zsh)"
|
||||
|
||||
function y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||
builtin cd -- "$cwd"
|
||||
fi
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
|
||||
bindkey '^[[A' history-substring-search-up
|
||||
bindkey '^[[B' history-substring-search-down
|
||||
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
|
23
.local/bin/scripts/backlight
Executable file
23
.local/bin/scripts/backlight
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Get the current brightness percentage from brightnessctl -m output
|
||||
get_brightness() {
|
||||
brightnessctl -m | awk -F, '{gsub(/%/,"",$4); print $4}'
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
up)
|
||||
brightnessctl set 5%+ >/dev/null
|
||||
brightness=$(get_brightness)
|
||||
dunstify -a "Backlight" -r 9994 -h int:value:"$brightness" -i "brightness" "Brightness" "Currently at $brightness%" -t 1000
|
||||
;;
|
||||
down)
|
||||
brightnessctl set 5%- >/dev/null
|
||||
brightness=$(get_brightness)
|
||||
dunstify -a "Backlight" -r 9994 -h int:value:"$brightness" -i "brightness" "Brightness" "Currently at $brightness%" -t 1000
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {up|down}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
12
.local/bin/scripts/powermenu
Executable file
12
.local/bin/scripts/powermenu
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
CHOSEN=$(printf "Lock\nSuspend\nReboot\nShutdown\nLog Out" | tofi --config "$XDG_CONFIG_HOME"/tofi/config)
|
||||
|
||||
case "$CHOSEN" in
|
||||
"Lock") hyprlock ;;
|
||||
"Suspend") loginctl suspend ;;
|
||||
"Reboot") loginctl reboot ;;
|
||||
"Shutdown") loginctl poweroff ;;
|
||||
"Log Out") hyprctl dispatch exit ;;
|
||||
*) exit 1 ;;
|
||||
esac
|
11
.local/bin/scripts/record
Executable file
11
.local/bin/scripts/record
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
pgrep -x "wl-screenrec" && pkill -INT -x wl-screenrec && notify-send -h string:wl-screenrec:record -t 1000 "Finished Recording" && exit 0
|
||||
|
||||
for i in 3 2 1; do
|
||||
notify-send -t 1000 "Recording starts in $i..."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
dateTime=$(date +%Y-%m-%dT%H:%M:%S)
|
||||
wl-screenrec --codec av1 --low-power=off -f $HOME/$dateTime.mp4
|
15
.local/bin/scripts/record-slurp
Executable file
15
.local/bin/scripts/record-slurp
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Check if wl-screenrec is running and stop it if it is
|
||||
pgrep -x "wl-screenrec" && pkill -INT -x wl-screenrec && notify-send -h string:wl-screenrec:record -t 1000 "Finished Recording" && exit 0
|
||||
|
||||
area=$(slurp)
|
||||
|
||||
for i in 3 2 1; do
|
||||
notify-send -t 1000 "Recording starts in $i..."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# Start recording
|
||||
dateTime=$(date +%Y-%m-%dT%H:%M:%S)
|
||||
wl-screenrec --codec av1 --low-power=off -g "$area" -f $HOME/$dateTime.mp4
|
36
.local/bin/scripts/volume
Executable file
36
.local/bin/scripts/volume
Executable file
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
case $1 in
|
||||
up)
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||
wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
;;
|
||||
down)
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||
wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
|
||||
;;
|
||||
mute)
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
;;
|
||||
esac
|
||||
|
||||
VOLUME=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | tr -dc '0-9' | sed 's/^0\{1,2\}//')
|
||||
|
||||
send_notification() {
|
||||
if [ "$1" = "mute" ]; then ICON="mute"; elif [ "$VOLUME" -lt 33 ]; then ICON="low"; elif [ "$VOLUME" -lt 66 ]; then ICON="medium"; else ICON="high"; fi
|
||||
if [ "$1" = "mute" ]; then TEXT="Currently muted"; else TEXT="Currently at ${VOLUME}%"; fi
|
||||
|
||||
dunstify -a "Volume" -r 9993 -h int:value:"$VOLUME" -i "volume-$ICON" "Volume" "$TEXT" -t 2000
|
||||
}
|
||||
|
||||
case $1 in
|
||||
mute)
|
||||
case "$(wpctl get-volume @DEFAULT_AUDIO_SINK@)" in
|
||||
*MUTED*) send_notification mute ;;
|
||||
*) send_notification ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
send_notification
|
||||
;;
|
||||
esac
|
11
.local/bin/scripts/wallpaper
Executable file
11
.local/bin/scripts/wallpaper
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
directory=$XDG_DATA_HOME/wallpapers
|
||||
|
||||
if [ -d "$directory" ]; then
|
||||
random_background=$(ls $directory/*.{JPG,jpg,png} | shuf -n 1)
|
||||
|
||||
hyprctl hyprpaper unload all
|
||||
hyprctl hyprpaper preload $random_background
|
||||
hyprctl hyprpaper wallpaper ",$random_background"
|
||||
fi
|
11
.local/bin/scripts/waybar-reload
Executable file
11
.local/bin/scripts/waybar-reload
Executable file
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Check if waybar is running
|
||||
if pgrep -x "waybar" > /dev/null; then
|
||||
# If running, kill the waybar process
|
||||
pkill -x "waybar"
|
||||
else
|
||||
# If not running, start waybar
|
||||
waybar &
|
||||
fi
|
||||
|
7
.local/bin/scripts/wlsunset-toggle
Executable file
7
.local/bin/scripts/wlsunset-toggle
Executable file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
if pgrep -x "wlsunset" >/dev/null; then
|
||||
pkill -x "wlsunset"
|
||||
else
|
||||
wlsunset -S 7:00 -s 21:00 &
|
||||
fi
|
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Bold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Bold.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-BoldItalic.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-BoldItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-ExtraBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-ExtraBold.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-ExtraLight.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-ExtraLight.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Italic.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Italic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Light.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Light.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-LightItalic.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-LightItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Medium.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Medium.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-MediumItalic.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-MediumItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Regular.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-Regular.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiBold.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiWideBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiWideBold.otf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiWideLight.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-SemiWideLight.otf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideBold.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideExtraBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideExtraBold.otf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideItalic.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideLight.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideLight.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideMedium.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideMedium.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideRegular.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideRegular.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideSemiBold.otf
Normal file
BIN
.local/share/fonts/MonaspaceNeon/MonaspaceNeon-WideSemiBold.otf
Normal file
Binary file not shown.
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Bold.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Bold.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-BoldItalic.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-BoldItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Heavy.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Heavy.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-HeavyItalic.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-HeavyItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Light.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Light.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-LightItalic.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-LightItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Medium.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Medium.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-MediumItalic.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-MediumItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Regular.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Regular.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-RegularItalic.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-RegularItalic.otf
Normal file
Binary file not shown.
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Semibold.otf
Normal file
BIN
.local/share/fonts/SanFrancisco/SF-Mono-Semibold.otf
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue