Compare commits
12 Commits
7e5bed8960
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 82b8f7b747 | |||
| 7db2c2632d | |||
| bbb7ce21bc | |||
| ec8e0906be | |||
| 6c37a0d8d0 | |||
| 7b32562073 | |||
| 3baeceb707 | |||
| f5fd3c0344 | |||
| 450f33f7dc | |||
| f6dfd44aa1 | |||
| 893082fcc9 | |||
| a0b7840a21 |
@@ -1,5 +1,7 @@
|
||||
# Sunhat 👒
|
||||
|
||||
## This repo is broken kinda I wouldn't run this if I were you..
|
||||
|
||||
## A Fork of Omakub, turned into a Fedora Config
|
||||
|
||||
### Note: This is my personal config. I wouldn't necessarily recommend using it.
|
||||
|
||||
@@ -1,19 +1,8 @@
|
||||
file:///home/gib/Documents/Code
|
||||
file:///home/gib/Documents/Gib%20Files/Notes Notes
|
||||
smb://server.gib/gib/Documents Server
|
||||
file:///home/gib/Documents
|
||||
file:///home/gib/Music
|
||||
file:///home/gib/Pictures
|
||||
file:///home/gib/Videos
|
||||
file:///home/gib/Downloads
|
||||
file:///home/gib/Documents
|
||||
file:///home/gib/Music
|
||||
file:///home/gib/Pictures
|
||||
file:///home/gib/Videos
|
||||
file:///home/gib/Music
|
||||
file:///home/gib/Pictures
|
||||
file:///home/gib/Music
|
||||
file:///home/gib/Pictures
|
||||
file:///home/gib/Videos
|
||||
file:///home/gib/.local/share/sunhat
|
||||
file:///home/gib/Pictures
|
||||
file:///home/gib/Documents Documents
|
||||
file:///home/gib/Downloads Downloads
|
||||
file:///home/gib/Music Music
|
||||
file:///home/gib/Pictures Pictures
|
||||
file:///home/gib/Videos Videos
|
||||
file:///home/gib/Documents/Code Code
|
||||
file:///home/gib/Documents/Notes Notes
|
||||
file:///home/gib/.local/share/sunhat Sunhat
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
@define-color accent_color rgba(192,153,255,0.8);
|
||||
@define-color accent_bg_color rgba(130,170,255,0.8);
|
||||
@define-color accent_fg_color #ffffff;
|
||||
@define-color destructive_color #ff7b63;
|
||||
@define-color destructive_bg_color #c01c28;
|
||||
@define-color destructive_fg_color #ffffff;
|
||||
@define-color success_color #8ff0a4;
|
||||
@define-color success_bg_color #26a269;
|
||||
@define-color success_fg_color #ffffff;
|
||||
@define-color warning_color #f8e45c;
|
||||
@define-color warning_bg_color #cd9309;
|
||||
@define-color warning_fg_color rgba(0, 0, 0, 0.8);
|
||||
@define-color error_color #ff7b63;
|
||||
@define-color error_bg_color #c01c28;
|
||||
@define-color error_fg_color #ffffff;
|
||||
@define-color window_bg_color rgba(46,47,61,0.98);
|
||||
@define-color window_fg_color #ffffff;
|
||||
@define-color view_bg_color rgba(46,47,61,0.98);
|
||||
@define-color view_fg_color #ffffff;
|
||||
@define-color headerbar_bg_color rgba(46,47,61,0.98);
|
||||
@define-color headerbar_fg_color #ffffff;
|
||||
@define-color headerbar_border_color #ffffff;
|
||||
@define-color headerbar_backdrop_color @window_bg_color;
|
||||
@define-color headerbar_shade_color rgba(0, 0, 0, 0);
|
||||
@define-color card_bg_color rgba(255, 255, 255, 0.08);
|
||||
@define-color card_fg_color #ffffff;
|
||||
@define-color card_shade_color rgba(46,47,61,0.36);
|
||||
@define-color dialog_bg_color rgba(46,47,61,0.98);
|
||||
@define-color dialog_fg_color #ffffff;
|
||||
@define-color popover_bg_color rgba(46,47,61,0.98);
|
||||
@define-color popover_fg_color #ffffff;
|
||||
@define-color shade_color rgba(0, 0, 0, 0);
|
||||
@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
|
||||
@define-color blue_1 #99c1f1;
|
||||
@define-color blue_2 #62a0ea;
|
||||
@define-color blue_3 #3584e4;
|
||||
@define-color blue_4 #1c71d8;
|
||||
@define-color blue_5 #1a5fb4;
|
||||
@define-color green_1 #8ff0a4;
|
||||
@define-color green_2 #57e389;
|
||||
@define-color green_3 #33d17a;
|
||||
@define-color green_4 #2ec27e;
|
||||
@define-color green_5 #26a269;
|
||||
@define-color yellow_1 #f9f06b;
|
||||
@define-color yellow_2 #f8e45c;
|
||||
@define-color yellow_3 #f6d32d;
|
||||
@define-color yellow_4 #f5c211;
|
||||
@define-color yellow_5 #e5a50a;
|
||||
@define-color orange_1 #ffbe6f;
|
||||
@define-color orange_2 #ffa348;
|
||||
@define-color orange_3 #ff7800;
|
||||
@define-color orange_4 #e66100;
|
||||
@define-color orange_5 #c64600;
|
||||
@define-color red_1 #f66151;
|
||||
@define-color red_2 #ed333b;
|
||||
@define-color red_3 #e01b24;
|
||||
@define-color red_4 #c01c28;
|
||||
@define-color red_5 #a51d2d;
|
||||
@define-color purple_1 #dc8add;
|
||||
@define-color purple_2 #c061cb;
|
||||
@define-color purple_3 #9141ac;
|
||||
@define-color purple_4 #813d9c;
|
||||
@define-color purple_5 #613583;
|
||||
@define-color brown_1 #cdab8f;
|
||||
@define-color brown_2 #b5835a;
|
||||
@define-color brown_3 #986a44;
|
||||
@define-color brown_4 #865e3c;
|
||||
@define-color brown_5 #63452c;
|
||||
@define-color light_1 #ffffff;
|
||||
@define-color light_2 #f6f5f4;
|
||||
@define-color light_3 #deddda;
|
||||
@define-color light_4 #c0bfbc;
|
||||
@define-color light_5 #9a9996;
|
||||
@define-color dark_1 #77767b;
|
||||
@define-color dark_2 #5e5c64;
|
||||
@define-color dark_3 #3d3846;
|
||||
@define-color dark_4 #241f31;
|
||||
@define-color dark_5 #000000;
|
||||
@@ -1,2 +1,17 @@
|
||||
[Settings]
|
||||
gtk-theme-name=Tahoe-Dark
|
||||
gtk-icon-theme-name=Adwaita
|
||||
gtk-font-name=Cantarell 11
|
||||
gtk-cursor-theme-name=WhiteSur-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=0
|
||||
|
||||
598
configs/copy/home/.config/gtk-4.0/gtk-dark.css
Executable file
598
configs/copy/home/.config/gtk-4.0/gtk-dark.css
Executable file
@@ -0,0 +1,598 @@
|
||||
/* GTK NAMED COLORS ---------------- use responsibly! */
|
||||
@define-color accent_bg_color RGB(130 170 255 / 80%);
|
||||
|
||||
@define-color destructive_bg_color #c01c28;
|
||||
@define-color destructive_fg_color white;
|
||||
@define-color success_bg_color #26a269;
|
||||
@define-color success_fg_color white;
|
||||
@define-color warning_bg_color #cd9309;
|
||||
@define-color warning_fg_color RGB(0 0 0 / 80%);
|
||||
@define-color error_bg_color #c01c28;
|
||||
@define-color error_fg_color white;
|
||||
@define-color accent_color oklab(from @accent_bg_color max(l, 0.85) a b);
|
||||
@define-color destructive_color oklab(from @destructive_bg_color max(l, 0.85) a b);
|
||||
@define-color success_color oklab(from @success_bg_color max(l, 0.85) a b);
|
||||
@define-color warning_color oklab(from @warning_bg_color max(l, 0.85) a b);
|
||||
@define-color error_color oklab(from @error_bg_color max(l, 0.85) a b);
|
||||
|
||||
@define-color window_bg_color #2e2f3d;
|
||||
@define-color window_fg_color white;
|
||||
@define-color view_bg_color @window_bg_color
|
||||
@define-color view_fg_color white;
|
||||
@define-color headerbar_bg_color @window_bg_color
|
||||
@define-color headerbar_fg_color white;
|
||||
@define-color headerbar_border_color white;
|
||||
@define-color headerbar_backdrop_color @window_bg_color;
|
||||
@define-color headerbar_shade_color RGB(46 47 61 / 8%);
|
||||
@define-color headerbar_darker_shade_color RGB(0, 0, 6, 0.9);
|
||||
|
||||
@define-color sidebar_bg_color #3c3c4b;
|
||||
@define-color sidebar_fg_color white;
|
||||
@define-color sidebar_backdrop_color #3c3c4b;
|
||||
@define-color sidebar_shade_color RGB(60 60 75/8%);
|
||||
@define-color sidebar_border_color RGB(75 75 90/36%);
|
||||
@define-color secondary_sidebar_bg_color #3c3c4b;
|
||||
@define-color secondary_sidebar_fg_color white;
|
||||
@define-color secondary_sidebar_backdrop_color #3c3c4b;
|
||||
@define-color secondary_sidebar_shade_color RGB(0 0 6/25%);
|
||||
@define-color secondary_sidebar_border_color RGB(0 0 6/36%);
|
||||
@define-color card_bg_color RGB(180 200 255/15%);
|
||||
@define-color card_fg_color white;
|
||||
@define-color card_shade_color RGB(46 47 61/8%);
|
||||
@define-color dialog_bg_color @window_bg_color;
|
||||
@define-color dialog_fg_color white;
|
||||
@define-color popover_bg_color @window_bg_color;
|
||||
@define-color popover_fg_color white;
|
||||
@define-color popover_shade_color RGB(0 0 6/25%);
|
||||
@define-color thumbnail_bg_color @window_bg_color;
|
||||
@define-color thumbnail_fg_color white;
|
||||
@define-color shade_color RGB(0 0 6/25%);
|
||||
@define-color scrollbar_outline_color RGB(0 0 12/95%);
|
||||
@define-color blue_1 #99c1f1;
|
||||
@define-color blue_2 #62a0ea;
|
||||
@define-color blue_3 #3584e4;
|
||||
@define-color blue_4 #1c71d8;
|
||||
@define-color blue_5 #1a5fb4;
|
||||
@define-color green_1 #8ff0a4;
|
||||
@define-color green_2 #57e389;
|
||||
@define-color green_3 #33d17a;
|
||||
@define-color green_4 #2ec27e;
|
||||
@define-color green_5 #26a269;
|
||||
@define-color yellow_1 #f9f06b;
|
||||
@define-color yellow_2 #f8e45c;
|
||||
@define-color yellow_3 #f6d32d;
|
||||
@define-color yellow_4 #f5c211;
|
||||
@define-color yellow_5 #e5a50a;
|
||||
@define-color orange_1 #ffbe6f;
|
||||
@define-color orange_2 #ffa348;
|
||||
@define-color orange_3 #ff7800;
|
||||
@define-color orange_4 #e66100;
|
||||
@define-color orange_5 #c64600;
|
||||
@define-color red_1 #f66151;
|
||||
@define-color red_2 #ed333b;
|
||||
@define-color red_3 #e01b24;
|
||||
@define-color red_4 #c01c28;
|
||||
@define-color red_5 #a51d2d;
|
||||
@define-color purple_1 #dc8add;
|
||||
@define-color purple_2 #c061cb;
|
||||
@define-color purple_3 #9141ac;
|
||||
@define-color purple_4 #813d9c;
|
||||
@define-color purple_5 #613583;
|
||||
@define-color brown_1 #cdab8f;
|
||||
@define-color brown_2 #b5835a;
|
||||
@define-color brown_3 #986a44;
|
||||
@define-color brown_4 #865e3c;
|
||||
@define-color brown_5 #63452c;
|
||||
@define-color light_1 #ffffff;
|
||||
@define-color light_2 #f6f5f4;
|
||||
@define-color light_3 #deddda;
|
||||
@define-color light_4 #c0bfbc;
|
||||
@define-color light_5 #9a9996;
|
||||
@define-color dark_1 #77767b;
|
||||
@define-color dark_2 #5e5c64;
|
||||
@define-color dark_3 #3d3846;
|
||||
@define-color dark_4 #241f31;
|
||||
@define-color dark_5 #000000;
|
||||
|
||||
:root {
|
||||
--standalone-color-oklab: max(l, 0.85) a b;
|
||||
--accent-color: oklab(
|
||||
from var(--accent-bg-color) var(--standalone-color-oklab)
|
||||
);
|
||||
--destructive-color: oklab(
|
||||
from var(--destructive-bg-color) var(--standalone-color-oklab)
|
||||
);
|
||||
--success-color: oklab(
|
||||
from var(--success-bg-color) var(--standalone-color-oklab)
|
||||
);
|
||||
--warning-color: oklab(
|
||||
from var(--warning-bg-color) var(--standalone-color-oklab)
|
||||
);
|
||||
--error-color: oklab(
|
||||
from var(--error-bg-color) var(--standalone-color-oklab)
|
||||
);
|
||||
--active-toggle-bg-color: rgb(255 255 255 / 20%);
|
||||
--active-toggle-fg-color: #ffffff;
|
||||
--overview-bg-color: #2e2f3d;
|
||||
--overview-fg-color: #ffffff;
|
||||
}
|
||||
|
||||
@import '../gtk-3.0/libadwaita.css';
|
||||
@import '../gtk-3.0/libadwaita-tweaks.css';
|
||||
|
||||
* {
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
window {
|
||||
border-radius: 20px;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.maximize window {
|
||||
border-radius: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
window.maximize {
|
||||
border-radius: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
/* More customizations */
|
||||
/* GTK3 */
|
||||
button.titlebutton {
|
||||
color: transparent;
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
padding: 0;
|
||||
margin: 0 2px;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
button.titlebutton:backdrop {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
/*****************
|
||||
* Title buttons *
|
||||
*****************/
|
||||
.raven .expander-button,
|
||||
.raven .raven-header:not(.top) button.image-button,
|
||||
widget > box.terminal-titlebar > button.image-button,
|
||||
widget > box.terminal-titlebar > button.image-button.toggle,
|
||||
.terminix-session-sidebar button.tilix-sidebar-close-button,
|
||||
.tilix-session-sidebar button.tilix-sidebar-close-button,
|
||||
.nemo-window toolbar.primary-toolbar > toolitem > box.raised > button,
|
||||
.nemo-window toolbar.primary-toolbar > toolitem > box.linked.raised > button,
|
||||
.nautilus-window headerbar > revealer > button,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton,
|
||||
headerbar button.titlebutton,
|
||||
.csd headerbar button.titlebutton,
|
||||
.csd headerbar.default-decoration button.titlebutton,
|
||||
.titlebar button.titlebutton,
|
||||
.csd .titlebar button.titlebutton,
|
||||
.titlebar.default-decoration button.titlebutton,
|
||||
.csd .titlebar.default-decoration button.titlebutton,
|
||||
row button.image-button,
|
||||
check,
|
||||
radio,
|
||||
headerbar.default-decoration button.titlebutton,
|
||||
headerbar button.suggested-action,
|
||||
headerbar button.destructive-action,
|
||||
headerbar button:not(.suggested-action):not(.destructive-action),
|
||||
button.close,
|
||||
button.circular {
|
||||
border-radius: 9999px;
|
||||
-gtk-outline-radius: 9999px;
|
||||
}
|
||||
|
||||
headerbar,
|
||||
.titlebar {
|
||||
padding: 0 14px;
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close,
|
||||
headerbar button.titlebutton.close,
|
||||
.titlebar button.titlebutton.close {
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
padding: 0;
|
||||
margin: 0 2px;
|
||||
color: transparent;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
background-color: #f25056;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.maximize,
|
||||
headerbar button.titlebutton.maximize,
|
||||
.titlebar button.titlebutton.maximize {
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
padding: 0;
|
||||
margin: 0 2px;
|
||||
color: transparent;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
background-color: #39ea49;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.minimize,
|
||||
headerbar button.titlebutton.minimize,
|
||||
.titlebar button.titlebutton.minimize {
|
||||
min-width: 12px;
|
||||
min-height: 12px;
|
||||
padding: 0;
|
||||
margin: 0 2px;
|
||||
color: transparent;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
background-color: #fac536;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
#MozillaGtkWidget.background
|
||||
headerbar.titlebar.default-decoration
|
||||
button.titlebutton.close:hover,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close:hover,
|
||||
headerbar button.titlebutton.close:hover,
|
||||
.csd headerbar button.titlebutton.close:hover,
|
||||
headerbar.default-decoration button.titlebutton.close:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:hover,
|
||||
.titlebar button.titlebutton.close:hover,
|
||||
.csd .titlebar button.titlebutton.close:hover,
|
||||
.titlebar.default-decoration button.titlebutton.close:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:hover {
|
||||
padding: 2px;
|
||||
margin: -2px 0;
|
||||
background-color: #f25056;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
#MozillaGtkWidget.background
|
||||
headerbar.titlebar.default-decoration
|
||||
button.titlebutton.maximize:hover,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.maximize:hover,
|
||||
headerbar button.titlebutton.maximize:hover,
|
||||
.csd headerbar button.titlebutton.maximize:hover,
|
||||
headerbar.default-decoration button.titlebutton.maximize:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:hover,
|
||||
.titlebar button.titlebutton.maximize:hover,
|
||||
.csd .titlebar button.titlebutton.maximize:hover,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:hover {
|
||||
padding: 2px;
|
||||
margin: -2px 0;
|
||||
background-color: #39ea49;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
#MozillaGtkWidget.background
|
||||
headerbar.titlebar.default-decoration
|
||||
button.titlebutton.minimize:hover,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.minimize:hover,
|
||||
headerbar button.titlebutton.minimize:hover,
|
||||
.csd headerbar button.titlebutton.minimize:hover,
|
||||
headerbar.default-decoration button.titlebutton.minimize:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:hover,
|
||||
.titlebar button.titlebutton.minimize:hover,
|
||||
.csd .titlebar button.titlebutton.minimize:hover,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:hover {
|
||||
padding: 2px;
|
||||
margin: -2px 0;
|
||||
background-color: #fac536;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close:hover,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.maximize:hover,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.minimize:hover,
|
||||
headerbar button.titlebutton.close:hover,
|
||||
headerbar button.titlebutton.close:backdrop:hover,
|
||||
headerbar button.titlebutton.maximize:hover,
|
||||
headerbar button.titlebutton.maximize:backdrop:hover,
|
||||
headerbar button.titlebutton.minimize:hover,
|
||||
headerbar button.titlebutton.minimize:backdrop:hover,
|
||||
.csd headerbar button.titlebutton.close:hover,
|
||||
.csd headerbar button.titlebutton.close:backdrop:hover,
|
||||
.csd headerbar button.titlebutton.maximize:hover,
|
||||
.csd headerbar button.titlebutton.maximize:backdrop:hover,
|
||||
.csd headerbar button.titlebutton.minimize:hover,
|
||||
.csd headerbar button.titlebutton.minimize:backdrop:hover,
|
||||
headerbar.default-decoration button.titlebutton.close:hover,
|
||||
headerbar.default-decoration button.titlebutton.close:backdrop:hover,
|
||||
headerbar.default-decoration button.titlebutton.maximize:hover,
|
||||
headerbar.default-decoration button.titlebutton.maximize:backdrop:hover,
|
||||
headerbar.default-decoration button.titlebutton.minimize:hover,
|
||||
headerbar.default-decoration button.titlebutton.minimize:backdrop:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:backdrop:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:backdrop:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:hover,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:backdrop:hover,
|
||||
.titlebar button.titlebutton.close:hover,
|
||||
.titlebar button.titlebutton.close:backdrop:hover,
|
||||
.titlebar button.titlebutton.maximize:hover,
|
||||
.titlebar button.titlebutton.maximize:backdrop:hover,
|
||||
.titlebar button.titlebutton.minimize:hover,
|
||||
.titlebar button.titlebutton.minimize:backdrop:hover,
|
||||
.csd .titlebar button.titlebutton.close:hover,
|
||||
.csd .titlebar button.titlebutton.close:backdrop:hover,
|
||||
.csd .titlebar button.titlebutton.maximize:hover,
|
||||
.csd .titlebar button.titlebutton.maximize:backdrop:hover,
|
||||
.csd .titlebar button.titlebutton.minimize:hover,
|
||||
.csd .titlebar button.titlebutton.minimize:backdrop:hover,
|
||||
.titlebar.default-decoration button.titlebutton.close:hover,
|
||||
.titlebar.default-decoration button.titlebutton.close:backdrop:hover,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:hover,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:backdrop:hover,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:hover,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:backdrop:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:backdrop:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:backdrop:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:hover,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:backdrop:hover {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close:active,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.maximize:active,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.minimize:active,
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close:checked,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.maximize:checked,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.minimize:checked,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.close:backdrop:active,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.maximize:backdrop:active,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.minimize:backdrop:active,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.close:backdrop:checked,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.maximize:backdrop:checked,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.minimize:backdrop:checked,
|
||||
headerbar button.titlebutton.close:active,
|
||||
headerbar button.titlebutton.close:checked,
|
||||
headerbar button.titlebutton.close:backdrop:active,
|
||||
headerbar button.titlebutton.close:backdrop:checked,
|
||||
headerbar button.titlebutton.maximize:active,
|
||||
headerbar button.titlebutton.maximize:checked,
|
||||
headerbar button.titlebutton.maximize:backdrop:active,
|
||||
headerbar button.titlebutton.maximize:backdrop:checked,
|
||||
headerbar button.titlebutton.minimize:active,
|
||||
headerbar button.titlebutton.minimize:checked,
|
||||
headerbar button.titlebutton.minimize:backdrop:active,
|
||||
headerbar button.titlebutton.minimize:backdrop:checked,
|
||||
.csd headerbar button.titlebutton.close:active,
|
||||
.csd headerbar button.titlebutton.close:checked,
|
||||
.csd headerbar button.titlebutton.close:backdrop:active,
|
||||
.csd headerbar button.titlebutton.close:backdrop:checked,
|
||||
.csd headerbar button.titlebutton.maximize:active,
|
||||
.csd headerbar button.titlebutton.maximize:checked,
|
||||
.csd headerbar button.titlebutton.maximize:backdrop:active,
|
||||
.csd headerbar button.titlebutton.maximize:backdrop:checked,
|
||||
.csd headerbar button.titlebutton.minimize:active,
|
||||
.csd headerbar button.titlebutton.minimize:checked,
|
||||
.csd headerbar button.titlebutton.minimize:backdrop:active,
|
||||
.csd headerbar button.titlebutton.minimize:backdrop:checked,
|
||||
headerbar.default-decoration button.titlebutton.close:active,
|
||||
headerbar.default-decoration button.titlebutton.close:checked,
|
||||
headerbar.default-decoration button.titlebutton.close:backdrop:active,
|
||||
headerbar.default-decoration button.titlebutton.close:backdrop:checked,
|
||||
headerbar.default-decoration button.titlebutton.maximize:active,
|
||||
headerbar.default-decoration button.titlebutton.maximize:checked,
|
||||
headerbar.default-decoration button.titlebutton.maximize:backdrop:active,
|
||||
headerbar.default-decoration button.titlebutton.maximize:backdrop:checked,
|
||||
headerbar.default-decoration button.titlebutton.minimize:active,
|
||||
headerbar.default-decoration button.titlebutton.minimize:checked,
|
||||
headerbar.default-decoration button.titlebutton.minimize:backdrop:active,
|
||||
headerbar.default-decoration button.titlebutton.minimize:backdrop:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:backdrop:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:backdrop:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:backdrop:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:backdrop:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:checked,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:backdrop:active,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:backdrop:checked,
|
||||
.titlebar button.titlebutton.close:active,
|
||||
.titlebar button.titlebutton.close:checked,
|
||||
.titlebar button.titlebutton.close:backdrop:active,
|
||||
.titlebar button.titlebutton.close:backdrop:checked,
|
||||
.titlebar button.titlebutton.maximize:active,
|
||||
.titlebar button.titlebutton.maximize:checked,
|
||||
.titlebar button.titlebutton.maximize:backdrop:active,
|
||||
.titlebar button.titlebutton.maximize:backdrop:checked,
|
||||
.titlebar button.titlebutton.minimize:active,
|
||||
.titlebar button.titlebutton.minimize:checked,
|
||||
.titlebar button.titlebutton.minimize:backdrop:active,
|
||||
.titlebar button.titlebutton.minimize:backdrop:checked,
|
||||
.csd .titlebar button.titlebutton.close:active,
|
||||
.csd .titlebar button.titlebutton.close:checked,
|
||||
.csd .titlebar button.titlebutton.close:backdrop:active,
|
||||
.csd .titlebar button.titlebutton.close:backdrop:checked,
|
||||
.csd .titlebar button.titlebutton.maximize:active,
|
||||
.csd .titlebar button.titlebutton.maximize:checked,
|
||||
.csd .titlebar button.titlebutton.maximize:backdrop:active,
|
||||
.csd .titlebar button.titlebutton.maximize:backdrop:checked,
|
||||
.csd .titlebar button.titlebutton.minimize:active,
|
||||
.csd .titlebar button.titlebutton.minimize:checked,
|
||||
.csd .titlebar button.titlebutton.minimize:backdrop:active,
|
||||
.csd .titlebar button.titlebutton.minimize:backdrop:checked,
|
||||
.titlebar.default-decoration button.titlebutton.close:active,
|
||||
.titlebar.default-decoration button.titlebutton.close:checked,
|
||||
.titlebar.default-decoration button.titlebutton.close:backdrop:active,
|
||||
.titlebar.default-decoration button.titlebutton.close:backdrop:checked,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:active,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:checked,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:backdrop:active,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:backdrop:checked,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:active,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:checked,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:backdrop:active,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:backdrop:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:backdrop:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:backdrop:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:backdrop:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:backdrop:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:checked,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:backdrop:active,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:backdrop:checked {
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.solid-csd headerbar:not(.default-decoration) button.titlebutton.close:backdrop,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.maximize:backdrop,
|
||||
.solid-csd
|
||||
headerbar:not(.default-decoration)
|
||||
button.titlebutton.minimize:backdrop,
|
||||
headerbar button.titlebutton.close:backdrop,
|
||||
headerbar button.titlebutton.maximize:backdrop,
|
||||
headerbar button.titlebutton.minimize:backdrop,
|
||||
.csd headerbar button.titlebutton.close:backdrop,
|
||||
.csd headerbar button.titlebutton.maximize:backdrop,
|
||||
.csd headerbar button.titlebutton.minimize:backdrop,
|
||||
headerbar.default-decoration button.titlebutton.close:backdrop,
|
||||
headerbar.default-decoration button.titlebutton.maximize:backdrop,
|
||||
headerbar.default-decoration button.titlebutton.minimize:backdrop,
|
||||
.csd headerbar.default-decoration button.titlebutton.close:backdrop,
|
||||
.csd headerbar.default-decoration button.titlebutton.maximize:backdrop,
|
||||
.csd headerbar.default-decoration button.titlebutton.minimize:backdrop,
|
||||
.titlebar button.titlebutton.close:backdrop,
|
||||
.titlebar button.titlebutton.maximize:backdrop,
|
||||
.titlebar button.titlebutton.minimize:backdrop,
|
||||
.csd .titlebar button.titlebutton.close:backdrop,
|
||||
.csd .titlebar button.titlebutton.maximize:backdrop,
|
||||
.csd .titlebar button.titlebutton.minimize:backdrop,
|
||||
.titlebar.default-decoration button.titlebutton.close:backdrop,
|
||||
.titlebar.default-decoration button.titlebutton.maximize:backdrop,
|
||||
.titlebar.default-decoration button.titlebutton.minimize:backdrop,
|
||||
.csd .titlebar.default-decoration button.titlebutton.close:backdrop,
|
||||
.csd .titlebar.default-decoration button.titlebutton.maximize:backdrop,
|
||||
.csd .titlebar.default-decoration button.titlebutton.minimize:backdrop {
|
||||
color: transparent;
|
||||
background-color: rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
button.titlebutton image {
|
||||
margin: -1px;
|
||||
}
|
||||
|
||||
/* gtk4 */
|
||||
|
||||
/*********************
|
||||
* GtkWindowControls *
|
||||
*********************/
|
||||
windowcontrols > button {
|
||||
min-height: 12px;
|
||||
min-width: 12px;
|
||||
padding: 0px;
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
windowcontrols > button.minimize,
|
||||
windowcontrols > button.maximize,
|
||||
windowcontrols > button.close {
|
||||
color: transparent;
|
||||
background: none;
|
||||
}
|
||||
|
||||
windowcontrols > button.minimize > image {
|
||||
background-color: #fdbe04;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
windowcontrols > button.minimize:hover > image {
|
||||
padding: 3px;
|
||||
margin-right: -1px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
windowcontrols > button.maximize > image {
|
||||
background-color: #38c76a;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
windowcontrols > button.maximize:hover > image {
|
||||
padding: 3px;
|
||||
margin-right: -1px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
windowcontrols > button.close > image {
|
||||
background-color: #fd5f51;
|
||||
box-shadow: inset 0 -1px 0 0 alpha(white, 0.2),
|
||||
inset 0 1px 0 0 alpha(white, 0.3), inset 1px 0 0 0 alpha(white, 0.07),
|
||||
inset -1px 0 0 0 alpha(white, 0.07), 0 1px 3px rgba(0, 0, 0, 0.12),
|
||||
0 1px 2px rgba(0, 0, 0, 0.24);
|
||||
}
|
||||
|
||||
windowcontrols > button.close:hover > image {
|
||||
padding: 3px;
|
||||
margin-right: -1px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
windowcontrols > button > image {
|
||||
padding: 2px;
|
||||
}
|
||||
1079
configs/copy/home/.config/gtk-4.0/gtk.css
Normal file → Executable file
1079
configs/copy/home/.config/gtk-4.0/gtk.css
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
@@ -1,149 +0,0 @@
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
@define-color accent_color rgba(192,153,255,0.8);
|
||||
@define-color accent_bg_color rgba(130,170,255,0.8);
|
||||
@define-color accent_fg_color #ffffff;
|
||||
@define-color destructive_color #ff7b63;
|
||||
@define-color destructive_bg_color #c01c28;
|
||||
@define-color destructive_fg_color #ffffff;
|
||||
@define-color success_color #8ff0a4;
|
||||
@define-color success_bg_color #26a269;
|
||||
@define-color success_fg_color #ffffff;
|
||||
@define-color warning_color #f8e45c;
|
||||
@define-color warning_bg_color #cd9309;
|
||||
@define-color warning_fg_color rgba(0, 0, 0, 0.8);
|
||||
@define-color error_color #ff7b63;
|
||||
@define-color error_bg_color #c01c28;
|
||||
@define-color error_fg_color #ffffff;
|
||||
@define-color window_bg_color rgba(46,47,61,0.98);
|
||||
@define-color window_fg_color #ffffff;
|
||||
@define-color view_bg_color rgba(46,47,61,0.98);
|
||||
@define-color view_fg_color #ffffff;
|
||||
@define-color headerbar_bg_color rgba(46,47,61,0.98);
|
||||
@define-color headerbar_fg_color #ffffff;
|
||||
@define-color headerbar_border_color #ffffff;
|
||||
@define-color headerbar_backdrop_color rgba(46,47,61,0.98);
|
||||
@define-color headerbar_shade_color rgba(46,47,61,0.08);
|
||||
@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9);
|
||||
@define-color card_bg_color rgba(180, 200, 255, 0.15);
|
||||
@define-color card_fg_color #ffffff;
|
||||
@define-color card_shade_color rgba(46,47,61,0.08);
|
||||
@define-color dialog_bg_color rgba(46,47,61,0.98);
|
||||
@define-color dialog_fg_color #ffffff;
|
||||
@define-color popover_bg_color rgba(46,47,61,0.98);
|
||||
@define-color popover_fg_color #ffffff;
|
||||
@define-color popover_shade_color rgba(0, 0, 0, 0.36);
|
||||
@define-color shade_color rgba(0, 0, 0, 0.36);
|
||||
@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
|
||||
@define-color thumbnail_bg_color rgba(46,47,61,0.98);
|
||||
@define-color thumbnail_fg_color #ffffff;
|
||||
@define-color sidebar_bg_color rgba(44,45,58,0.96);
|
||||
@define-color sidebar_fg_color #ffffff;
|
||||
@define-color sidebar_backdrop_color rgba(44,45,58,0.96);
|
||||
@define-color sidebar_shade_color rgba(46,47,61,0.08);
|
||||
@define-color secondary_sidebar_bg_color rgba(44,45,58,0.96);
|
||||
@define-color secondary_sidebar_fg_color #ffffff;
|
||||
@define-color secondary_sidebar_backdrop_color rgba(44,45,58,0.96);
|
||||
@define-color secondary_sidebar_shade_color rgba(0, 0, 0, 0.36);
|
||||
@define-color blue_1 #99c1f1;
|
||||
@define-color blue_2 #62a0ea;
|
||||
@define-color blue_3 #3584e4;
|
||||
@define-color blue_4 #1c71d8;
|
||||
@define-color blue_5 #1a5fb4;
|
||||
@define-color green_1 #8ff0a4;
|
||||
@define-color green_2 #57e389;
|
||||
@define-color green_3 #33d17a;
|
||||
@define-color green_4 #2ec27e;
|
||||
@define-color green_5 #26a269;
|
||||
@define-color yellow_1 #f9f06b;
|
||||
@define-color yellow_2 #f8e45c;
|
||||
@define-color yellow_3 #f6d32d;
|
||||
@define-color yellow_4 #f5c211;
|
||||
@define-color yellow_5 #e5a50a;
|
||||
@define-color orange_1 #ffbe6f;
|
||||
@define-color orange_2 #ffa348;
|
||||
@define-color orange_3 #ff7800;
|
||||
@define-color orange_4 #e66100;
|
||||
@define-color orange_5 #c64600;
|
||||
@define-color red_1 #f66151;
|
||||
@define-color red_2 #ed333b;
|
||||
@define-color red_3 #e01b24;
|
||||
@define-color red_4 #c01c28;
|
||||
@define-color red_5 #a51d2d;
|
||||
@define-color purple_1 #dc8add;
|
||||
@define-color purple_2 #c061cb;
|
||||
@define-color purple_3 #9141ac;
|
||||
@define-color purple_4 #813d9c;
|
||||
@define-color purple_5 #613583;
|
||||
@define-color brown_1 #cdab8f;
|
||||
@define-color brown_2 #b5835a;
|
||||
@define-color brown_3 #986a44;
|
||||
@define-color brown_4 #865e3c;
|
||||
@define-color brown_5 #63452c;
|
||||
@define-color light_1 #ffffff;
|
||||
@define-color light_2 #f6f5f4;
|
||||
@define-color light_3 #deddda;
|
||||
@define-color light_4 #c0bfbc;
|
||||
@define-color light_5 #9a9996;
|
||||
@define-color dark_1 #77767b;
|
||||
@define-color dark_2 #5e5c64;
|
||||
@define-color dark_3 #3d3846;
|
||||
@define-color dark_4 #241f31;
|
||||
@define-color dark_5 #000000;
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
/*
|
||||
Generated with Gradience
|
||||
|
||||
Issues caused by theming should be reported to Gradience repository, and not to upstream
|
||||
|
||||
https://github.com/GradienceTeam/Gradience
|
||||
*/
|
||||
|
||||
.navigation-sidebar {
|
||||
background-color: rgba(46,47,61,0.98);
|
||||
}
|
||||
|
||||
.navigation-sidebar {
|
||||
background-color: rgba(46,47,61,0.98);
|
||||
}
|
||||
|
||||
.navigation-sidebar {
|
||||
background-color: rgba(46,47,61,0.98);
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xbel version="1.0"
|
||||
xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
|
||||
xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
|
||||
>
|
||||
<bookmark href="smb://server.gib/gib/" added="2024-04-01T14:13:44.759290Z" modified="2024-07-22T02:55:32.317714Z" visited="2024-07-22T02:55:32.317711Z">
|
||||
<title>gib on server.gib</title>
|
||||
<info>
|
||||
<metadata owner="http://freedesktop.org">
|
||||
<bookmark:applications>
|
||||
<bookmark:application name="org.gnome.Nautilus" exec="'org.gnome.Nautilus %u'" modified="2024-07-22T02:55:32.317713Z" count="5"/>
|
||||
</bookmark:applications>
|
||||
</metadata>
|
||||
</info>
|
||||
</bookmark>
|
||||
</xbel>
|
||||
1
configs/copy/home/.config/gtk-4.0/theme-info.json
Normal file
1
configs/copy/home/.config/gtk-4.0/theme-info.json
Normal file
@@ -0,0 +1 @@
|
||||
{"THEME_NAME":"Tahoe-Dark"}
|
||||
BIN
configs/copy/home/.local/bin/bw
Executable file
BIN
configs/copy/home/.local/bin/bw
Executable file
Binary file not shown.
191
configs/copy/home/.local/bin/gnf
Executable file
191
configs/copy/home/.local/bin/gnf
Executable file
@@ -0,0 +1,191 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# gnf – Friendly wrapper around 'sudo dnf'
|
||||
# Version 1.2
|
||||
# Author: You
|
||||
#
|
||||
# Features:
|
||||
# • Implicit '-y' on install/remove/reinstall/downgrade (toggle with -n/--no-confirm)
|
||||
# • 'gnf update' pipeline:
|
||||
# - dnf update [-y] [--refresh]
|
||||
# - flatpak update (user + system)
|
||||
# - optional fwupd refresh+update
|
||||
# with its own flags: -r/--refresh, -f/--firmware, -n/--no-confirm, -y/--yes
|
||||
# • Passes any other 'dnf' subcommand straight to sudo dnf
|
||||
# • 'copr' sub-commands get auto '-y' for addrepo/removerepo/enable/disable/list
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
PROGRAM=$(basename "$0")
|
||||
VERSION="1.2"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
$PROGRAM – wrapper for sudo dnf with smart defaults
|
||||
|
||||
Usage:
|
||||
$PROGRAM [GLOBAL OPTIONS] COMMAND [COMMAND OPTIONS] [ARGS...]
|
||||
|
||||
GLOBAL OPTIONS (must precede COMMAND):
|
||||
-h, --help Show this help and exit
|
||||
--version Show version and exit
|
||||
-n, --no-confirm Disable the automatic '-y' on supported commands
|
||||
-y, --yes (Re-)enable the automatic '-y' (default)
|
||||
|
||||
COMMANDS:
|
||||
install, remove, reinstall, downgrade
|
||||
→ Implicit '-y' unless disabled by global '-n'
|
||||
|
||||
update (alias: upgrade)
|
||||
→ dnf update + flatpak update + optional fwupd
|
||||
→ COMMAND OPTIONS:
|
||||
-r, --refresh Pass --refresh to dnf update
|
||||
-f, --firmware After dnf+flatpak, run fwupdmgr refresh && update
|
||||
-n, --no-confirm Do NOT add '-y' to dnf update
|
||||
-y, --yes Force '-y' on dnf update (default)
|
||||
→ You may group short flags: e.g. -rf or -fr
|
||||
|
||||
copr (subcommands: addrepo, removerepo, enable, disable, list, …)
|
||||
→ For addrepo/removerepo/enable/disable/list, we auto '-y'
|
||||
→ Other copr actions are passed straight through
|
||||
|
||||
any other dnf COMMAND is forwarded to 'sudo dnf'
|
||||
|
||||
EXAMPLES:
|
||||
gnf install vim git
|
||||
gnf -n install firefox # interactive remove/install
|
||||
gnf update # dnf update -y ; flatpak
|
||||
gnf update -r # + --refresh
|
||||
gnf update -rf # + firmware
|
||||
gnf -n update --refresh # no -y, + refresh
|
||||
gnf copr addrepo user/project
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
# If no args, show help
|
||||
if [[ $# -eq 0 ]]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#
|
||||
# 1) Parse GLOBAL OPTIONS
|
||||
#
|
||||
auto_yes=true
|
||||
while [[ $# -gt 0 && "$1" == -* ]]; do
|
||||
case "$1" in
|
||||
-h|--help) usage; exit 0 ;;
|
||||
--version) echo "$PROGRAM $VERSION"; exit 0 ;;
|
||||
-n|--no-confirm) auto_yes=false; shift ;;
|
||||
-y|--yes) auto_yes=true; shift ;;
|
||||
--) shift; break ;; # end of globals
|
||||
*) break ;; # first non-global dash-opt
|
||||
esac
|
||||
done
|
||||
|
||||
# Must have at least one positional argument now: the COMMAND
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Error: no COMMAND specified." >&2
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cmd=$1; shift
|
||||
# Treat 'upgrade' as alias for 'update'
|
||||
[[ "$cmd" == "upgrade" ]] && cmd=update
|
||||
|
||||
#
|
||||
# 2) Dispatch on COMMAND
|
||||
#
|
||||
case "$cmd" in
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# install/remove/reinstall/downgrade (auto '-y' unless -n)
|
||||
# ---------------------------------------------------------------
|
||||
install|remove|reinstall|downgrade)
|
||||
dnf_args=()
|
||||
$auto_yes && dnf_args+=(-y)
|
||||
sudo dnf "$cmd" "${dnf_args[@]}" "$@"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# update pipeline
|
||||
# ---------------------------------------------------------------
|
||||
update)
|
||||
# 2.1) Map any long opts to short ones for getopts
|
||||
mapped=()
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
--refresh) mapped+=(-r) ;;
|
||||
--firmware) mapped+=(-f) ;;
|
||||
--no-confirm) mapped+=(-n) ;;
|
||||
--yes) mapped+=(-y) ;;
|
||||
--) mapped+=(--);;
|
||||
*) mapped+=("$arg");;
|
||||
esac
|
||||
done
|
||||
|
||||
# 2.2) Parse update-specific flags with getopts (supports grouping: -rf)
|
||||
refresh=false
|
||||
firmware=false
|
||||
confirm=$auto_yes
|
||||
OPTIND=1
|
||||
# note: the leading colon suppresses getopts’ own error msg
|
||||
while getopts ":rfny" opt "${mapped[@]}"; do
|
||||
case "$opt" in
|
||||
r) refresh=true ;;
|
||||
f) firmware=true ;;
|
||||
n) confirm=false ;;
|
||||
y) confirm=true ;;
|
||||
\?) echo "Unknown option '-$OPTARG' for update" >&2; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND - 1))
|
||||
|
||||
# 2.3) Run the dnf update
|
||||
dnf_args=()
|
||||
$confirm && dnf_args+=(-y)
|
||||
$refresh && dnf_args+=(--refresh)
|
||||
sudo dnf update "${dnf_args[@]}" "$@"
|
||||
|
||||
# 2.4) Run flatpak updates (user then system)
|
||||
flatpak update -y
|
||||
sudo flatpak update
|
||||
|
||||
# 2.5) Optional firmware via fwupd
|
||||
if $firmware; then
|
||||
sudo fwupdmgr refresh
|
||||
sudo fwupdmgr update
|
||||
fi
|
||||
|
||||
exit $?
|
||||
;;
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# copr sub-commands
|
||||
# ---------------------------------------------------------------
|
||||
copr)
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Error: 'gnf copr' requires a subcommand." >&2
|
||||
exit 1
|
||||
fi
|
||||
sub=$1; shift
|
||||
case "$sub" in
|
||||
addrepo|removerepo|enable|disable|list)
|
||||
sudo dnf copr "$sub" -y "$@" ;;
|
||||
*)
|
||||
sudo dnf copr "$sub" "$@" ;;
|
||||
esac
|
||||
exit $?
|
||||
;;
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# anything else → pass straight to sudo dnf
|
||||
# ---------------------------------------------------------------
|
||||
*)
|
||||
sudo dnf "$cmd" "$@"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
6
configs/dotfiles/espanso/bin/get_login
Executable file
6
configs/dotfiles/espanso/bin/get_login
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
source ~/.local/share/sunhat/defaults/bash/api_keys
|
||||
printf '%s\t%s' \
|
||||
"$(bw --session "$BW_SESSION" get username "$1")" \
|
||||
"$(bw --session "$BW_SESSION" get password "$1")"
|
||||
@@ -59,14 +59,33 @@ matches:
|
||||
- trigger: ":pymain"
|
||||
replace: "#\n#\n# Author: GibbyB (Gabriel Brown)\n#\n\nfrom typing import List\n\n\ndef main():\npass\n\n\nif __name__ == \"__main__\":\nmain()"
|
||||
|
||||
- trigger: ":block"
|
||||
replace: "```\n $|$ \n```"
|
||||
force_clipboard: true
|
||||
|
||||
- trigger: ":tsblock"
|
||||
replace: "```ts\n\n```"
|
||||
replace: "```ts \n $|$ \n ```"
|
||||
force_clipboard: true
|
||||
|
||||
- trigger: ":tsxblock"
|
||||
replace: "```tsx\n\n```"
|
||||
replace: "```tsx \n $|$ \n ```"
|
||||
force_clipboard: true
|
||||
|
||||
- trigger: ":nextclient"
|
||||
replace: "'use client;\n\nconst Page = () => { \n$|$\n};\n\nexport { Page };"
|
||||
|
||||
- trigger: "nextserver"
|
||||
replace: "'use server';\n\nconst Page = () => {\n\n};\n\nexport { Page };"
|
||||
|
||||
- trigger: ":]]"
|
||||
replace: "{{output}}\n"
|
||||
vars:
|
||||
- name: output
|
||||
type: shell
|
||||
params:
|
||||
cmd: "~/.config/espanso/bin/get_login be3e756a-f18d-4bff-8f87-38ced7876eee"
|
||||
shell: bash
|
||||
|
||||
# Frequent Misspellings
|
||||
- trigger: "yoututbe"
|
||||
replace: "YouTube"
|
||||
|
||||
@@ -1,9 +1,44 @@
|
||||
{
|
||||
"overrides": [
|
||||
{
|
||||
"wmClass": "org.gnome.Shell.Extensions",
|
||||
"wmTitle": "Forge Settings",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-toolbox",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-goland",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-webstorm",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-phpstorm",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-datagrip",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-rubymine",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "jetbrains-idea",
|
||||
"wmTitle": "splash",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Com.github.amezin.ddterm",
|
||||
"mode": "float"
|
||||
@@ -24,6 +59,11 @@
|
||||
"wmClass": "org.gnome.Calculator",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "gnome-terminal-server",
|
||||
"wmTitle": "Preferences – General",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "gnome-terminal-preferences",
|
||||
"mode": "float"
|
||||
@@ -37,36 +77,64 @@
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "mpv",
|
||||
"wmClass": "firefox",
|
||||
"wmTitle": "About Mozilla Firefox",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "firefox",
|
||||
"wmTitle": "!Mozilla Firefox",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "org.mozilla.firefox.desktop",
|
||||
"wmTitle": "About Mozilla Firefox",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "org.mozilla.firefox.desktop",
|
||||
"wmTitle": "!Mozilla Firefox",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "thunderbird",
|
||||
"wmTitle": "About Mozilla Thunderbird",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "thunderbird",
|
||||
"wmTitle": "!Mozilla Thunderbird",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "org.mozilla.Thunderbird.desktop",
|
||||
"wmTitle": "About Mozilla Thunderbird",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "org.mozilla.Thunderbird.desktop",
|
||||
"wmTitle": "!Mozilla Thunderbird",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "evolution-alarm-notify",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "variety",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "update-manager",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Bitwarden",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Hidamari",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "com.mattjakeman.ExtensionManager",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Cider",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Ulauncher",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "com.nextcloud.desktopclient.nextcloud",
|
||||
"mode": "float"
|
||||
},
|
||||
{
|
||||
"wmClass": "Emulator",
|
||||
"mode": "float"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,9 +3,9 @@
|
||||
|
||||
theme = tokyonight_moon
|
||||
font-family = "VictorMono Nerd Font Mono"
|
||||
font-family-bold = "VictorMono Nerd Font Mono, Bold"
|
||||
font-family-italic = "VictorMono Nerd Font Mono, Regular Italic"
|
||||
font-family-bold-italic = "VictorMono Nerd Font Mono, Bold Italic"
|
||||
#font-family-bold = "VictorMono Nerd Font Mono, Bold"
|
||||
#font-family-italic = "VictorMono Nerd Font Mono, Regular Italic"
|
||||
#font-family-bold-italic = "VictorMono Nerd Font Mono, Bold Italic"
|
||||
font-size = 15
|
||||
background-opacity = 0.92
|
||||
background-blur = true
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
{
|
||||
"layer": "top", // Waybar at top layer
|
||||
"position": "top", // Waybar position (top|bottom|left|right)
|
||||
"height": 30, // Waybar height (to be removed for auto height)
|
||||
"width": 1900, // Waybar width
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"],
|
||||
"modules-center": [
|
||||
"hyprland/window": {
|
||||
"seperate-outputs": true
|
||||
}
|
||||
],
|
||||
"modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"],
|
||||
// Modules configuration
|
||||
"hyprland/workspaces": {
|
||||
"all-outputs": true,
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"format": "{name}: {icon}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": "",
|
||||
"urgent": "",
|
||||
"focused": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"sway/scratchpad": {
|
||||
"format": "{icon} {count}",
|
||||
"show-empty": false,
|
||||
"format-icons": ["", ""],
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{app}: {title}"
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 2,
|
||||
"consume-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"random-icons": {
|
||||
"off": "<span color=\"#f53c3c\"></span> ",
|
||||
"on": " "
|
||||
},
|
||||
"repeat-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"single-icons": {
|
||||
"on": "1 "
|
||||
},
|
||||
"state-icons": {
|
||||
"paused": "",
|
||||
"playing": ""
|
||||
},
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"battery#bat2": {
|
||||
"bat": "BAT2"
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
}
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(43, 48, 59, 0.5);
|
||||
border-bottom: 3px solid rgba(100, 114, 125, 0.5);
|
||||
color: white;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: rgba(43, 48, 59, 0.5);
|
||||
border: 1px solid rgba(100, 114, 125, 0.5);
|
||||
}
|
||||
tooltip label {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background: transparent;
|
||||
color: white;
|
||||
border-bottom: 3px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background: #64727D;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#mode, #clock, #battery {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: #64727D;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #64727D;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: white;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background: #f53c3c;
|
||||
color: white;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
16
configs/dotfiles/kitty/kitty.conf
Normal file → Executable file
16
configs/dotfiles/kitty/kitty.conf
Normal file → Executable file
@@ -193,7 +193,7 @@ cursor #c8d3f5
|
||||
#: precedence. Also, the cursor colors are modified if the cell
|
||||
#: background and foreground colors have very low contrast.
|
||||
|
||||
cursor_text_color #222436
|
||||
cursor_text_color #111325
|
||||
|
||||
#: The color of text under the cursor. If you want it rendered with
|
||||
#: the background color of the cell underneath instead, use the
|
||||
@@ -988,7 +988,7 @@ background #222436
|
||||
|
||||
#: The foreground and background colors.
|
||||
|
||||
background_opacity 0.95
|
||||
background_opacity 0.85
|
||||
|
||||
#: The opacity of the background. A number between zero and one, where
|
||||
#: one is opaque and zero is fully transparent. This will only work if
|
||||
@@ -1023,14 +1023,14 @@ background_image_layout scaled
|
||||
#: When background image is scaled, whether linear interpolation
|
||||
#: should be used.
|
||||
|
||||
#dynamic_background_opacity yes
|
||||
dynamic_background_opacity yes
|
||||
|
||||
#: Allow changing of the background_opacity dynamically, using either
|
||||
#: keyboard shortcuts (increase_background_opacity and
|
||||
#: decrease_background_opacity) or the remote control facility.
|
||||
#: Changing this option by reloading the config is not supported.
|
||||
|
||||
background_tint 0.9
|
||||
background_tint 0.6
|
||||
|
||||
#: How much to tint the background image by the background color.
|
||||
#: This option makes it easier to read the text. Tinting is done using
|
||||
@@ -1198,7 +1198,7 @@ editor /usr/bin/nvim
|
||||
|
||||
#: Relative paths are resolved from the kitty configuration directory.
|
||||
|
||||
# allow_remote_control no
|
||||
allow_remote_control yes
|
||||
|
||||
#: Allow other programs to control kitty. If you turn this on, other
|
||||
#: programs can control all aspects of kitty, including sending text
|
||||
@@ -1225,7 +1225,7 @@ editor /usr/bin/nvim
|
||||
#: yes
|
||||
#: Remote control requests are always accepted.
|
||||
|
||||
# listen_on none
|
||||
listen_on unix:@mykitty
|
||||
|
||||
#: Listen to the specified UNIX socket for remote control connections.
|
||||
#: Note that this will apply to all kitty instances. It can be
|
||||
@@ -1341,7 +1341,7 @@ editor /usr/bin/nvim
|
||||
#: special value of ask means that kitty will ask before opening the
|
||||
#: link when clicked.
|
||||
|
||||
# shell_integration enabled
|
||||
shell_integration enabled
|
||||
|
||||
#: Enable shell integration on supported shells. This enables features
|
||||
#: such as jumping to previous prompts, browsing the output of the
|
||||
@@ -1401,7 +1401,7 @@ editor /usr/bin/nvim
|
||||
|
||||
#: OS specific tweaks {{{
|
||||
|
||||
wayland_titlebar_color #2e2f3d
|
||||
wayland_titlebar_color #09111b
|
||||
|
||||
#: The color of the kitty window's titlebar on Wayland systems with
|
||||
#: client side window decorations such as GNOME. A value of system
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
set imap_user = 'brownagabriel'
|
||||
set imap_pass = 'zjtp-wrkd-alsn-eety'
|
||||
set folder = 'imaps://imap.mail.me.com'
|
||||
set spoolfile = '+INBOX'
|
||||
|
||||
set smtp_url = 'smtps://brownagabriel@icloud.com:zjtp-wrkd-alsn-eety@smtp.mail.me.com'
|
||||
|
||||
set alias_file = '/home/gib/.mutt/aliases'
|
||||
source /home/gib/.mutt/aliases
|
||||
|
||||
set from = 'gib@gibbyb.com'
|
||||
set realname = 'Gabriel Brown'
|
||||
set use_from = yes
|
||||
set reply_to = 'gib@gibbyb.com'
|
||||
13
configs/dotfiles/nvim/.luarc.json
Normal file
13
configs/dotfiles/nvim/.luarc.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"runtime.version": "LuaJIT",
|
||||
"runtime.path": [
|
||||
"lua/?.lua",
|
||||
"lua/?/init.lua"
|
||||
],
|
||||
"diagnostics.globals": ["vim"],
|
||||
"workspace.checkThirdParty": false,
|
||||
"workspace.library": [ "$VIMRUNTIME" ],
|
||||
"workspace.maxPreload": 100000,
|
||||
"workspace.preloadFileSize": 10000,
|
||||
"telemetry.enable": false
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
require("gib_nvim")
|
||||
require'config'
|
||||
|
||||
@@ -1,48 +1,55 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "c1851d5c519611dfc451b6582961b2602e0af89b" },
|
||||
"avante.nvim": { "branch": "main", "commit": "d4672b7e1ee8bf94df5e1d3482e81418187f42aa" },
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"avante.nvim": { "branch": "main", "commit": "56951378f10b25f8bb0f5bb516b8d778a1e498a7" },
|
||||
"barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
|
||||
"cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||
"cmp-dotenv": { "branch": "main", "commit": "4dd53aab60982f1f75848aec5e6214986263325e" },
|
||||
"cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" },
|
||||
"cmp-nerdfont": { "branch": "main", "commit": "e97482344ebed29093015a18c155057adf5c842b" },
|
||||
"cmp-npm": { "branch": "main", "commit": "2337f109f51a09297596dd6b538b70ccba92b4e4" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||
"cmp-nvim-lsp-document-symbol": { "branch": "main", "commit": "f94f7ba948e32cd302caba1c2ca3f7c697fb4fcf" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp-tw2css": { "branch": "main", "commit": "1abe0eebcb57fcbd5538d054f0db61f4e4a1302b" },
|
||||
"cmp_kitty": { "branch": "main", "commit": "f0d7782a525b0445499d3217f820ea43f7459e15" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"fzf-lua": { "branch": "main", "commit": "5af306b30f699513669efdf51cf50a6deab53968" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "e399f9748d7cfd8859747c8d6c4e9c8b4d50a1bd" },
|
||||
"golf": { "branch": "main", "commit": "abf1bc0c1c4a5482b4a4b36b950b49aaa0f39e69" },
|
||||
"image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" },
|
||||
"img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" },
|
||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||
"img-clip.nvim": { "branch": "main", "commit": "f33f3af9ba50f99d70f8fcb1a8575750ada4ea4a" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"leetcode.nvim": { "branch": "master", "commit": "db7e1cd6b9191b34b4c1f2f96e4e3949cde9f951" },
|
||||
"lsp-zero.nvim": { "branch": "v3.x", "commit": "77550f2f6cbf0959ef1583d845661af075f3442b" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "d39a75bbce4b8aad5d627191ea915179c77c100f" },
|
||||
"mason.nvim": { "branch": "main", "commit": "888d6ee499d8089a3a4be4309d239d6be1c1e6c0" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
||||
"mcphub.nvim": { "branch": "main", "commit": "5e39057c4405bc7b83ef9fd38a37d18c9330e403" },
|
||||
"mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f1deac7ecec88c28a250d890ba7bb35843e69cbd" },
|
||||
"nerdcommenter": { "branch": "master", "commit": "02a3b6455fa07b61b9440a78732f1e9b7876c991" },
|
||||
"nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "ac1dfbe3b60e5e23a2cff90e3bd6a3bc88031a57" },
|
||||
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "5c48b8ba1b0b7b25feb6e34e7eb293ea893aedc4" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "d360317f8f509b99229bb31d42269987696df6ff" },
|
||||
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "d89f4891f0720cd2598e4bdd60010d8784b2ac8a" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "41847d3dafb5004464708a3db06b14f12bde548a" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
|
||||
"nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
|
||||
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "2be7ea3f10b7e59658f5abf6dffc50b5d61964d6" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "a1b0988f5ab26698afb56b9c2f0525a4de1195c1" },
|
||||
"rest.nvim": { "branch": "main", "commit": "2ded89dbda1fd3c1430685ffadf2df8beb28336d" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"render-markdown.nvim": { "branch": "main", "commit": "b4885a95e5082a6ed164830c581aac257a74f355" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||
"supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }
|
||||
"undotree": { "branch": "master", "commit": "fe9a9d0645f0f5532360b5e5f5c550d7bb4f1869" }
|
||||
}
|
||||
|
||||
45
configs/dotfiles/nvim/lua/config/autocmd.lua
Normal file
45
configs/dotfiles/nvim/lua/config/autocmd.lua
Normal file
@@ -0,0 +1,45 @@
|
||||
local augroup = vim.api.nvim_create_augroup
|
||||
local gib_group = augroup('Gib', {})
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
local yank_group = augroup('HighlightYank', {})
|
||||
|
||||
function R(name)
|
||||
require("plenary.reload").reload_module(name)
|
||||
end
|
||||
|
||||
autocmd('TextYankPost', {
|
||||
group = yank_group,
|
||||
pattern = '*',
|
||||
callback = function()
|
||||
vim.highlight.on_yank({
|
||||
higroup = 'IncSearch',
|
||||
timeout = 40,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd({"BufWritePre"}, {
|
||||
group = gib_group,
|
||||
pattern = "*",
|
||||
command = [[%s/\s\+$//e]],
|
||||
})
|
||||
|
||||
autocmd({'BufWritePost'}, {
|
||||
pattern = 'init.lua',
|
||||
command = 'source <afile>',
|
||||
})
|
||||
|
||||
autocmd('LspAttach', {
|
||||
group = gib_group,
|
||||
callback = function(e)
|
||||
local opts = { buffer = e.buf }
|
||||
vim.keymap.set('n', '<leader>kf', function() vim.lsp.buf.format() end, opts)
|
||||
vim.keymap.set("n", "<leader>gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "<leader>kw", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>kd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("n", "<leader>re", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end
|
||||
})
|
||||
4
configs/dotfiles/nvim/lua/config/init.lua
Normal file
4
configs/dotfiles/nvim/lua/config/init.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
require'config.options'
|
||||
require'config.keymaps'
|
||||
require'config.lazy'
|
||||
require'config.autocmd'
|
||||
41
configs/dotfiles/nvim/lua/config/keymaps.lua
Normal file
41
configs/dotfiles/nvim/lua/config/keymaps.lua
Normal file
@@ -0,0 +1,41 @@
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = "\\"
|
||||
vim.keymap.set('n', '<leader><leader>s', ':update<CR> :source<CR>')
|
||||
vim.keymap.set('n', '<leader><leader>x', ':!chmod +x %<CR>', { silent = true })
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>h', '<C-w>h')
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>j', '<C-w>j')
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>k', '<C-w>k')
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>l', '<C-w>l')
|
||||
vim.keymap.set('n', '<leader>w', ':write<CR>')
|
||||
vim.keymap.set('n', '<leader>q', ':quit<CR>')
|
||||
-- Move the selected lines up or down one line and reselect
|
||||
vim.keymap.set('v', 'J', ':m \'>+1<CR>gv=gv')
|
||||
vim.keymap.set('v', 'K', ':m \'<-2<CR>gv=gv')
|
||||
-- Join the current line with the line below and reposition the cursor
|
||||
vim.keymap.set('n', 'J', 'mzJ`z')
|
||||
-- Scroll down or up and reposition the cursor
|
||||
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||
-- Search forward and reposition the cursor
|
||||
vim.keymap.set('n', 'n', 'nzzzv')
|
||||
-- Search backward and reposition the cursor
|
||||
vim.keymap.set('n', 'N', 'Nzzzv')
|
||||
-- Paste the selection from the system clipboard
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>p', [["+p]])
|
||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>P', [["+P]])
|
||||
-- Move selected text to the black hole register & replace with copied text.
|
||||
vim.keymap.set('x', '<leader>v', [["_dP]])
|
||||
-- Yank (copy) the selection to the system clipboard
|
||||
vim.keymap.set({'n', 'v'}, '<leader>y', [["+y]])
|
||||
-- Yank (copy) the entire buffer to the system clipboard
|
||||
vim.keymap.set('n', '<leader>yy', [["+Y]])
|
||||
-- Yank all the text in the file to the system clipboard
|
||||
vim.keymap.set('n', '<leader>YY', 'gg"+yG')
|
||||
-- Delete the selection without yanking (copying) it
|
||||
vim.keymap.set({'n', 'v'}, '<leader>d', [["_d]])
|
||||
-- Delete the line without yanking (copying) it
|
||||
vim.keymap.set('n', '<leader>dd', [["_dd]])
|
||||
-- Map Q in Normal mode to do nothing (nop)
|
||||
vim.keymap.set('n', 'Q', '<nop>')
|
||||
-- Perform a search and replace operation using the word under the cursor
|
||||
vim.keymap.set('n', '<leader>sr', [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||
28
configs/dotfiles/nvim/lua/config/lazy.lua
Normal file
28
configs/dotfiles/nvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
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 = { { import = 'plugins' } },
|
||||
install = { colorscheme = { 'tokyonight-moon' } },
|
||||
checker = { enabled = true },
|
||||
})
|
||||
21
configs/dotfiles/nvim/lua/config/options.lua
Normal file
21
configs/dotfiles/nvim/lua/config/options.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = true
|
||||
--vim.o.winborder = 'rounded'
|
||||
vim.o.tabstop = 2
|
||||
vim.o.softtabstop = 2
|
||||
vim.o.shiftwidth = 2
|
||||
vim.o.expandtab = true
|
||||
vim.o.smartindent = true
|
||||
vim.o.swapfile = false
|
||||
vim.o.undodir = os.getenv('HOME') .. '/.vim/undodir'
|
||||
vim.o.undofile = true
|
||||
vim.o.hlsearch = true
|
||||
vim.o.incsearch = true
|
||||
vim.o.termguicolors = true
|
||||
vim.o.scrolloff = 4
|
||||
vim.o.signcolumn = 'yes'
|
||||
vim.o.updatetime = 50
|
||||
vim.opt.isfname:append('@-@')
|
||||
vim.cmd([[set list]])
|
||||
vim.cmd([[set listchars=trail:⋅,nbsp:⋅,tab:\ \ ]])
|
||||
vim.cmd(':hi statusline guibg=NONE')
|
||||
@@ -1,126 +0,0 @@
|
||||
require('avante').setup({
|
||||
--provider = "openai",
|
||||
--openai = {
|
||||
--endpoint = "https://api.openai.com/v1",
|
||||
--model = "gpt-4o", -- your desired model (or use gpt-4o, etc.)
|
||||
--timeout = 30000, -- Timeout in milliseconds, increase this for reasoning models
|
||||
--temperature = 0,
|
||||
--max_completion_tokens = 8192, -- Increase this to include reasoning tokens (for reasoning models)
|
||||
----reasoning_effort = "medium", -- low|medium|high, only used for reasoning models
|
||||
--},
|
||||
provider = "claude",
|
||||
mode = "agentic",
|
||||
auto_suggestions_provider = "claude",
|
||||
claude = {
|
||||
endpoint = "https://api.anthropic.com",
|
||||
model = "claude-3-7-sonnet-latest",
|
||||
temperature = 0,
|
||||
max_tokens = 4096,
|
||||
},
|
||||
dual_boost = {
|
||||
enabled = false,
|
||||
--first_provider = "openai",
|
||||
--second_provider = "claude",
|
||||
--prompt = "Based on the two reference outputs below, generate a response that incorporates elements from both but reflects your own judgment and unique perspective. Do not provide any explanation, just give the response directly. Reference Output 1: [{{provider1_output}}], Reference Output 2: [{{provider2_output}}]",
|
||||
--timeout = 60000, -- in milliseconds
|
||||
},
|
||||
behaviour = {
|
||||
--auto_suggestions = false,
|
||||
--auto_set_highlight_group = true,
|
||||
--auto_set_keymaps = true,
|
||||
--auto_apply_diff_after_generation = false,
|
||||
--support_paste_from_clipboard = false,
|
||||
--minimize_diff = true, -- Whether to remove unchanged lines when applying a code block
|
||||
--enable_token_counting = true, -- Whether to enable token counting. Default to true.
|
||||
},
|
||||
mappings = {
|
||||
--- @class AvanteConflictMappings
|
||||
diff = {
|
||||
ours = "co",
|
||||
theirs = "ct",
|
||||
all_theirs = "ca",
|
||||
both = "cb",
|
||||
cursor = "cc",
|
||||
next = "]x",
|
||||
prev = "[x",
|
||||
},
|
||||
suggestion = {
|
||||
accept = "<M-l>",
|
||||
next = "<M-]>",
|
||||
prev = "<M-[>",
|
||||
dismiss = "<C-]>",
|
||||
},
|
||||
jump = {
|
||||
next = "]]",
|
||||
prev = "[[",
|
||||
},
|
||||
submit = {
|
||||
normal = "<CR>",
|
||||
insert = "<C-s>",
|
||||
},
|
||||
cancel = {
|
||||
normal = { "<C-c>", "<Esc>", "q" },
|
||||
insert = { "<C-c>" },
|
||||
},
|
||||
sidebar = {
|
||||
apply_all = "A",
|
||||
apply_cursor = "a",
|
||||
retry_user_request = "r",
|
||||
edit_user_request = "e",
|
||||
switch_windows = "<Tab>",
|
||||
reverse_switch_windows = "<S-Tab>",
|
||||
remove_file = "d",
|
||||
add_file = "@",
|
||||
close = { "<Esc>", "q" },
|
||||
close_from_input = nil, -- e.g., { normal = "<Esc>", insert = "<C-d>" }
|
||||
},
|
||||
},
|
||||
hints = { enabled = true },
|
||||
windows = {
|
||||
---@type "right" | "left" | "top" | "bottom"
|
||||
position = "right", -- the position of the sidebar
|
||||
wrap = true, -- similar to vim.o.wrap
|
||||
width = 30, -- default % based on available width
|
||||
sidebar_header = {
|
||||
enabled = true, -- true, false to enable/disable the header
|
||||
align = "center", -- left, center, right for title
|
||||
rounded = true,
|
||||
},
|
||||
input = {
|
||||
prefix = "> ",
|
||||
height = 8, -- Height of the input window in vertical layout
|
||||
},
|
||||
edit = {
|
||||
border = "rounded",
|
||||
start_insert = true, -- Start insert mode when opening the edit window
|
||||
},
|
||||
ask = {
|
||||
floating = false, -- Open the 'AvanteAsk' prompt in a floating window
|
||||
start_insert = true, -- Start insert mode when opening the ask window
|
||||
border = "rounded",
|
||||
---@type "ours" | "theirs"
|
||||
focus_on_apply = "ours", -- which diff to focus after applying
|
||||
},
|
||||
},
|
||||
highlights = {
|
||||
---@type AvanteConflictHighlights
|
||||
diff = {
|
||||
current = "DiffText",
|
||||
incoming = "DiffAdd",
|
||||
},
|
||||
},
|
||||
--- @class AvanteConflictUserConfig
|
||||
diff = {
|
||||
autojump = true,
|
||||
---@type string | fun(): any
|
||||
list_opener = "copen",
|
||||
--- Override the 'timeoutlen' setting while hovering over a diff (see :help timeoutlen).
|
||||
--- Helps to avoid entering operator-pending mode with diff mappings starting with `c`.
|
||||
--- Disable by setting to -1.
|
||||
override_timeoutlen = 500,
|
||||
},
|
||||
suggestion = {
|
||||
debounce = 600,
|
||||
throttle = 600,
|
||||
},
|
||||
})
|
||||
@@ -1,19 +0,0 @@
|
||||
-- Move to previous/next
|
||||
vim.keymap.set("n", "<C-h>", "<Cmd>BufferPrevious<CR>")
|
||||
vim.keymap.set("n", "<C-l>", "<Cmd>BufferNext<CR>")
|
||||
-- Re-order to previous/next
|
||||
vim.keymap.set("n", "<C-j>", "<Cmd>BufferMovePrevious<CR>")
|
||||
vim.keymap.set("n", "<C-k>", "<Cmd>BufferMoveNext<CR>")
|
||||
-- Goto buffer in position...
|
||||
vim.keymap.set("n", "<leader>1", "<Cmd>BufferGoto 1<CR>")
|
||||
vim.keymap.set("n", "<leader>2", "<Cmd>BufferGoto 2<CR>")
|
||||
vim.keymap.set("n", "<leader>3", "<Cmd>BufferGoto 3<CR>")
|
||||
vim.keymap.set("n", "<leader>4", "<Cmd>BufferGoto 4<CR>")
|
||||
vim.keymap.set("n", "<leader>5", "<Cmd>BufferGoto 5<CR>")
|
||||
vim.keymap.set("n", "<leader>6", "<Cmd>BufferGoto 6<CR>")
|
||||
vim.keymap.set("n", "<leader>7", "<Cmd>BufferGoto 7<CR>")
|
||||
vim.keymap.set("n", "<leader>8", "<Cmd>BufferGoto 8<CR>")
|
||||
vim.keymap.set("n", "<leader>9", "<Cmd>BufferGoto 9<CR>")
|
||||
vim.keymap.set("n", "<leader>0", "<Cmd>BufferLast<CR>")
|
||||
vim.keymap.set("n", "<C-q>", "<Cmd>BufferClose<CR>")
|
||||
vim.keymap.set("n", "<C-a>", "<Cmd>BufferCloseAllButCurrent<CR>")
|
||||
@@ -1,22 +0,0 @@
|
||||
require("cloak").setup({
|
||||
enabled = false,
|
||||
cloak_character = "*",
|
||||
-- The applied highlight group (colors) on the cloaking, see `:h highlight`.
|
||||
highlight_group = "Comment",
|
||||
patterns = {
|
||||
{
|
||||
-- Match any file starting with ".env".
|
||||
-- This can be a table to match multiple file patterns.
|
||||
file_pattern = {
|
||||
".env*",
|
||||
"wrangler.toml",
|
||||
".dev.vars",
|
||||
},
|
||||
-- Match an equals sign and any character after it.
|
||||
-- This can also be a table of patterns to cloak,
|
||||
-- example: cloak_pattern = { ":.+", "-.+" } for yaml files.
|
||||
cloak_pattern = "=.+"
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
require("tokyonight").setup({
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
style = "moon", -- The theme comes in three styles, `storm`, `moon`, a darker variant `night` and `day`
|
||||
light_style = "day", -- The theme is used when the background is set to light
|
||||
transparent = true, -- Enable this to disable setting the background color
|
||||
terminal_colors = true, -- Configure the colors used when opening a `:terminal` in [Neovim](https://github.com/neovim/neovim)
|
||||
styles = {
|
||||
-- Style to be applied to different syntax groups
|
||||
-- Value is any valid attr-list value for `:help nvim_set_hl`
|
||||
comments = { italic = true },
|
||||
keywords = { italic = true },
|
||||
functions = {},
|
||||
variables = {},
|
||||
-- Background styles. Can be "dark", "transparent" or "normal"
|
||||
sidebars = "dark", -- style for sidebars, see below
|
||||
floats = "dark", -- style for floating windows
|
||||
},
|
||||
sidebars = { "qf", "help" }, -- Set a darker background on sidebar-like windows. For example: `["qf", "vista_kind", "terminal", "packer"]`
|
||||
day_brightness = 0.3, -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
|
||||
hide_inactive_statusline = false, -- Enabling this option, will hide inactive statuslines and replace them with a thin border instead. Should work with the standard **StatusLine** and **LuaLine**.
|
||||
dim_inactive = false, -- dims inactive windows
|
||||
lualine_bold = false, -- When `true`, section headers in the lualine theme will be bold
|
||||
})
|
||||
@@ -1,35 +0,0 @@
|
||||
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
||||
|
||||
local gib_nvim_Fugitive = vim.api.nvim_create_augroup("gib_nvim_Fugitive", {})
|
||||
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
autocmd("BufWinEnter", {
|
||||
group = gib_nvim_Fugitive,
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
if vim.bo.ft ~= "fugitive" then
|
||||
return
|
||||
end
|
||||
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
vim.keymap.set("n", "<leader>gp", function()
|
||||
vim.cmd.Git('push')
|
||||
end, opts)
|
||||
|
||||
-- rebase always
|
||||
vim.keymap.set("n", "<leader>gP", function()
|
||||
vim.cmd.Git({'pull', '--rebase'})
|
||||
end, opts)
|
||||
|
||||
-- Git commit
|
||||
vim.keymap.set("n", "<leader>gc", function()
|
||||
local message = vim.fn.input('Commit message: ')
|
||||
vim.cmd('Git commit -m "' .. message .. '"')
|
||||
end, opts)
|
||||
|
||||
-- NOTE: It allows me to easily set the branch i am pushing and any tracking
|
||||
-- needed if i did not set the branch up correctly
|
||||
vim.keymap.set("n", "<leader>gt", ":Git push -u origin ", opts);
|
||||
end,
|
||||
})
|
||||
@@ -1,11 +0,0 @@
|
||||
--local mark = require("harpoon.mark")
|
||||
--local ui = require("harpoon.ui")
|
||||
|
||||
--vim.keymap.set("n", "<leader>ha", mark.add_file)
|
||||
--vim.keymap.set("n", "<leader>hh", ui.toggle_quick_menu)
|
||||
|
||||
--vim.keymap.set("n", "<leader>h1", function() ui.nav_file(1) end)
|
||||
--vim.keymap.set("n", "<leader>h2", function() ui.nav_file(2) end)
|
||||
--vim.keymap.set("n", "<leader>h3", function() ui.nav_file(3) end)
|
||||
--vim.keymap.set("n", "<leader>h4", function() ui.nav_file(4) end)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
require('image').setup({
|
||||
backend = "kitty",
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = false,
|
||||
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
|
||||
},
|
||||
neorg = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = false,
|
||||
filetypes = { "norg" },
|
||||
},
|
||||
},
|
||||
max_width = nil,
|
||||
max_height = nil,
|
||||
max_width_window_percentage = nil,
|
||||
max_height_window_percentage = 50,
|
||||
kitty_method = "normal",
|
||||
})
|
||||
@@ -1,17 +0,0 @@
|
||||
require("gib_nvim.lazy")
|
||||
require("gib_nvim.remap")
|
||||
require("gib_nvim.set")
|
||||
require("gib_nvim.colors")
|
||||
require("gib_nvim.cloak")
|
||||
require("gib_nvim.fugitive")
|
||||
require("gib_nvim.lsp")
|
||||
require("gib_nvim.lualine")
|
||||
require("gib_nvim.neotree")
|
||||
require("gib_nvim.nerdcomments")
|
||||
require("gib_nvim.refactoring")
|
||||
require("gib_nvim.telescope")
|
||||
require("gib_nvim.treesitter")
|
||||
require("gib_nvim.undotree")
|
||||
require("gib_nvim.barbar")
|
||||
require("gib_nvim.avante")
|
||||
require("gib_nvim.image")
|
||||
@@ -1,252 +0,0 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
{
|
||||
'nvim-telescope/telescope.nvim', tag = '0.1.5',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' }
|
||||
},
|
||||
{
|
||||
'folke/tokyonight.nvim',
|
||||
priority = 1000,
|
||||
},
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||
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)",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
build = ':TSUpdate'
|
||||
},
|
||||
{
|
||||
'nvim-treesitter/playground'
|
||||
},
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter-context'
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/refactoring.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
}
|
||||
},
|
||||
{
|
||||
'mbbill/undotree'
|
||||
},
|
||||
{
|
||||
'tpope/vim-fugitive'
|
||||
},
|
||||
{
|
||||
'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'
|
||||
},
|
||||
{'williamboman/mason.nvim'},
|
||||
{'williamboman/mason-lspconfig.nvim'},
|
||||
{'neovim/nvim-lspconfig'},
|
||||
{'hrsh7th/cmp-nvim-lsp'},
|
||||
{'hrsh7th/nvim-cmp'},
|
||||
{'hrsh7th/cmp-path'},
|
||||
{'hrsh7th/cmp-buffer'},
|
||||
{'hrsh7th/cmp-nvim-lua'},
|
||||
{'onsails/lspkind.nvim'},
|
||||
{'L3MON4D3/LuaSnip'},
|
||||
{'saadparwaiz1/cmp_luasnip'},
|
||||
{'rafamadriz/friendly-snippets'},
|
||||
{
|
||||
'supermaven-inc/supermaven-nvim',
|
||||
config = function()
|
||||
require('supermaven-nvim').setup({
|
||||
keymaps = {
|
||||
accept_suggestion = '<Tab>',
|
||||
clear_suggestion = '<C-]>',
|
||||
accept_word = '<C-.>',
|
||||
},
|
||||
disable_inline_completion = true, -- for cmp
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
'laytan/cloak.nvim'
|
||||
},
|
||||
{
|
||||
'nvim-lualine/lualine.nvim',
|
||||
dependencies = {
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
'folke/tokyonight.nvim',
|
||||
}
|
||||
},
|
||||
{
|
||||
'scrooloose/nerdcommenter'
|
||||
},
|
||||
{
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
branch = 'v3.x',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
'MunifTanjim/nui.nvim',
|
||||
'3rd/image.nvim',
|
||||
{
|
||||
's1n7ax/nvim-window-picker',
|
||||
version = '2.*',
|
||||
config = function()
|
||||
require 'window-picker'.setup({
|
||||
filter_rules = {
|
||||
include_current_win = false,
|
||||
autoselect_one = true,
|
||||
bo = {
|
||||
filetype = { 'neo-tree', "neo-tree-popup", "notify" },
|
||||
buftype = { 'terminal', "quickfix" },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'romgrk/barbar.nvim', dependencies = {
|
||||
'lewis6991/gitsigns.nvim', -- OPTIONAL: for git status
|
||||
'nvim-tree/nvim-web-devicons', -- OPTIONAL: for file icons
|
||||
},
|
||||
init = function() vim.g.barbar_auto_setup = false end,
|
||||
opts = {
|
||||
animation = true,
|
||||
insert_at_start = true,
|
||||
},
|
||||
version = '^1.0.0',
|
||||
},
|
||||
{
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
},
|
||||
{
|
||||
'windwp/nvim-ts-autotag',
|
||||
config = function ()
|
||||
require('nvim-ts-autotag').setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'kawre/leetcode.nvim',
|
||||
build = ':TSUpdate html',
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
'MunifTanjim/nui.nvim',
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
'rcarriga/nvim-notify',
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
'3rd/image.nvim',
|
||||
},
|
||||
opts = {
|
||||
arg = "lc",
|
||||
lang = "typescript",
|
||||
image_support = false,
|
||||
},
|
||||
},
|
||||
{
|
||||
"3rd/image.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
},
|
||||
{
|
||||
"rest-nvim/rest.nvim",
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function (_, opts)
|
||||
opts.ensure_installed = opts.ensure_installed or {}
|
||||
table.insert(opts.ensure_installed, "http")
|
||||
end,
|
||||
}
|
||||
},
|
||||
{
|
||||
"yetone/avante.nvim",
|
||||
event = "VeryLazy",
|
||||
version = false, -- Never set this value to "*"! Never!
|
||||
build = "make", -- or `make BUILD_FROM_SOURCE=true`
|
||||
-- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"stevearc/dressing.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
--- The below dependencies are optional,
|
||||
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
|
||||
"ibhagwan/fzf-lua", -- for file_selector provider fzf
|
||||
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
||||
{
|
||||
-- support for image pasting
|
||||
"HakonHarnes/img-clip.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
-- recommended settings
|
||||
default = {
|
||||
embed_image_as_base64 = false,
|
||||
prompt_for_file_name = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
-- Make sure to set this up properly if you have lazy=true
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
opts = {
|
||||
file_types = { "markdown", "Avante" },
|
||||
},
|
||||
ft = { "markdown", "Avante" },
|
||||
},
|
||||
},
|
||||
},
|
||||
{ 'vuciv/golf' },
|
||||
})
|
||||
@@ -1,123 +0,0 @@
|
||||
local lsp = require('lsp-zero')
|
||||
local lspkind = require('lspkind')
|
||||
|
||||
lsp.preset('recommended')
|
||||
|
||||
lsp.on_attach(function(client, bufnr)
|
||||
local opts = {buffer = bufnr, remap = false}
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "<leader>H", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>kw", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>kd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>ka", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("n", "<leader>re", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>rn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end)
|
||||
|
||||
require('mason').setup({
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗"
|
||||
}
|
||||
}
|
||||
})
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
'bashls',
|
||||
'docker_compose_language_service',
|
||||
'dockerls',
|
||||
'eslint',
|
||||
'intelephense',
|
||||
'jsonls',
|
||||
'lua_ls',
|
||||
'pyright',
|
||||
'rust_analyzer',
|
||||
'sqlls',
|
||||
'tailwindcss',
|
||||
'yamlls',
|
||||
},
|
||||
handlers = {
|
||||
lsp.default_setup,
|
||||
lua_ls = function()
|
||||
local lua_opts = lsp.nvim_lua_ls()
|
||||
require('lspconfig').lua_ls.setup(lua_opts)
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
local cmp = require('cmp')
|
||||
local cmp_select = {behavior = cmp.SelectBehavior.Select}
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
sources = {
|
||||
{name = 'supermaven'},
|
||||
{name = 'path'},
|
||||
{name = 'nvim_lsp'},
|
||||
{name = 'nvim_lua'},
|
||||
{name = 'luasnip', keyword_length = 2},
|
||||
{name = 'buffer', keyword_length = 3},
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
mode = 'symbol',
|
||||
maxwidth = {
|
||||
menu = 50,
|
||||
abbr = 50,
|
||||
},
|
||||
symbol_map = {
|
||||
Supermaven = "",
|
||||
},
|
||||
ellipsis_char = '...',
|
||||
show_labelDetails = true,
|
||||
before = function (entry, vim_item)
|
||||
-- ...
|
||||
return vim_item
|
||||
end
|
||||
})
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
-- Tab to select the next item
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
if cmp.get_selected_entry() then
|
||||
cmp.confirm({select = false})
|
||||
else
|
||||
cmp.select_next_item()
|
||||
end
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
}),
|
||||
preselect = cmp.PreselectMode.Item,
|
||||
completion = {
|
||||
completeopt = 'menu,menuone,noinsert',
|
||||
}
|
||||
--mapping = cmp.mapping.preset.insert({
|
||||
--['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
--['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
--['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
--['<C-Space>'] = cmp.mapping.complete(),
|
||||
--}),
|
||||
})
|
||||
|
||||
lsp.setup()
|
||||
@@ -1,40 +0,0 @@
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'tokyonight',
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'location'},
|
||||
lualine_y = {},
|
||||
lualine_z = {}
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {}
|
||||
}
|
||||
@@ -1,300 +0,0 @@
|
||||
vim.keymap.set({'n','v'}, '<leader>t', '<Cmd>Neotree toggle<CR>')
|
||||
vim.keymap.set({'n', 'v'}, '<leader>h', '<C-w>h')
|
||||
vim.keymap.set({'n', 'v'}, '<leader>l', '<C-w>l')
|
||||
vim.keymap.set({'n', 'v'}, '<leader>T', '<Cmd>Neotree focus<CR>')
|
||||
|
||||
-- If you want icons for diagnostic errors, you'll need to define them somewhere:
|
||||
vim.fn.sign_define("DiagnosticSignError",
|
||||
{text = " ", texthl = "DiagnosticSignError"})
|
||||
vim.fn.sign_define("DiagnosticSignWarn",
|
||||
{text = " ", texthl = "DiagnosticSignWarn"})
|
||||
vim.fn.sign_define("DiagnosticSignInfo",
|
||||
{text = " ", texthl = "DiagnosticSignInfo"})
|
||||
vim.fn.sign_define("DiagnosticSignHint",
|
||||
{text = "", texthl = "DiagnosticSignHint"})
|
||||
|
||||
require("neo-tree").setup({
|
||||
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
|
||||
popup_border_style = "rounded",
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true,
|
||||
--enable_normal_mode_for_inputs = false, -- Enable normal mode for input dialogs.
|
||||
open_files_do_not_replace_types = { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypes
|
||||
sort_case_insensitive = false, -- used when sorting files and directories in the tree
|
||||
sort_function = nil ,
|
||||
default_component_configs = {
|
||||
container = {
|
||||
enable_character_fade = true
|
||||
},
|
||||
indent = {
|
||||
indent_size = 2,
|
||||
padding = 1, -- extra padding on left hand side
|
||||
-- indent guides
|
||||
with_markers = true,
|
||||
indent_marker = "│",
|
||||
last_indent_marker = "└",
|
||||
highlight = "NeoTreeIndentMarker",
|
||||
-- expander config, needed for nesting files
|
||||
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders
|
||||
expander_collapsed = "",
|
||||
expander_expanded = "",
|
||||
expander_highlight = "NeoTreeExpander",
|
||||
},
|
||||
icon = {
|
||||
folder_closed = "",
|
||||
folder_open = "",
|
||||
folder_empty = "",
|
||||
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
|
||||
-- then these will never be used.
|
||||
default = "*",
|
||||
highlight = "NeoTreeFileIcon"
|
||||
},
|
||||
modified = {
|
||||
symbol = "[+]",
|
||||
highlight = "NeoTreeModified",
|
||||
},
|
||||
name = {
|
||||
trailing_slash = false,
|
||||
use_git_status_colors = true,
|
||||
highlight = "NeoTreeFileName",
|
||||
},
|
||||
git_status = {
|
||||
symbols = {
|
||||
-- Change type
|
||||
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
|
||||
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
|
||||
deleted = "✖",-- this can only be used in the git_status source
|
||||
renamed = "",-- this can only be used in the git_status source
|
||||
-- Status type
|
||||
untracked = "",
|
||||
ignored = "",
|
||||
unstaged = "",
|
||||
staged = "",
|
||||
conflict = "",
|
||||
}
|
||||
},
|
||||
-- If you don't want to use these columns, you can set `enabled = false` for each of them individually
|
||||
file_size = {
|
||||
enabled = true,
|
||||
required_width = 64, -- min width of window required to show this column
|
||||
},
|
||||
type = {
|
||||
enabled = true,
|
||||
required_width = 122, -- min width of window required to show this column
|
||||
},
|
||||
last_modified = {
|
||||
enabled = true,
|
||||
required_width = 88, -- min width of window required to show this column
|
||||
},
|
||||
created = {
|
||||
enabled = true,
|
||||
required_width = 110, -- min width of window required to show this column
|
||||
},
|
||||
symlink_target = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
-- A list of functions, each representing a global custom command
|
||||
-- that will be available in all sources (if not overridden in `opts[source_name].commands`)
|
||||
-- see `:h neo-tree-custom-commands-global`
|
||||
commands = {},
|
||||
window = {
|
||||
position = "left",
|
||||
width = 35,
|
||||
mapping_options = {
|
||||
noremap = true,
|
||||
nowait = true,
|
||||
},
|
||||
mappings = {
|
||||
["<space>"] = {
|
||||
"toggle_node",
|
||||
nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use
|
||||
},
|
||||
["<2-LeftMouse>"] = "open",
|
||||
["<cr>"] = "open",
|
||||
["<esc>"] = "cancel", -- close preview or floating neo-tree window
|
||||
["P"] = { "toggle_preview", config = { use_float = true, use_image_nvim = true } },
|
||||
-- Read `# Preview Mode` for more information
|
||||
["l"] = "focus_preview",
|
||||
["S"] = "open_split",
|
||||
["s"] = "open_vsplit",
|
||||
-- ["S"] = "split_with_window_picker",
|
||||
-- ["s"] = "vsplit_with_window_picker",
|
||||
["t"] = "open_tabnew",
|
||||
-- ["<cr>"] = "open_drop",
|
||||
-- ["t"] = "open_tab_drop",
|
||||
["w"] = "open_with_window_picker",
|
||||
--["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing
|
||||
["C"] = "close_node",
|
||||
-- ['C'] = 'close_all_subnodes',
|
||||
["z"] = "close_all_nodes",
|
||||
--["Z"] = "expand_all_nodes",
|
||||
["a"] = {
|
||||
"add",
|
||||
-- this command supports BASH style brace expansion ("x{a,b,c}" -> xa,xb,xc). see `:h neo-tree-file-actions` for details
|
||||
-- some commands may take optional config options, see `:h neo-tree-mappings` for details
|
||||
config = {
|
||||
show_path = "none" -- "none", "relative", "absolute"
|
||||
}
|
||||
},
|
||||
["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". this also supports BASH style brace expansion.
|
||||
["d"] = "delete",
|
||||
["r"] = "rename",
|
||||
["y"] = "copy_to_clipboard",
|
||||
["x"] = "cut_to_clipboard",
|
||||
["p"] = "paste_from_clipboard",
|
||||
["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add":
|
||||
-- ["c"] = {
|
||||
-- "copy",
|
||||
-- config = {
|
||||
-- show_path = "none" -- "none", "relative", "absolute"
|
||||
-- }
|
||||
--}
|
||||
["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add".
|
||||
["q"] = "close_window",
|
||||
["R"] = "refresh",
|
||||
["?"] = "show_help",
|
||||
["<"] = "prev_source",
|
||||
[">"] = "next_source",
|
||||
["i"] = "show_file_details",
|
||||
}
|
||||
},
|
||||
nesting_rules = {},
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = false, -- when true, they will just be displayed differently than normal items
|
||||
hide_dotfiles = true,
|
||||
hide_gitignored = true,
|
||||
hide_hidden = true, -- only works on Windows for hidden files/directories
|
||||
hide_by_name = {
|
||||
--"node_modules"
|
||||
},
|
||||
hide_by_pattern = { -- uses glob style patterns
|
||||
--"*.meta",
|
||||
--"*/src/*/tsconfig.json",
|
||||
},
|
||||
always_show = { -- remains visible even if other settings would normally hide it
|
||||
--".gitignored",
|
||||
},
|
||||
never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show
|
||||
--".DS_Store",
|
||||
--"thumbs.db"
|
||||
},
|
||||
never_show_by_pattern = { -- uses glob style patterns
|
||||
--".null-ls_*",
|
||||
},
|
||||
},
|
||||
follow_current_file = {
|
||||
enabled = false, -- This will find and focus the file in the active buffer every time
|
||||
-- -- the current file is changed while the tree is open.
|
||||
leave_dirs_open = false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
|
||||
},
|
||||
group_empty_dirs = false, -- when true, empty folders will be grouped together
|
||||
hijack_netrw_behavior = "open_default", -- netrw disabled, opening a directory opens neo-tree
|
||||
-- in whatever position is specified in window.position
|
||||
-- "open_current", -- netrw disabled, opening a directory opens within the
|
||||
-- window like netrw would, regardless of window.position
|
||||
-- "disabled", -- netrw left alone, neo-tree does not handle opening dirs
|
||||
use_libuv_file_watcher = false, -- This will use the OS level file watchers to detect changes
|
||||
|
||||
commands = {
|
||||
avante_add_files = function(state)
|
||||
local node = state.tree:get_node()
|
||||
local filepath = node:get_id()
|
||||
local relative_path = require('avante.utils').relative_path(filepath)
|
||||
|
||||
local sidebar = require('avante').get()
|
||||
|
||||
local open = sidebar:is_open()
|
||||
-- ensure avante sidebar is open
|
||||
if not open then
|
||||
require('avante.api').ask()
|
||||
sidebar = require('avante').get()
|
||||
end
|
||||
|
||||
sidebar.file_selector:add_selected_file(relative_path)
|
||||
|
||||
-- remove neo tree buffer
|
||||
if not open then
|
||||
sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]')
|
||||
end
|
||||
end,
|
||||
},
|
||||
-- instead of relying on nvim autocmd events.
|
||||
window = {
|
||||
mappings = {
|
||||
["<bs>"] = "navigate_up",
|
||||
["."] = "set_root",
|
||||
["H"] = "toggle_hidden",
|
||||
["/"] = "fuzzy_finder",
|
||||
["D"] = "fuzzy_finder_directory",
|
||||
["#"] = "fuzzy_sorter", -- fuzzy sorting using the fzy algorithm
|
||||
-- ["D"] = "fuzzy_sorter_directory",
|
||||
["f"] = "filter_on_submit",
|
||||
["<c-x>"] = "clear_filter",
|
||||
["[g"] = "prev_git_modified",
|
||||
["]g"] = "next_git_modified",
|
||||
["o"] = { "show_help", nowait=false, config = { title = "Order by", prefix_key = "o" }},
|
||||
['oa'] = 'avante_add_files',
|
||||
["oc"] = { "order_by_created", nowait = false },
|
||||
["od"] = { "order_by_diagnostics", nowait = false },
|
||||
["og"] = { "order_by_git_status", nowait = false },
|
||||
["om"] = { "order_by_modified", nowait = false },
|
||||
["on"] = { "order_by_name", nowait = false },
|
||||
["os"] = { "order_by_size", nowait = false },
|
||||
["ot"] = { "order_by_type", nowait = false },
|
||||
},
|
||||
fuzzy_finder_mappings = { -- define keymaps for filter popup window in fuzzy_finder_mode
|
||||
["<down>"] = "move_cursor_down",
|
||||
["<C-n>"] = "move_cursor_down",
|
||||
["<up>"] = "move_cursor_up",
|
||||
["<C-p>"] = "move_cursor_up",
|
||||
},
|
||||
},
|
||||
|
||||
},
|
||||
buffers = {
|
||||
follow_current_file = {
|
||||
enabled = true, -- This will find and focus the file in the active buffer every time
|
||||
-- -- the current file is changed while the tree is open.
|
||||
leave_dirs_open = false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
|
||||
},
|
||||
group_empty_dirs = true, -- when true, empty folders will be grouped together
|
||||
show_unloaded = true,
|
||||
window = {
|
||||
mappings = {
|
||||
["bd"] = "buffer_delete",
|
||||
["<bs>"] = "navigate_up",
|
||||
["."] = "set_root",
|
||||
["o"] = { "show_help", nowait=false, config = { title = "Order by", prefix_key = "o" }},
|
||||
["oc"] = { "order_by_created", nowait = false },
|
||||
["od"] = { "order_by_diagnostics", nowait = false },
|
||||
["om"] = { "order_by_modified", nowait = false },
|
||||
["on"] = { "order_by_name", nowait = false },
|
||||
["os"] = { "order_by_size", nowait = false },
|
||||
["ot"] = { "order_by_type", nowait = false },
|
||||
}
|
||||
},
|
||||
},
|
||||
git_status = {
|
||||
window = {
|
||||
position = "float",
|
||||
mappings = {
|
||||
["A"] = "git_add_all",
|
||||
["gu"] = "git_unstage_file",
|
||||
["ga"] = "git_add_file",
|
||||
["gr"] = "git_revert_file",
|
||||
["gc"] = "git_commit",
|
||||
["gp"] = "git_push",
|
||||
["gg"] = "git_commit_and_push",
|
||||
["o"] = { "show_help", nowait=false, config = { title = "Order by", prefix_key = "o" }},
|
||||
["oc"] = { "order_by_created", nowait = false },
|
||||
["od"] = { "order_by_diagnostics", nowait = false },
|
||||
["om"] = { "order_by_modified", nowait = false },
|
||||
["on"] = { "order_by_name", nowait = false },
|
||||
["os"] = { "order_by_size", nowait = false },
|
||||
["ot"] = { "order_by_type", nowait = false },
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -1,2 +0,0 @@
|
||||
-- Toggle Comments in Visual/Normal Mode
|
||||
vim.keymap.set({"n", "v"}, "<leader>c", "<plug>NERDCommenterToggle")
|
||||
@@ -1,3 +0,0 @@
|
||||
require('refactoring').setup({})
|
||||
|
||||
vim.api.nvim_set_keymap("v", "<leader>rf", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
@@ -1,78 +0,0 @@
|
||||
-- Remaps
|
||||
---------------------------------------------
|
||||
-- Set leader to space
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- Easily get back to Normal mode.
|
||||
vim.keymap.set("i", "<C-c>", "<Esc>")
|
||||
|
||||
-- Move the selected lines up or down one line and reselect
|
||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||
|
||||
-- Join the current line with the line below and reposition the cursor
|
||||
vim.keymap.set("n", "J", "mzJ`z")
|
||||
|
||||
-- Scroll down or up and reposition the cursor
|
||||
vim.keymap.set("n", "<C-d>", "<C-d>zz")
|
||||
vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
||||
|
||||
-- Search forward and reposition the cursor
|
||||
vim.keymap.set("n", "n", "nzzzv")
|
||||
|
||||
-- Search backward and reposition the cursor
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
-- Paste the selection from the system clipboard
|
||||
vim.keymap.set({"n", "v"}, "<leader>v", [["+p]])
|
||||
vim.keymap.set({"n", "v"}, "<leader>V", [["+P]])
|
||||
|
||||
-- Move selected text to the black hole register & replace with copied text.
|
||||
vim.keymap.set("x", "<leader>p", [["_dP]])
|
||||
|
||||
-- Yank (copy) the selection to the system clipboard
|
||||
vim.keymap.set({"n", "v"}, "<leader>y", [["+y]])
|
||||
|
||||
-- Yank (copy) the entire buffer to the system clipboard
|
||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
||||
|
||||
-- Yank all the text in the file to the system clipboard
|
||||
vim.keymap.set("n", "<leader>YY", "gg\"+yG")
|
||||
|
||||
-- Delete the selection without yanking (copying) it
|
||||
vim.keymap.set({"n", "v"}, "<leader>d", [["_d]])
|
||||
|
||||
-- Delete the line without yanking (copying) it
|
||||
vim.keymap.set("n", "<leader>dd", [["_dd]])
|
||||
|
||||
-- Map Q in Normal mode to do nothing (nop)
|
||||
vim.keymap.set("n", "Q", "<nop>")
|
||||
|
||||
-- Format the current buffer using the language server protocol (LSP)
|
||||
vim.keymap.set("n", "<leader>kf", vim.lsp.buf.format)
|
||||
|
||||
-- Toggle Supermaven with :SupermavenToggle
|
||||
vim.keymap.set("n", "<leader>sm", ":SupermavenToggle<CR>")
|
||||
|
||||
-- Perform a search and replace operation using the word under the cursor
|
||||
vim.keymap.set("n", "<leader>sr", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||
|
||||
-- Make the current file executable (chmod +x)
|
||||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
||||
|
||||
-- Source the current file
|
||||
vim.keymap.set("n", "<leader><leader>", vim.cmd.so)
|
||||
|
||||
|
||||
-- Jump to the next location in the quickfix list and reposition the cursor
|
||||
-- vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||
|
||||
-- Jump to the previous location in the quickfix list and reposition the cursor
|
||||
-- vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||
|
||||
-- Jump to the next location in the location list and reposition the cursor
|
||||
--vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
||||
|
||||
-- Jump to the previous location in the location list and reposition the cursor
|
||||
--vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
vim.opt.nu = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = true
|
||||
|
||||
vim.opt.wrap = true
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "yes"
|
||||
vim.opt.isfname:append("@-@")
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
vim.cmd([[set list]])
|
||||
vim.cmd([[set listchars=trail:⋅]])
|
||||
|
||||
vim.opt.colorcolumn = "120"
|
||||
vim.o.background = "dark" -- or "light" for light mode
|
||||
vim.cmd([[colorscheme tokyonight-moon]])
|
||||
@@ -1,14 +0,0 @@
|
||||
local telescope = require('telescope')
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
telescope.setup{
|
||||
defaults = {
|
||||
file_ignore_patterns = {"node_modules", ".git", ".cache", ".DS_Store", "Steam", "Media", "Pictures", "Downloads", "Videos", "Music", ".venv", ".conda", "School"},
|
||||
},
|
||||
}
|
||||
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
||||
vim.keymap.set('n', '<leader>fs', function()
|
||||
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||
end)
|
||||
@@ -1,64 +0,0 @@
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
-- A list of parser names, or "all"
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"c",
|
||||
"cmake",
|
||||
"cpp",
|
||||
"css",
|
||||
"dockerfile",
|
||||
"git_config",
|
||||
"git_rebase",
|
||||
"gitattributes",
|
||||
"gitcommit",
|
||||
"gitignore",
|
||||
"haskell",
|
||||
"html",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"kotlin",
|
||||
"lua",
|
||||
"make",
|
||||
"php",
|
||||
"python",
|
||||
"rust",
|
||||
"scala",
|
||||
"sql",
|
||||
"svelte",
|
||||
"swift",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vimdoc",
|
||||
"yaml",
|
||||
"zig"
|
||||
},
|
||||
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
|
||||
-- Automatically install missing parsers when entering buffer
|
||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||
auto_install = true,
|
||||
|
||||
|
||||
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = function(lang, buf)
|
||||
local max_filesize = 80 * 1024 -- 80 KB
|
||||
if lang == "tsx" then
|
||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||
if ok and stats and stats.size > max_filesize then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end,
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
--additional_vim_regex_highlighting = true,
|
||||
additional_vim_regex_highlighting = {"tsx"},
|
||||
},
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
vim.keymap.set("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>",
|
||||
{silent = true, noremap = true}
|
||||
)
|
||||
@@ -1 +0,0 @@
|
||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
||||
241
configs/dotfiles/nvim/lua/plugins/avante.lua
Normal file
241
configs/dotfiles/nvim/lua/plugins/avante.lua
Normal file
@@ -0,0 +1,241 @@
|
||||
return {
|
||||
'yetone/avante.nvim',
|
||||
-- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
|
||||
-- ⚠️ must add this setting! ! !
|
||||
build = vim.fn.has('win32') ~= 0
|
||||
and 'powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false'
|
||||
or 'make',
|
||||
event = 'VeryLazy',
|
||||
version = false, -- Never set this value to '*'! Never!
|
||||
---@module 'avante'
|
||||
---@type avante.Config
|
||||
opts = {
|
||||
instructions_file = 'avante.md',
|
||||
provider = 'openai',
|
||||
auto_suggestions_provider = 'openai',
|
||||
providers = {
|
||||
claude = {
|
||||
endpoint = 'https://api.anthropic.com',
|
||||
model = 'claude-sonnet-4-20250514',
|
||||
timeout = 30000,
|
||||
extra_request_body = {
|
||||
temperature = 0.75,
|
||||
max_tokens = 4096,
|
||||
},
|
||||
},
|
||||
openai = {
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
model = 'gpt-5',
|
||||
extra_request_body = {
|
||||
timeout = 30000,
|
||||
temperature = 0,
|
||||
max_completion_tokens = 8192,
|
||||
},
|
||||
},
|
||||
},
|
||||
rag_service = {
|
||||
enabled = false,
|
||||
host_path = '/home/gib/Documents/Code',
|
||||
runner = 'docker',
|
||||
llm = {
|
||||
provider = 'openai',
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
api_key = 'OPENAI_API_KEY',
|
||||
model = 'gpt-5',
|
||||
extra = {
|
||||
temperature = 0.7,
|
||||
max_tokens = 512,
|
||||
timeout = 60,
|
||||
},
|
||||
},
|
||||
embed = {
|
||||
provider = 'openai',
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
api_key = 'OPENAI_API_KEY',
|
||||
model = 'text-embedding-3-large',
|
||||
extra = nil,
|
||||
},
|
||||
docker_extra_args = '',
|
||||
},
|
||||
web_search_engine = {
|
||||
provider = 'searxng',
|
||||
proxy = nil,
|
||||
},
|
||||
system_prompt = function()
|
||||
local hub = require('mcphub').get_hub_instance()
|
||||
return hub and hub:get_active_servers_prompt() or ''
|
||||
end,
|
||||
custom_tools = function()
|
||||
return {
|
||||
require('mcphub.extensions.avante').mcp_tool(),
|
||||
}
|
||||
end,
|
||||
behaviour = {
|
||||
auto_suggestions = false,
|
||||
auto_set_highlight_group = true,
|
||||
auto_set_keymaps = true,
|
||||
auto_apply_diff_after_generation = false,
|
||||
support_paste_from_clipboard = false,
|
||||
minimize_diff = true,
|
||||
enable_token_counting = true,
|
||||
auto_approve_tool_permissions = true,
|
||||
},
|
||||
mappings = {
|
||||
--- @class AvanteConflictMappings
|
||||
diff = {
|
||||
ours = 'co',
|
||||
theirs = 'ct',
|
||||
all_theirs = 'ca',
|
||||
both = 'cb',
|
||||
cursor = 'cc',
|
||||
next = ']x',
|
||||
prev = '[x',
|
||||
},
|
||||
suggestion = {
|
||||
accept = '<M-l>',
|
||||
next = '<M-]>',
|
||||
prev = '<M-[>',
|
||||
dismiss = '<C-]>',
|
||||
},
|
||||
jump = {
|
||||
next = ']]',
|
||||
prev = '[[',
|
||||
},
|
||||
submit = {
|
||||
normal = '<CR>',
|
||||
insert = '<C-s>',
|
||||
},
|
||||
cancel = {
|
||||
normal = { '<C-c>', '<Esc>', 'q' },
|
||||
insert = { '<C-c>' },
|
||||
},
|
||||
sidebar = {
|
||||
apply_all = 'A',
|
||||
apply_cursor = 'a',
|
||||
retry_user_request = 'r',
|
||||
edit_user_request = 'e',
|
||||
switch_windows = '<Tab>',
|
||||
reverse_switch_windows = '<S-Tab>',
|
||||
remove_file = 'd',
|
||||
add_file = '@',
|
||||
close = { '<Esc>', 'q' },
|
||||
close_from_input = nil,
|
||||
},
|
||||
},
|
||||
hints = { enabled = true },
|
||||
windows = {
|
||||
---@type 'right' | 'left' | 'top' | 'bottom'
|
||||
position = 'right',
|
||||
wrap = true,
|
||||
width = 35,
|
||||
sidebar_header = {
|
||||
enabled = true,
|
||||
align = 'center',
|
||||
rounded = true,
|
||||
},
|
||||
input = {
|
||||
prefix = '> ',
|
||||
height = 8,
|
||||
},
|
||||
edit = {
|
||||
border = 'rounded',
|
||||
start_insert = true,
|
||||
},
|
||||
ask = {
|
||||
floating = false,
|
||||
start_insert = true,
|
||||
border = 'rounded',
|
||||
---@type 'ours' | 'theirs'
|
||||
focus_on_apply = 'ours',
|
||||
},
|
||||
},
|
||||
highlights = {
|
||||
diff = {
|
||||
current = 'DiffText',
|
||||
incoming = 'DiffAdd',
|
||||
},
|
||||
},
|
||||
--- @class AvanteConflictUserConfig
|
||||
diff = {
|
||||
autojump = true,
|
||||
---@type string | fun(): any
|
||||
list_opener = 'copen',
|
||||
override_timeoutlen = 500,
|
||||
},
|
||||
suggestion = {
|
||||
debounce = 1000,
|
||||
throttle = 1000,
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
{ 'MunifTanjim/nui.nvim' },
|
||||
{ 'hrsh7th/nvim-cmp' },
|
||||
{ 'nvim-treesitter/nvim-treesitter' },
|
||||
{ 'stevearc/dressing.nvim' },
|
||||
{ 'nvim-tree/nvim-web-devicons' },
|
||||
{ 'folke/snacks.nvim' },
|
||||
{
|
||||
'ravitemer/mcphub.nvim',
|
||||
build = "npm install -g mcp-hub@latest",
|
||||
config = function()
|
||||
require'mcphub'.setup({
|
||||
config = vim.fn.expand('/home/gib/.config/mcphub/servers.json'),
|
||||
port = 37373,
|
||||
shutdown_delay = 60 * 10 * 000,
|
||||
use_bundled_binary = false,
|
||||
mcp_request_timeout = 60000,
|
||||
auto_approve = true,
|
||||
auto_toggle_mcp_servers = true,
|
||||
extensions = {
|
||||
avante = {
|
||||
make_slash_commands = true,
|
||||
},
|
||||
},
|
||||
native_servers = {},
|
||||
ui = {
|
||||
window = {
|
||||
width = 0.8,
|
||||
height = 0.8,
|
||||
align = 'center',
|
||||
relative = 'editor',
|
||||
zindex = 50,
|
||||
border = 'rounded',
|
||||
},
|
||||
wo = {
|
||||
winhl = 'Normal:MCPHubNormal,FloatBorder:MCPHubBorder',
|
||||
},
|
||||
},
|
||||
log = {
|
||||
level = vim.log.levels.WARN,
|
||||
to_file = false,
|
||||
file_path = nil,
|
||||
prefix = 'MCPHub',
|
||||
},
|
||||
})
|
||||
end
|
||||
},
|
||||
{
|
||||
-- support for image pasting
|
||||
'HakonHarnes/img-clip.nvim',
|
||||
event = 'VeryLazy',
|
||||
opts = {
|
||||
-- recommended settings
|
||||
default = {
|
||||
embed_image_as_base64 = false,
|
||||
prompt_for_file_name = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
opts = {
|
||||
file_types = { 'markdown', 'Avante' },
|
||||
},
|
||||
ft = { 'markdown', 'Avante' },
|
||||
},
|
||||
},
|
||||
}
|
||||
21
configs/dotfiles/nvim/lua/plugins/barbar.lua
Normal file
21
configs/dotfiles/nvim/lua/plugins/barbar.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
return {
|
||||
'romgrk/barbar.nvim',
|
||||
dependencies = {
|
||||
'lewis6991/gitsigns.nvim',
|
||||
'nvim-tree/nvim-web-devicons',
|
||||
},
|
||||
init = function() vim.g.barbar_auto_setup = false end,
|
||||
opts = {
|
||||
animation = true,
|
||||
insert_at_start = true,
|
||||
},
|
||||
keys = {
|
||||
{ "<C-h>", ":BufferPrevious<CR>", mode = "n", silent = true, desc = "Go to previous tab" },
|
||||
{ "<C-l>", ":BufferNext<CR>", mode = "n", silent = true, desc = "Go to next tab" },
|
||||
{ "<C-j>", ":BufferMovePrevious<CR>", mode = "n", silent = true, desc = "Move tab to previous position" },
|
||||
{ "<C-k>", ":BufferMoveNext<CR>", mode = "n", silent = true, desc = "Move tab to next position" },
|
||||
{ "<C-q>", ":BufferClose<CR>", mode = "n", silent = true, desc = "Close current tab" },
|
||||
{ "<C-a>", ":BufferCloseAllButCurrent<CR>", mode = "n", silent = true, desc = "Close all tabs except current" },
|
||||
},
|
||||
version = '^1.0.0', -- optional: only update when a new 1.x version is released
|
||||
}
|
||||
20
configs/dotfiles/nvim/lua/plugins/cloak.lua
Normal file
20
configs/dotfiles/nvim/lua/plugins/cloak.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
'laytan/cloak.nvim',
|
||||
config = function()
|
||||
require'cloak'.setup({
|
||||
enabled = false,
|
||||
cloak_character = "•",
|
||||
highlight_group = "Comment",
|
||||
patterns = {
|
||||
{
|
||||
file_pattern = {
|
||||
'.env*',
|
||||
'wrangler.toml',
|
||||
'.dev.vars',
|
||||
},
|
||||
cloak_pattern = "=.+"
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
18
configs/dotfiles/nvim/lua/plugins/colors.lua
Normal file
18
configs/dotfiles/nvim/lua/plugins/colors.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
'folke/tokyonight.nvim',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
style = 'moon',
|
||||
transparent = true,
|
||||
on_colors = function(colors)
|
||||
colors.comment = '#a0a7c5'
|
||||
colors.fg_gutter = '#787f93'
|
||||
colors.terminal_black = '#828bb8'
|
||||
end,
|
||||
},
|
||||
config = function(_,opts)
|
||||
require'tokyonight'.setup(opts)
|
||||
vim.cmd.colorscheme('tokyonight-moon')
|
||||
end,
|
||||
}
|
||||
32
configs/dotfiles/nvim/lua/plugins/image.lua
Normal file
32
configs/dotfiles/nvim/lua/plugins/image.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
return {
|
||||
'3rd/image.nvim',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
},
|
||||
config = function()
|
||||
require'image'.setup({
|
||||
backend = "kitty",
|
||||
integrations = {
|
||||
markdown = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = false,
|
||||
filetypes = { "markdown", "vimwiki" },
|
||||
},
|
||||
neorg = {
|
||||
enabled = true,
|
||||
clear_in_insert_mode = false,
|
||||
download_remote_images = true,
|
||||
only_render_image_at_cursor = false,
|
||||
filetypes = { "norg" },
|
||||
},
|
||||
},
|
||||
max_width = nil,
|
||||
max_height = nil,
|
||||
max_width_window_percentage = nil,
|
||||
max_height_window_percentage = 50,
|
||||
kitty_method = "normal",
|
||||
})
|
||||
end,
|
||||
}
|
||||
342
configs/dotfiles/nvim/lua/plugins/lsp.lua
Normal file
342
configs/dotfiles/nvim/lua/plugins/lsp.lua
Normal file
@@ -0,0 +1,342 @@
|
||||
return {
|
||||
'mason-org/mason-lspconfig.nvim',
|
||||
dependencies = {
|
||||
{ 'neovim/nvim-lspconfig', },
|
||||
{
|
||||
'mason-org/mason.nvim',
|
||||
opts = {
|
||||
ui = {
|
||||
icons = {
|
||||
package_installed = "✓",
|
||||
package_pending = "➜",
|
||||
package_uninstalled = "✗"
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
config = function()
|
||||
local cmp = require'cmp'
|
||||
local lspkind = require'lspkind'
|
||||
local cmp_select = { behavior = cmp.SelectBehavior.Select }
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
sources = {
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'supermaven' },
|
||||
{
|
||||
name = 'path',
|
||||
option = {
|
||||
pathMappings = {
|
||||
['@'] = '${folder}/src',
|
||||
['/'] = '${folder}/public',
|
||||
['~/'] = '${folder}/',
|
||||
},
|
||||
trailing_slash = true,
|
||||
},
|
||||
},
|
||||
{ name = 'nvim_lsp_document_symbol' },
|
||||
{ name = 'nvim_lsp_signature_help' },
|
||||
{ name = 'nvim_lua' },
|
||||
{ name = 'nerdfont' },
|
||||
{ name = 'emoji' },
|
||||
{ name = 'npm' },
|
||||
{ name = 'cmp-tw2css' },
|
||||
{ name = 'dotenv' },
|
||||
{ name = 'render-markdown' },
|
||||
{ name = 'cmdline' },
|
||||
--{ name = 'kitty' },
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
mode = 'symbol',
|
||||
maxwidth = {
|
||||
menu = 50,
|
||||
abbr = 50,
|
||||
},
|
||||
symbol_map = {
|
||||
Supermaven = '',
|
||||
},
|
||||
ellipsis_char = '...',
|
||||
show_labelDetails = true,
|
||||
before = function(entry, vim_item)
|
||||
return vim_item
|
||||
end,
|
||||
}),
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
if cmp.get_selected_entry() then
|
||||
cmp.confirm({ select = false })
|
||||
else
|
||||
cmp.select_next_item()
|
||||
end
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-u>'] = cmp.mapping.scroll_docs(-4),
|
||||
}),
|
||||
preselect = cmp.PreselectMode.Item,
|
||||
completion = {
|
||||
completeopt = 'menu,menuone,noinsert',
|
||||
},
|
||||
})
|
||||
cmp.setup.cmdline('/', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = 'buffer' }
|
||||
}
|
||||
})
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'path' }
|
||||
}, {
|
||||
{
|
||||
name = 'cmdline',
|
||||
}
|
||||
})
|
||||
})
|
||||
end,
|
||||
},
|
||||
{ 'hrsh7th/cmp-nvim-lsp' },
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
{ 'hrsh7th/cmp-nvim-lsp-document-symbol' },
|
||||
{ 'hrsh7th/cmp-nvim-lua' },
|
||||
{ 'hrsh7th/cmp-nvim-lsp-signature-help' },
|
||||
{ 'hrsh7th/cmp-path' },
|
||||
{ 'hrsh7th/cmp-buffer' },
|
||||
{ 'hrsh7th/cmp-emoji' },
|
||||
{ 'chrisgrieser/cmp-nerdfont' },
|
||||
{ 'jcha0713/cmp-tw2css' },
|
||||
{ 'SergioRibera/cmp-dotenv' },
|
||||
{ 'saadparwaiz1/cmp_luasnip' },
|
||||
{ 'onsails/lspkind.nvim' },
|
||||
{ 'rafamadriz/friendly-snippets' },
|
||||
{
|
||||
'j-hui/fidget.nvim',
|
||||
config = function()
|
||||
require'fidget'.setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
'David-Kunz/cmp-npm',
|
||||
config = function()
|
||||
require'cmp-npm'.setup({})
|
||||
end
|
||||
},
|
||||
{
|
||||
'stevearc/conform.nvim',
|
||||
config = function()
|
||||
require'conform'.setup({
|
||||
formatters_by_ft = {
|
||||
cs = { 'csharpier', 'lsp' },
|
||||
javascript = { 'prettierd', 'prettier' },
|
||||
javascriptreact = { 'prettierd', 'prettier' },
|
||||
typescript = { 'prettierd', 'prettier' },
|
||||
typescriptreact = { 'prettierd', 'prettier' },
|
||||
json = { 'prettierd', 'prettier' },
|
||||
html = { 'prettierd', 'prettier' },
|
||||
css = { 'prettierd', 'prettier' },
|
||||
lua = { 'stylua' },
|
||||
},
|
||||
})
|
||||
vim.api.nvim_create_user_command(
|
||||
'Format',
|
||||
function(args)
|
||||
local range
|
||||
if args.count ~= -1 then
|
||||
local start_line = vim.fn.line("'<")
|
||||
local end_line = vim.fn.line("'>")
|
||||
range = { start = { start_line, 0 }, ["end"] = { end_line, 0 } }
|
||||
end
|
||||
require'conform'.format({
|
||||
async = true,
|
||||
lsp_fallback = true,
|
||||
range = range,
|
||||
})
|
||||
end, { range = true, desc = "Format current buffer or range" })
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
'<leader>fk',
|
||||
':Format<CR>',
|
||||
mode = {'n', 'v'},
|
||||
silent = true,
|
||||
desc = "Format with conform"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
version = 'v2.*',
|
||||
build = 'make install_jsregexp'
|
||||
},
|
||||
{
|
||||
'supermaven-inc/supermaven-nvim',
|
||||
config = function()
|
||||
require'supermaven-nvim'.setup({
|
||||
keymaps = {
|
||||
accept_suggestion = '<Tab>',
|
||||
clear_suggestion = '<C-]>',
|
||||
accept_word = '<C-.>',
|
||||
},
|
||||
disable_inline_completion = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
'windwp/nvim-autopairs',
|
||||
event = "InsertEnter",
|
||||
config = true
|
||||
},
|
||||
{
|
||||
'windwp/nvim-ts-autotag',
|
||||
config = function()
|
||||
require'nvim-ts-autotag'.setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"garyhurtz/cmp_kitty",
|
||||
dependencies = {
|
||||
{ "hrsh7th/nvim-cmp" },
|
||||
},
|
||||
init = function()
|
||||
require('cmp_kitty'):setup()
|
||||
end
|
||||
},
|
||||
{ 'hrsh7th/cmp-cmdline' },
|
||||
},
|
||||
config = function()
|
||||
vim.diagnostic.config({
|
||||
float = {
|
||||
focusable = false,
|
||||
style = "minimal",
|
||||
border = "rounded",
|
||||
source = true,
|
||||
header = "",
|
||||
prefix = "",
|
||||
},
|
||||
})
|
||||
require'mason'.setup({})
|
||||
local cmp = require'cmp'
|
||||
local cmp_lsp = require'cmp_nvim_lsp'
|
||||
local lspconfig = require'lspconfig'
|
||||
local capabilities = vim.tbl_deep_extend(
|
||||
'force',
|
||||
{},
|
||||
vim.lsp.protocol.make_client_capabilities(),
|
||||
cmp_lsp.default_capabilities()
|
||||
)
|
||||
local cmp_autopairs = require'nvim-autopairs.completion.cmp'
|
||||
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
|
||||
require 'mason-lspconfig'.setup({
|
||||
ensure_installed = {
|
||||
'asm_lsp',
|
||||
'bashls',
|
||||
'cmake',
|
||||
'cssls',
|
||||
'css_variables',
|
||||
'cssmodules_ls',
|
||||
'docker_compose_language_service',
|
||||
'dockerls',
|
||||
'eslint',
|
||||
'gopls',
|
||||
'gradle_ls',
|
||||
'graphql',
|
||||
'html',
|
||||
'htmx',
|
||||
'intelephense',
|
||||
'jsonls',
|
||||
'kotlin_lsp',
|
||||
'lua_ls',
|
||||
'markdown_oxide',
|
||||
'nginx_language_server',
|
||||
'prismals',
|
||||
'pyright',
|
||||
'rust_analyzer',
|
||||
'sqlls',
|
||||
'svelte',
|
||||
'tailwindcss',
|
||||
'ts_ls',
|
||||
'tinymist',
|
||||
'yamlls',
|
||||
},
|
||||
handlers = {
|
||||
function(server_name)
|
||||
lspconfig[server_name].setup({
|
||||
capabilities = capabilities
|
||||
})
|
||||
end,
|
||||
zls = function()
|
||||
lspconfig.zls.setup({
|
||||
root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"),
|
||||
settings = {
|
||||
zls = {
|
||||
enable_inlay_hints = true,
|
||||
enable_snippets = true,
|
||||
warn_style = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
vim.g.zig_fmt_parse_errors = 0
|
||||
vim.g.zig_fmt_autosave = 0
|
||||
end,
|
||||
["lua_ls"] = function()
|
||||
lspconfig.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = 'LuaJIT',
|
||||
},
|
||||
diagnostics = {
|
||||
globals = { 'vim' },
|
||||
},
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
checkThirdParty = false,
|
||||
-- These are the key settings to prevent the infinite processing
|
||||
maxPreload = 100000,
|
||||
preloadFileSize = 10000,
|
||||
},
|
||||
telemetry = {
|
||||
enable = false,
|
||||
},
|
||||
format = {
|
||||
enable = true,
|
||||
defaultConfig = {
|
||||
indent_style = "space",
|
||||
indent_size = "2",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
})
|
||||
end,
|
||||
}
|
||||
63
configs/dotfiles/nvim/lua/plugins/lualine.lua
Normal file
63
configs/dotfiles/nvim/lua/plugins/lualine.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
config = function()
|
||||
require'lualine'.setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'tokyonight-moon',
|
||||
component_separators = { left = '', right = ''},
|
||||
section_separators = { left = '', right = ''},
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
always_show_tabline = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
refresh_time = 16,
|
||||
events = {
|
||||
'WinEnter',
|
||||
'BufEnter',
|
||||
'BufWritePost',
|
||||
'SessionLoadPost',
|
||||
'FileChangedShellPost',
|
||||
'VimResized',
|
||||
'Filetype',
|
||||
'CursorMoved',
|
||||
'CursorMovedI',
|
||||
'ModeChanged',
|
||||
},
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||
lualine_y = {'progress'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {'filename'},
|
||||
lualine_x = {'location'},
|
||||
lualine_y = {},
|
||||
lualine_z = {}
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {},
|
||||
inactive_winbar = {},
|
||||
extensions = {}
|
||||
})
|
||||
end,
|
||||
dependencies = {
|
||||
{ 'nvim-tree/nvim-web-devicons' },
|
||||
{ 'folke/tokyonight.nvim' },
|
||||
},
|
||||
}
|
||||
327
configs/dotfiles/nvim/lua/plugins/neotree.lua
Normal file
327
configs/dotfiles/nvim/lua/plugins/neotree.lua
Normal file
@@ -0,0 +1,327 @@
|
||||
return {
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
config = function()
|
||||
vim.diagnostic.config({
|
||||
signs = {
|
||||
text = {
|
||||
[vim.diagnostic.severity.ERROR] = '',
|
||||
[vim.diagnostic.severity.WARN] = '',
|
||||
[vim.diagnostic.severity.INFO] = '',
|
||||
[vim.diagnostic.severity.HINT] = '',
|
||||
},
|
||||
}
|
||||
})
|
||||
require'neo-tree'.setup({
|
||||
close_if_last_window = true,
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true,
|
||||
open_files_do_not_replace_types = { 'terminal', 'trouble', 'qf' },
|
||||
open_files_using_relative_paths = false,
|
||||
sort_case_insensitive = true,
|
||||
sort_function = nil,
|
||||
default_component_configs = {
|
||||
container = {
|
||||
enable_character_fade = true,
|
||||
},
|
||||
indent = {
|
||||
indent_size = 2,
|
||||
padding = 1,
|
||||
with_markers = true,
|
||||
indent_marker = '│',
|
||||
last_indent_marker = '└',
|
||||
highlight = 'NeoTreeIndentMarker',
|
||||
with_expanders = nil,
|
||||
expander_collapsed = '',
|
||||
expander_expanded = '',
|
||||
expander_highlight = 'NeoTreeExpander',
|
||||
},
|
||||
icon = {
|
||||
folder_closed = '',
|
||||
folder_open = '',
|
||||
folder_empty = '',
|
||||
provider = function(icon, node, state)
|
||||
if node.type == 'file' or node.type == 'terminal' then
|
||||
local success, web_devicons = pcall(require, 'nvim-web-devicons')
|
||||
local name = node.type == 'terminal' and 'terminal' or node.name
|
||||
if success then
|
||||
local devicon, hl = web_devicons.get_icon(name)
|
||||
icon.text = devicon or icon.text
|
||||
icon.highlight = hl or icon.highlight
|
||||
end
|
||||
end
|
||||
end,
|
||||
default = '*',
|
||||
highlight = 'NeoTreeFileIcon',
|
||||
},
|
||||
modified = {
|
||||
symbol = '[+]',
|
||||
highlight = 'NeoTreeModified',
|
||||
},
|
||||
name = {
|
||||
trailing_slash = false,
|
||||
use_git_status_colors = true,
|
||||
highlight = 'NeoTreeFileName',
|
||||
},
|
||||
git_status = {
|
||||
symbols = {
|
||||
added = '',
|
||||
modified = '',
|
||||
deleted = '✖',
|
||||
renamed = '',
|
||||
untracked = '',
|
||||
ignored = '',
|
||||
unstaged = '',
|
||||
staged = '',
|
||||
conflict = '',
|
||||
},
|
||||
},
|
||||
file_size = {
|
||||
enabled = true,
|
||||
width = 12,
|
||||
required_width = 64,
|
||||
},
|
||||
type = {
|
||||
enabled = true,
|
||||
width = 10,
|
||||
required_width = 122,
|
||||
},
|
||||
last_modified = {
|
||||
enabled = true,
|
||||
width = 20,
|
||||
required_width = 88,
|
||||
},
|
||||
created = {
|
||||
enabled = true,
|
||||
width = 20,
|
||||
required_width = 110,
|
||||
},
|
||||
symlink_target = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
window = {
|
||||
position = 'left',
|
||||
width = 30,
|
||||
mapping_options = {
|
||||
noremap = true,
|
||||
nowait = true,
|
||||
},
|
||||
mappings = {
|
||||
['<space>'] = {
|
||||
'toggle_node',
|
||||
nowait = false,
|
||||
},
|
||||
['<2-LeftMouse>'] = 'open',
|
||||
['<cr>'] = 'open',
|
||||
['<esc>'] = 'cancel',
|
||||
['P'] = { 'toggle_preview', config = { use_float = true, use_image_nvim = true } },
|
||||
['l'] = 'focus_preview',
|
||||
['S'] = 'open_split',
|
||||
['s'] = 'open_vsplit',
|
||||
['t'] = 'open_tabnew',
|
||||
['w'] = 'open_with_window_picker',
|
||||
['C'] = 'close_node',
|
||||
['z'] = 'close_all_nodes',
|
||||
['a'] = {
|
||||
'add',
|
||||
config = {
|
||||
show_path = 'relative',
|
||||
},
|
||||
},
|
||||
['A'] = 'add_directory',
|
||||
['d'] = 'delete',
|
||||
['r'] = 'rename',
|
||||
['b'] = 'rename_basename',
|
||||
['y'] = 'copy_to_clipboard',
|
||||
['x'] = 'cut_to_clipboard',
|
||||
['p'] = 'paste_from_clipboard',
|
||||
['c'] = { 'copy', config = { show_path = 'relative' } },
|
||||
['m'] = { 'move', config = { show_path = 'relative' } },
|
||||
['q'] = 'close_window',
|
||||
['R'] = 'refresh',
|
||||
['?'] = 'show_help',
|
||||
['<'] = 'prev_source',
|
||||
['>'] = 'next_source',
|
||||
['i'] = 'show_file_details',
|
||||
},
|
||||
},
|
||||
filesystem = {
|
||||
filtered_items = {
|
||||
visible = false,
|
||||
hide_dotfiles = true,
|
||||
hide_gitignored = true,
|
||||
hide_hidden = true,
|
||||
hide_by_name = {
|
||||
'node_modules',
|
||||
'.next',
|
||||
'.vscode',
|
||||
'.idea',
|
||||
},
|
||||
hide_by_pattern = {
|
||||
'*.meta',
|
||||
'*/src/*/tsconfig.json',
|
||||
},
|
||||
always_show = {
|
||||
'.gitignored',
|
||||
},
|
||||
always_show_by_pattern = { -- uses glob style patterns
|
||||
'.env*',
|
||||
},
|
||||
never_show = {
|
||||
'.DS_Store',
|
||||
'thumbs.db'
|
||||
},
|
||||
never_show_by_pattern = {},
|
||||
},
|
||||
follow_current_file = {
|
||||
enabled = false,
|
||||
leave_dirs_open = false,
|
||||
},
|
||||
group_empty_dirs = false,
|
||||
hijack_netrw_behavior = 'open_default',
|
||||
use_libuv_file_watcher = false,
|
||||
commands = {
|
||||
avante_add_files = function(state)
|
||||
local node = state.tree:get_node()
|
||||
local filepath = node:get_id()
|
||||
local relative_path = require('avante.utils').relative_path(filepath)
|
||||
local sidebar = require('avante').get()
|
||||
local open = sidebar:is_open()
|
||||
if not open then
|
||||
require('avante.api').ask()
|
||||
sidebar = require('avante').get()
|
||||
end
|
||||
sidebar.file_selector:add_selected_file(relative_path)
|
||||
if not open then
|
||||
sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]')
|
||||
end
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
mappings = {
|
||||
['<bs>'] = 'navigate_up',
|
||||
['.'] = 'set_root',
|
||||
['H'] = 'toggle_hidden',
|
||||
['/'] = 'fuzzy_finder',
|
||||
['D'] = 'fuzzy_finder_directory',
|
||||
['#'] = 'fuzzy_sorter',
|
||||
-- ['D'] = 'fuzzy_sorter_directory',
|
||||
['f'] = 'filter_on_submit',
|
||||
['<c-x>'] = 'clear_filter',
|
||||
['[g'] = 'prev_git_modified',
|
||||
[']g'] = 'next_git_modified',
|
||||
['o'] = {
|
||||
'show_help',
|
||||
nowait = false,
|
||||
config = { title = 'Order by', prefix_key = 'o' },
|
||||
},
|
||||
['oa'] = 'avante_add_files',
|
||||
['oc'] = { 'order_by_created', nowait = false },
|
||||
['od'] = { 'order_by_diagnostics', nowait = false },
|
||||
['og'] = { 'order_by_git_status', nowait = false },
|
||||
['om'] = { 'order_by_modified', nowait = false },
|
||||
['on'] = { 'order_by_name', nowait = false },
|
||||
['os'] = { 'order_by_size', nowait = false },
|
||||
['ot'] = { 'order_by_type', nowait = false },
|
||||
},
|
||||
fuzzy_finder_mappings = {
|
||||
['<down>'] = 'move_cursor_down',
|
||||
['<C-n>'] = 'move_cursor_down',
|
||||
['<up>'] = 'move_cursor_up',
|
||||
['<C-p>'] = 'move_cursor_up',
|
||||
['<esc>'] = 'close',
|
||||
},
|
||||
},
|
||||
},
|
||||
buffers = {
|
||||
follow_current_file = {
|
||||
enabled = true,
|
||||
leave_dirs_open = false,
|
||||
},
|
||||
group_empty_dirs = true,
|
||||
show_unloaded = true,
|
||||
window = {
|
||||
mappings = {
|
||||
['d'] = 'buffer_delete',
|
||||
['bd'] = 'buffer_delete',
|
||||
['<bs>'] = 'navigate_up',
|
||||
['.'] = 'set_root',
|
||||
['o'] = {
|
||||
'show_help',
|
||||
nowait = false,
|
||||
config = { title = 'Order by', prefix_key = 'o' },
|
||||
},
|
||||
['oc'] = { 'order_by_created', nowait = false },
|
||||
['od'] = { 'order_by_diagnostics', nowait = false },
|
||||
['om'] = { 'order_by_modified', nowait = false },
|
||||
['on'] = { 'order_by_name', nowait = false },
|
||||
['os'] = { 'order_by_size', nowait = false },
|
||||
['ot'] = { 'order_by_type', nowait = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
git_status = {
|
||||
window = {
|
||||
position = 'float',
|
||||
mappings = {
|
||||
['A'] = 'git_add_all',
|
||||
['gu'] = 'git_unstage_file',
|
||||
['gU'] = 'git_undo_last_commit',
|
||||
['ga'] = 'git_add_file',
|
||||
['gr'] = 'git_revert_file',
|
||||
['gc'] = 'git_commit',
|
||||
['gp'] = 'git_push',
|
||||
['gg'] = 'git_commit_and_push',
|
||||
['o'] = {
|
||||
'show_help',
|
||||
nowait = false,
|
||||
config = { title = 'Order by', prefix_key = 'o' },
|
||||
},
|
||||
['oc'] = { 'order_by_created', nowait = false },
|
||||
['od'] = { 'order_by_diagnostics', nowait = false },
|
||||
['om'] = { 'order_by_modified', nowait = false },
|
||||
['on'] = { 'order_by_name', nowait = false },
|
||||
['os'] = { 'order_by_size', nowait = false },
|
||||
['ot'] = { 'order_by_type', nowait = false },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
'<leader>t',
|
||||
':Neotree toggle<CR>',
|
||||
mode = { 'n', 'v', 'x'},
|
||||
silent = true,
|
||||
desc = 'Toggle NeoTree',
|
||||
},
|
||||
{
|
||||
'<leader>T',
|
||||
':Neotree focus<CR>',
|
||||
mode = { 'n', 'v', 'x' },
|
||||
silent = true, desc = 'Focus NeoTree',
|
||||
},
|
||||
},
|
||||
branch = 'v3.x',
|
||||
dependencies = {
|
||||
{ 'nvim-lua/plenary.nvim', },
|
||||
{ 'MunifTanjim/nui.nvim', },
|
||||
{ 'nvim-tree/nvim-web-devicons', },
|
||||
{
|
||||
'antosha417/nvim-lsp-file-operations',
|
||||
config = function()
|
||||
require'lsp-file-operations'.setup({})
|
||||
end,
|
||||
},
|
||||
{ '3rd/image.nvim', },
|
||||
{
|
||||
's1n7ax/nvim-window-picker',
|
||||
version = '2.*',
|
||||
config = function()
|
||||
require'window-picker'.setup({})
|
||||
end,
|
||||
},
|
||||
},
|
||||
lazy = false,
|
||||
}
|
||||
12
configs/dotfiles/nvim/lua/plugins/nerdcomments.lua
Normal file
12
configs/dotfiles/nvim/lua/plugins/nerdcomments.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
'preservim/nerdcommenter',
|
||||
keys = {
|
||||
{
|
||||
'<leader>c',
|
||||
'<Plug>NERDCommenterToggle',
|
||||
mode = { 'n', 'v', 'x' },
|
||||
silent = true,
|
||||
desc = 'Toggle commenting line',
|
||||
}
|
||||
}
|
||||
}
|
||||
15
configs/dotfiles/nvim/lua/plugins/snacks.lua
Normal file
15
configs/dotfiles/nvim/lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
return {
|
||||
'folke/snacks.nvim',
|
||||
dependencies = {
|
||||
{ 'echasnovski/mini.icons', },
|
||||
},
|
||||
config = function()
|
||||
require'snacks'.setup({
|
||||
animate = { enabled = true },
|
||||
bigfile = { enabled = true },
|
||||
image = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
33
configs/dotfiles/nvim/lua/plugins/telescope.lua
Normal file
33
configs/dotfiles/nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,33 @@
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
tag = '0.1.8',
|
||||
dependencies = {
|
||||
{ 'nvim-lua/plenary.nvim', },
|
||||
},
|
||||
config = function()
|
||||
require'telescope'.setup({
|
||||
defaults = {
|
||||
file_ignore_patterns = {
|
||||
'node_modules',
|
||||
'.git',
|
||||
'.next',
|
||||
'.cache',
|
||||
'.DS_Store',
|
||||
'.venv',
|
||||
'.conda',
|
||||
},
|
||||
},
|
||||
})
|
||||
local builtin = require'telescope.builtin'
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Find files' })
|
||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Find git files' })
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fs',
|
||||
function()
|
||||
builtin.grep_string({ search = vim.fn.input('Grep > ')})
|
||||
end,
|
||||
{ desc = 'Find string' }
|
||||
)
|
||||
end,
|
||||
}
|
||||
92
configs/dotfiles/nvim/lua/plugins/treesitter.lua
Normal file
92
configs/dotfiles/nvim/lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,92 @@
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
branch = 'master',
|
||||
lazy = false,
|
||||
build = ':TSUpdate',
|
||||
dependencies = {
|
||||
{ 'nvim-treesitter/playground', },
|
||||
{
|
||||
'nvim-treesitter/nvim-treesitter-context',
|
||||
config = function()
|
||||
require'treesitter-context'.setup({
|
||||
enable = true,
|
||||
multiwindow = false,
|
||||
max_lines = 10,
|
||||
min_window_height = 0,
|
||||
line_numbers = true,
|
||||
multiline_threshold = 20,
|
||||
trim_scope = 'outer',
|
||||
mode = 'topline',
|
||||
separator = nil,
|
||||
zindex = 20,
|
||||
on_attach = nil,
|
||||
})
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require'nvim-treesitter.install'.update({ with_sync = true })
|
||||
require'nvim-treesitter.configs'.setup({
|
||||
ensure_installed = {
|
||||
'bash',
|
||||
'c',
|
||||
'cmake',
|
||||
'cpp',
|
||||
'css',
|
||||
'diff',
|
||||
'dockerfile',
|
||||
'git_config',
|
||||
'git_rebase',
|
||||
'gitattributes',
|
||||
'gitcommit',
|
||||
'gitignore',
|
||||
'html',
|
||||
'java',
|
||||
'javascript',
|
||||
'jsdoc',
|
||||
'json',
|
||||
'jsonc',
|
||||
'kotlin',
|
||||
'latex',
|
||||
'lua',
|
||||
'luadoc',
|
||||
'luap',
|
||||
'make',
|
||||
'markdown',
|
||||
'markdown_inline',
|
||||
'php',
|
||||
'printf',
|
||||
'python',
|
||||
'query',
|
||||
'regex',
|
||||
'rust',
|
||||
'scala',
|
||||
'sql',
|
||||
'svelte',
|
||||
'swift',
|
||||
'toml',
|
||||
'tsx',
|
||||
'typescript',
|
||||
'vim',
|
||||
'vimdoc',
|
||||
'xml',
|
||||
'yaml',
|
||||
'zig'
|
||||
},
|
||||
sync_install = false,
|
||||
auto_install = true,
|
||||
indent = { enable = true },
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = function(lang, buf)
|
||||
local max_filesize = 500 * 1024 -- 100 KB
|
||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||
if ok and stats and stats.size > max_filesize then
|
||||
return true
|
||||
end
|
||||
end,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
19
configs/dotfiles/nvim/lua/plugins/trouble.lua
Normal file
19
configs/dotfiles/nvim/lua/plugins/trouble.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
return {
|
||||
'folke/trouble.nvim',
|
||||
config = function()
|
||||
require('trouble').setup({})
|
||||
vim.api.nvim_create_user_command('Trouble', function()
|
||||
require('trouble').open()
|
||||
end, { desc = 'Open Trouble' })
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
'<leader>x',
|
||||
':Trouble diagnostics toggle<CR>',
|
||||
mode = 'n',
|
||||
silent = true,
|
||||
desc = 'Toggle Trouble',
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
12
configs/dotfiles/nvim/lua/plugins/undotree.lua
Normal file
12
configs/dotfiles/nvim/lua/plugins/undotree.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
'mbbill/undotree',
|
||||
keys = {
|
||||
{
|
||||
'<leader>u',
|
||||
':UndotreeToggle<CR>',
|
||||
mode = { 'n' },
|
||||
silent = true,
|
||||
desc = 'Toggle undo tree',
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -9,8 +9,6 @@ mv ~/.config/kitty ./temp/kitty
|
||||
ln -s /home/gib/Documents/Configs/kitty /home/gib/.config/kitty
|
||||
mv ~/.config/lobster ./temp/lobster
|
||||
ln -s /home/gib/Documents/Configs/lobster /home/gib/.config/lobster
|
||||
mv ~/.config/neomutt ./temp/neomutt
|
||||
ln -s /home/gib/Documents/Configs/neomutt /home/gib/.config/neomutt
|
||||
mv ~/.config/nvim ./temp/nvim
|
||||
ln -s /home/gib/Documents/Configs/nvim /home/gib/.config/nvim
|
||||
mv ~/.config/powerline ./temp/powerline
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Aliases I like
|
||||
alias update="sudo dnf update -y && flatpak update -y"
|
||||
alias install="sudo dnf install -y"
|
||||
alias letscode="cd ~/Documents/Code && ranger ."
|
||||
alias gtext="gnome-text-editor"
|
||||
alias :q="exit"
|
||||
@@ -25,6 +23,8 @@ alias docker-down='sudo docker compose down'
|
||||
alias docker-stop='sudo docker compose stop'
|
||||
alias docker-update='sudo docker compose down && sudo docker compose up -d'
|
||||
alias docker-restart='sudo docker compose restart'
|
||||
alias fprint-on='sudo authselect enable-feature with-fingerprint'
|
||||
alias fprint-off='sudo authselect disable-feature with-fingerprint'
|
||||
|
||||
|
||||
# File system
|
||||
@@ -42,6 +42,7 @@ alias ....='cd ../../..'
|
||||
# Tools
|
||||
alias n='nvim'
|
||||
alias n.="nvim ."
|
||||
alias ns="nvim src"
|
||||
alias nlc="nvim lc"
|
||||
alias g='git'
|
||||
alias watchsmi="watch -n 3 nvidia-smi"
|
||||
|
||||
@@ -8,6 +8,8 @@ fi
|
||||
# Editor used by CLI
|
||||
export EDITOR="nvim"
|
||||
export SUDO_EDITOR="$EDITOR"
|
||||
export SSH_ASKPASS=/usr/bin/ksshaskpass
|
||||
export SSH_ASKPASS_REQUIRE=prefer
|
||||
|
||||
# Define Paths
|
||||
export SUNHAT_PATH="$HOME/.local/share/sunhat"
|
||||
@@ -17,9 +19,11 @@ export PYENV_ROOT="$HOME/.pyenv"
|
||||
export PNPM_HOME="$HOME/.local/share/pnpm"
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
export ANDROID_SDK_HOME="$HOME/.local/share/Android"
|
||||
export GOPATH="$HOME/.local/share/go"
|
||||
export DOTNETPATH="$HOME/.dotnet/tools"
|
||||
|
||||
# Set complete path
|
||||
export PATH="$HOME/bin:$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SUNHAT_PATH/bin:$BUN_INSTALL/bin:$CARGO_PATH/bin:$PNPM_HOME:$PYENV_ROOT/bin:$HOME/.rbenv/bin:/usr/lib/ccache/bin/"
|
||||
export PATH="$HOME/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$SUNHAT_PATH/bin:$BUN_INSTALL/bin:$CARGO_PATH/bin:$PNPM_HOME:$PYENV_ROOT/bin:$HOME/.rbenv/bin:/usr/lib/ccache/bin/:$GOPATH/bin:$DOTNETPATH"
|
||||
|
||||
# Nvm
|
||||
set -h
|
||||
|
||||
@@ -9,7 +9,7 @@ gsettings set org.gnome.desktop.screensaver lock-enabled false
|
||||
gsettings set org.gnome.desktop.session idle-delay 0
|
||||
|
||||
# Needed for all installers
|
||||
sudo dnf update -y
|
||||
sudo dnf update -y --refresh
|
||||
sudo dnf install -y curl git unzip neovim kitty zoxide
|
||||
|
||||
# Run Scripts Required for Application Installs
|
||||
|
||||
Submodule packages/espanso updated: bbdc924591...f3efec913e
286
themes/openbar
Normal file
286
themes/openbar
Normal file
@@ -0,0 +1,286 @@
|
||||
[/]
|
||||
accent-color=['0.510', '0.667', '1.000']
|
||||
accent-override=false
|
||||
apply-accent-shell=true
|
||||
apply-all-shell=true
|
||||
apply-flatpak=false
|
||||
apply-gtk=false
|
||||
apply-menu-notif=true
|
||||
apply-menu-shell=true
|
||||
auto-bgalpha=false
|
||||
autofg-bar=false
|
||||
autofg-menu=true
|
||||
autohg-bar=false
|
||||
autohg-menu=true
|
||||
autotheme-dark='Dark'
|
||||
autotheme-font=false
|
||||
autotheme-light='Light'
|
||||
autotheme-refresh=false
|
||||
balpha=0.12
|
||||
bartype='Floating'
|
||||
bcolor=['0.510', '0.667', '1.000']
|
||||
bg-change=false
|
||||
bgalpha=0.0
|
||||
bgalpha-wmax=0.0
|
||||
bgalpha2=0.0
|
||||
bgcolor=['0.180', '0.184', '0.239']
|
||||
bgcolor-wmax=['0.118', '0.118', '0.118']
|
||||
bgcolor2=['0.247', '0.220', '0.251']
|
||||
bgpalette=true
|
||||
bguri='file:///home/gib/.local/share/backgrounds/2025-08-04-13-42-53-faroe_islands.jpg'
|
||||
border-wmax=false
|
||||
bordertype='solid'
|
||||
bottom-margin=0.0
|
||||
boxalpha=0.0
|
||||
boxcolor=['0.180', '0.184', '0.239']
|
||||
bradius=50.0
|
||||
buttonbg-wmax=false
|
||||
bwidth=0.5
|
||||
candy1=['0', '0.61', '0.74']
|
||||
candy10=['0.09', '0.19', '0.72']
|
||||
candy11=['0.75', '0.49', '0.44']
|
||||
candy12=['1', '0.92', '0.12']
|
||||
candy13=['0.38', '0.63', '0.92']
|
||||
candy14=['0.37', '0.36', '0.39']
|
||||
candy15=['0.40', '0.23', '0.72']
|
||||
candy16=['1', '0.32', '0.32']
|
||||
candy2=['1', '0.41', '0.41']
|
||||
candy3=['0.63', '0.16', '0.8']
|
||||
candy4=['0.94', '0.60', '0.23']
|
||||
candy5=['0.03', '0.41', '0.62']
|
||||
candy6=['0.56', '0.18', '0.43']
|
||||
candy7=['0.95', '0.12', '0.67']
|
||||
candy8=['0.18', '0.76', '0.49']
|
||||
candy9=['0.93', '0.20', '0.23']
|
||||
candyalpha=0.0
|
||||
candybar=false
|
||||
card-hint=6
|
||||
color-scheme='prefer-dark'
|
||||
corner-radius=false
|
||||
count1=384385
|
||||
count10=289
|
||||
count11=128
|
||||
count12=7
|
||||
count2=52561
|
||||
count3=42265
|
||||
count4=40816
|
||||
count5=24718
|
||||
count6=23775
|
||||
count7=20816
|
||||
count8=16249
|
||||
count9=4991
|
||||
cust-margin-wmax=true
|
||||
dark-accent-color=['0.510', '0.667', '1.000']
|
||||
dark-bcolor=['0.510', '0.667', '1.000']
|
||||
dark-bgcolor=['0.180', '0.184', '0.239']
|
||||
dark-bgcolor-wmax=['0.118', '0.118', '0.118']
|
||||
dark-bgcolor2=['0.247', '0.220', '0.251']
|
||||
dark-bguri='file:///home/gib/.local/share/backgrounds/2025-08-04-13-42-53-faroe_islands.jpg'
|
||||
dark-boxcolor=['0.180', '0.184', '0.239']
|
||||
dark-candy1=['0', '0.61', '0.74']
|
||||
dark-candy10=['0.09', '0.19', '0.72']
|
||||
dark-candy11=['0.75', '0.49', '0.44']
|
||||
dark-candy12=['1', '0.92', '0.12']
|
||||
dark-candy13=['0.38', '0.63', '0.92']
|
||||
dark-candy14=['0.37', '0.36', '0.39']
|
||||
dark-candy15=['0.40', '0.23', '0.72']
|
||||
dark-candy16=['1', '0.32', '0.32']
|
||||
dark-candy2=['1', '0.41', '0.41']
|
||||
dark-candy3=['0.63', '0.16', '0.8']
|
||||
dark-candy4=['0.94', '0.60', '0.23']
|
||||
dark-candy5=['0.03', '0.41', '0.62']
|
||||
dark-candy6=['0.56', '0.18', '0.43']
|
||||
dark-candy7=['0.95', '0.12', '0.67']
|
||||
dark-candy8=['0.18', '0.76', '0.49']
|
||||
dark-candy9=['0.93', '0.20', '0.23']
|
||||
dark-dbgcolor=['0.180', '0.184', '0.239']
|
||||
dark-fgcolor=['1.0', '1.0', '1.0']
|
||||
dark-hcolor=['0.510', '0.667', '1.000']
|
||||
dark-hscd-color=['0.510', '0.667', '1.000']
|
||||
dark-iscolor=['0.043', '0.086', '0.114']
|
||||
dark-mbcolor=['0.180', '0.184', '0.239']
|
||||
dark-mbgcolor=['0.180', '0.184', '0.239']
|
||||
dark-mfgcolor=['1.0', '1.0', '1.0']
|
||||
dark-mhcolor=['0.510', '0.667', '1.000']
|
||||
dark-mscolor=['0.510', '0.667', '1.000']
|
||||
dark-mshcolor=['0.180', '0.184', '0.239']
|
||||
dark-palette1=['25', '42', '62']
|
||||
dark-palette10=['148', '100', '104']
|
||||
dark-palette11=['151', '108', '100']
|
||||
dark-palette12=['121', '124', '144']
|
||||
dark-palette2=['224', '173', '139']
|
||||
dark-palette3=['111', '96', '112']
|
||||
dark-palette4=['53', '73', '103']
|
||||
dark-palette5=['70', '86', '113']
|
||||
dark-palette6=['46', '68', '91']
|
||||
dark-palette7=['67', '68', '88']
|
||||
dark-palette8=['13', '27', '35']
|
||||
dark-palette9=['107', '106', '132']
|
||||
dark-shcolor=['0.000', '0.000', '0.000']
|
||||
dark-smbgcolor=['0.128', '0.132', '0.193']
|
||||
dark-vw-color=['0.510', '0.667', '1.000']
|
||||
dark-winbcolor=['0.510', '0.667', '1.000']
|
||||
dashdock-style='Default'
|
||||
dbgalpha=0.84999999999999998
|
||||
dbgcolor=['0.180', '0.184', '0.239']
|
||||
dborder=false
|
||||
dbradius=100.0
|
||||
default-font='Sans 12'
|
||||
destruct-color=['0.75', '0.11', '0.16']
|
||||
disize=16.0
|
||||
dshadow=true
|
||||
fgalpha=1.0
|
||||
fgcolor=['1.0', '1.0', '1.0']
|
||||
fitts-widgets=false
|
||||
font=''
|
||||
gradient=false
|
||||
gradient-direction='vertical'
|
||||
gtk-popover=false
|
||||
gtk-shadow='Default'
|
||||
gtk-transparency=1.0
|
||||
halpha=0.25
|
||||
handle-border=20.0
|
||||
hbar-gtk3only=false
|
||||
hcolor=['0.510', '0.667', '1.000']
|
||||
headerbar-hint=0
|
||||
heffect=false
|
||||
height=36.0
|
||||
hpad=0.0
|
||||
hscd-color=['0.510', '0.667', '1.000']
|
||||
import-export=true
|
||||
isalpha=0.0
|
||||
iscolor=['0.043', '0.086', '0.114']
|
||||
light-accent-color=['0', '0.75', '0.75']
|
||||
light-bcolor=['0.051', '0.106', '0.137']
|
||||
light-bgcolor=['0.835', '0.839', '0.863']
|
||||
light-bgcolor-wmax=['0.922', '0.922', '0.922']
|
||||
light-bgcolor2=['0.722', '0.753', '0.800']
|
||||
light-bguri='file:///home/gib/.local/share/backgrounds/2025-08-04-13-42-53-faroe_islands.jpg'
|
||||
light-boxcolor=['0.835', '0.839', '0.863']
|
||||
light-candy1=['0', '0.61', '0.74']
|
||||
light-candy10=['0.09', '0.19', '0.72']
|
||||
light-candy11=['0.75', '0.49', '0.44']
|
||||
light-candy12=['1', '0.92', '0.12']
|
||||
light-candy13=['0.38', '0.63', '0.92']
|
||||
light-candy14=['0.37', '0.36', '0.39']
|
||||
light-candy15=['0.40', '0.23', '0.72']
|
||||
light-candy16=['1', '0.32', '0.32']
|
||||
light-candy2=['1', '0.41', '0.41']
|
||||
light-candy3=['0.63', '0.16', '0.8']
|
||||
light-candy4=['0.94', '0.60', '0.23']
|
||||
light-candy5=['0.03', '0.41', '0.62']
|
||||
light-candy6=['0.56', '0.18', '0.43']
|
||||
light-candy7=['0.95', '0.12', '0.67']
|
||||
light-candy8=['0.18', '0.76', '0.49']
|
||||
light-candy9=['0.93', '0.20', '0.23']
|
||||
light-dbgcolor=['0.125', '0.125', '0.125']
|
||||
light-fgcolor=['1.0', '1.0', '1.0']
|
||||
light-hcolor=['0.098', '0.165', '0.243']
|
||||
light-hscd-color=['0.894', '0.659', '0.502']
|
||||
light-iscolor=['0.835', '0.839', '0.863']
|
||||
light-mbcolor=['0.098', '0.165', '0.243']
|
||||
light-mbgcolor=['0.922', '0.906', '0.922']
|
||||
light-mfgcolor=['1.0', '1.0', '1.0']
|
||||
light-mhcolor=['0.098', '0.165', '0.243']
|
||||
light-mscolor=['0.894', '0.659', '0.502']
|
||||
light-mshcolor=['0.000', '0.000', '0.000']
|
||||
light-palette1=['25', '42', '62']
|
||||
light-palette10=['148', '100', '104']
|
||||
light-palette11=['151', '108', '100']
|
||||
light-palette12=['121', '124', '144']
|
||||
light-palette2=['224', '173', '139']
|
||||
light-palette3=['111', '96', '112']
|
||||
light-palette4=['53', '73', '103']
|
||||
light-palette5=['70', '86', '113']
|
||||
light-palette6=['46', '68', '91']
|
||||
light-palette7=['67', '68', '88']
|
||||
light-palette8=['13', '27', '35']
|
||||
light-palette9=['107', '106', '132']
|
||||
light-shcolor=['0.000', '0.000', '0.000']
|
||||
light-smbgcolor=['0.722', '0.753', '0.800']
|
||||
light-vw-color=['0.894', '0.659', '0.502']
|
||||
light-winbcolor=['0.894', '0.659', '0.502']
|
||||
margin=1.0
|
||||
margin-wmax=0.0
|
||||
mbalpha=0.0
|
||||
mbcolor=['0.180', '0.184', '0.239']
|
||||
mbg-gradient=false
|
||||
mbgalpha=0.92000000000000004
|
||||
mbgcolor=['0.180', '0.184', '0.239']
|
||||
menu-radius=30.0
|
||||
menustyle=true
|
||||
mfgalpha=1.0
|
||||
mfgcolor=['1.0', '1.0', '1.0']
|
||||
mhalpha=0.25
|
||||
mhcolor=['0.510', '0.667', '1.000']
|
||||
monitor-height=960
|
||||
monitor-width=1440
|
||||
monitors='all'
|
||||
msalpha=0.80000000000000004
|
||||
mscolor=['0.510', '0.667', '1.000']
|
||||
mshalpha=1.0
|
||||
mshcolor=['0.180', '0.184', '0.239']
|
||||
neon=false
|
||||
neon-wmax=false
|
||||
notif-radius=20.0
|
||||
palette1=['25', '42', '62']
|
||||
palette10=['148', '100', '104']
|
||||
palette11=['151', '108', '100']
|
||||
palette12=['121', '124', '144']
|
||||
palette2=['224', '173', '139']
|
||||
palette3=['111', '96', '112']
|
||||
palette4=['53', '73', '103']
|
||||
palette5=['70', '86', '113']
|
||||
palette6=['46', '68', '91']
|
||||
palette7=['67', '68', '88']
|
||||
palette8=['13', '27', '35']
|
||||
palette9=['107', '106', '132']
|
||||
pause-reload=false
|
||||
position='Top'
|
||||
prominent1=['100', '100', '100']
|
||||
prominent2=['100', '100', '100']
|
||||
prominent3=['100', '100', '100']
|
||||
prominent4=['100', '100', '100']
|
||||
prominent5=['100', '100', '100']
|
||||
prominent6=['100', '100', '100']
|
||||
qtoggle-radius=50.0
|
||||
radius-bottomleft=true
|
||||
radius-bottomright=true
|
||||
radius-topleft=true
|
||||
radius-topright=true
|
||||
reloadstyle=true
|
||||
removestyle=false
|
||||
sbar-gradient='none'
|
||||
set-bottom-margin=true
|
||||
set-fullscreen=false
|
||||
set-notif-position=true
|
||||
set-notifications=false
|
||||
set-overview=false
|
||||
set-yarutheme=false
|
||||
shadow=false
|
||||
shalpha=0.0
|
||||
shcolor=['0.000', '0.000', '0.000']
|
||||
sidebar-hint=0
|
||||
slider-height=20.0
|
||||
smbgalpha=0.94999999999999996
|
||||
smbgcolor=['0.128', '0.132', '0.193']
|
||||
smbgoverride=true
|
||||
success-color=['0.15', '0.635', '0.41']
|
||||
traffic-light=false
|
||||
trigger-autotheme=true
|
||||
trigger-reload=true
|
||||
view-hint=0
|
||||
vpad=2.5
|
||||
vw-color=['0.510', '0.667', '1.000']
|
||||
warning-color=['0.96', '0.83', '0.17']
|
||||
width-bottom=true
|
||||
width-left=true
|
||||
width-right=true
|
||||
width-top=true
|
||||
winbalpha=0.75
|
||||
winbcolor=['0.510', '0.667', '1.000']
|
||||
winbradius=15.0
|
||||
winbwidth=0.0
|
||||
window-hint=0
|
||||
wmax-hbarhint=false
|
||||
wmaxbar=true
|
||||
Reference in New Issue
Block a user