Compare commits
5 Commits
f5fd3c0344
...
master
Author | SHA1 | Date | |
---|---|---|---|
bbb7ce21bc | |||
ec8e0906be | |||
6c37a0d8d0 | |||
7b32562073 | |||
3baeceb707 |
@@ -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,6 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# 1) load your shell exports if not already present:
|
||||
#if [[ -z "${BW_SESSION:-}" ]]; then
|
||||
#[[ -f "$HOME/.bashrc" ]] && source "$HOME/.bashrc"
|
||||
#[[ -f "$HOME/.profile" ]] && source "$HOME/.profile"
|
||||
#fi
|
||||
source ~/.local/share/sunhat/defaults/bash/api_keys
|
||||
|
||||
# 2) if still empty, unlock once and export:
|
||||
#if [[ -z "${BW_SESSION:-}" ]]; then
|
||||
#export BW_SESSION=$(bw unlock --raw)
|
||||
#fi
|
||||
|
||||
# 3) fetch and print user<TAB>pass<NEWLINE>
|
||||
printf '%s\t%s\n' \
|
||||
printf '%s\t%s' \
|
||||
"$(bw --session "$BW_SESSION" get username "$1")" \
|
||||
"$(bw --session "$BW_SESSION" get password "$1")"
|
||||
|
@@ -77,19 +77,14 @@ matches:
|
||||
- trigger: "nextserver"
|
||||
replace: "'use server';\n\nconst Page = () => {\n\n};\n\nexport { Page };"
|
||||
|
||||
#- trigger: ":adm"
|
||||
#replace: "cog\\administrator\tInfoTech-4193\n"
|
||||
|
||||
- trigger: ":adm"
|
||||
replace: "{{output}}"
|
||||
- trigger: ":]]"
|
||||
replace: "{{output}}\n"
|
||||
vars:
|
||||
- name: output
|
||||
type: shell
|
||||
params:
|
||||
cmd: "~/.config/espanso/bin/get_login be3e756a-f18d-4bff-8f87-38ced7876eee"
|
||||
shell: bash
|
||||
trim: true
|
||||
debug: false
|
||||
|
||||
# Frequent Misspellings
|
||||
- trigger: "yoututbe"
|
||||
|
@@ -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
|
||||
|
@@ -6,5 +6,8 @@
|
||||
],
|
||||
"diagnostics.globals": ["vim"],
|
||||
"workspace.checkThirdParty": false,
|
||||
"workspace.library": [ "$VIMRUNTIME" ]
|
||||
"workspace.library": [ "$VIMRUNTIME" ],
|
||||
"workspace.maxPreload": 100000,
|
||||
"workspace.preloadFileSize": 10000,
|
||||
"telemetry.enable": false
|
||||
}
|
||||
|
@@ -1 +1 @@
|
||||
require('config')
|
||||
require'config'
|
||||
|
55
configs/dotfiles/nvim/lazy-lock.json
Normal file
55
configs/dotfiles/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"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-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": "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" },
|
||||
"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" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
|
||||
"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": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"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": "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": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"undotree": { "branch": "master", "commit": "fe9a9d0645f0f5532360b5e5f5c550d7bb4f1869" }
|
||||
}
|
@@ -1,7 +1,6 @@
|
||||
local augroup = vim.api.nvim_create_augroup
|
||||
local gib_group = augroup('Gib', {})
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
local createcmd = vim.api.nvim_create_user_command
|
||||
local yank_group = augroup('HighlightYank', {})
|
||||
|
||||
function R(name)
|
||||
@@ -34,8 +33,8 @@ autocmd('LspAttach', {
|
||||
group = gib_group,
|
||||
callback = function(e)
|
||||
local opts = { buffer = e.buf }
|
||||
vim.keymap.set('n', '<leader>kf', vim.lsp.buf.format)
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
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)
|
||||
@@ -44,18 +43,3 @@ autocmd('LspAttach', {
|
||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
end
|
||||
})
|
||||
|
||||
createcmd("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, -- if no external formatter, use LSP
|
||||
range = range,
|
||||
})
|
||||
end, { range = true, desc = "Format current buffer or range" })
|
||||
vim.keymap.set({ "n", "v" }, "<leader>fk", ":Format<CR>", { silent = true, desc = "Format" })
|
||||
|
@@ -1,4 +1,4 @@
|
||||
require('config.options')
|
||||
require('config.keymaps')
|
||||
require('plugins')
|
||||
require('config.autocmd')
|
||||
require'config.options'
|
||||
require'config.keymaps'
|
||||
require'config.lazy'
|
||||
require'config.autocmd'
|
||||
|
@@ -1,4 +1,5 @@
|
||||
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')
|
||||
|
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 },
|
||||
})
|
@@ -1,6 +1,6 @@
|
||||
vim.o.number = true
|
||||
vim.o.relativenumber = true
|
||||
vim.o.winborder = 'rounded'
|
||||
--vim.o.winborder = 'rounded'
|
||||
vim.o.tabstop = 2
|
||||
vim.o.softtabstop = 2
|
||||
vim.o.shiftwidth = 2
|
||||
|
@@ -1,16 +1,16 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/yetone/avante.nvim' },
|
||||
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
|
||||
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
|
||||
{ src = 'https://github.com/hrsh7th/nvim-cmp' },
|
||||
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter' },
|
||||
{ src = 'https://github.com/stevearc/dressing.nvim' },
|
||||
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
|
||||
{ src = 'https://github.com/HakonHarnes/img-clip.nvim' },
|
||||
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
|
||||
{ src = 'https://github.com/ravitemer/mcphub.nvim' },
|
||||
})
|
||||
require'avante'.setup({
|
||||
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 = {
|
||||
@@ -41,7 +41,7 @@ require'avante'.setup({
|
||||
provider = 'openai',
|
||||
endpoint = 'https://api.openai.com/v1',
|
||||
api_key = 'OPENAI_API_KEY',
|
||||
model = 'gpt-4o-mini',
|
||||
model = 'gpt-5',
|
||||
extra = {
|
||||
temperature = 0.7,
|
||||
max_tokens = 512,
|
||||
@@ -166,19 +166,19 @@ require'avante'.setup({
|
||||
debounce = 1000,
|
||||
throttle = 1000,
|
||||
},
|
||||
})
|
||||
require'img-clip'.setup({
|
||||
default = {
|
||||
embed_image_as_base64 = false,
|
||||
prompt_for_file_name = false,
|
||||
drag_and_drop = {
|
||||
insert_mode = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
require'render-markdown'.setup({
|
||||
file_types = { 'markdown', 'Avante' },
|
||||
})
|
||||
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,
|
||||
@@ -192,7 +192,6 @@ require'mcphub'.setup({
|
||||
make_slash_commands = true,
|
||||
},
|
||||
},
|
||||
|
||||
native_servers = {},
|
||||
ui = {
|
||||
window = {
|
||||
@@ -207,10 +206,6 @@ require'mcphub'.setup({
|
||||
winhl = 'Normal:MCPHubNormal,FloatBorder:MCPHubBorder',
|
||||
},
|
||||
},
|
||||
--on_ready = function(hub)
|
||||
--end,
|
||||
--on_error = function(err)
|
||||
--end,
|
||||
log = {
|
||||
level = vim.log.levels.WARN,
|
||||
to_file = false,
|
||||
@@ -218,3 +213,29 @@ require'mcphub'.setup({
|
||||
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' },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@@ -1,15 +1,21 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/romgrk/barbar.nvim' },
|
||||
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
|
||||
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
|
||||
})
|
||||
require'barbar'.setup({
|
||||
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
|
||||
})
|
||||
vim.keymap.set({'n'}, '<C-h>', ':BufferPrevious<CR>')
|
||||
vim.keymap.set({'n'}, '<C-l>', ':BufferNext<CR>')
|
||||
vim.keymap.set({'n'}, '<C-j>', ':BufferMovePrevious<CR>')
|
||||
vim.keymap.set({'n'}, '<C-k>', ':BufferMoveNext<CR>')
|
||||
vim.keymap.set({'n'}, '<C-q>', ':BufferClose<CR>')
|
||||
vim.keymap.set({'n'}, '<C-a>', ':BufferCloseAllButCurrent<CR>')
|
||||
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
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/laytan/cloak.nvim' },
|
||||
})
|
||||
return {
|
||||
'laytan/cloak.nvim',
|
||||
config = function()
|
||||
require'cloak'.setup({
|
||||
enabled = false,
|
||||
cloak_character = "•",
|
||||
@@ -16,3 +16,5 @@ require'cloak'.setup({
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
@@ -1,7 +1,8 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/folke/tokyonight.nvim' },
|
||||
})
|
||||
require('tokyonight').setup({
|
||||
return {
|
||||
'folke/tokyonight.nvim',
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
opts = {
|
||||
style = 'moon',
|
||||
transparent = true,
|
||||
on_colors = function(colors)
|
||||
@@ -9,5 +10,9 @@ require('tokyonight').setup({
|
||||
colors.fg_gutter = '#787f93'
|
||||
colors.terminal_black = '#828bb8'
|
||||
end,
|
||||
})
|
||||
vim.cmd('colorscheme tokyonight-moon')
|
||||
},
|
||||
config = function(_,opts)
|
||||
require'tokyonight'.setup(opts)
|
||||
vim.cmd.colorscheme('tokyonight-moon')
|
||||
end,
|
||||
}
|
||||
|
@@ -1,7 +1,9 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/3rd/image.nvim' },
|
||||
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter'}
|
||||
})
|
||||
return {
|
||||
'3rd/image.nvim',
|
||||
dependencies = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
},
|
||||
config = function()
|
||||
require'image'.setup({
|
||||
backend = "kitty",
|
||||
integrations = {
|
||||
@@ -26,3 +28,5 @@ require'image'.setup({
|
||||
max_height_window_percentage = 50,
|
||||
kitty_method = "normal",
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
@@ -1,14 +0,0 @@
|
||||
require'plugins.avante'
|
||||
require'plugins.barbar'
|
||||
require'plugins.colors'
|
||||
require'plugins.cloak'
|
||||
require'plugins.image'
|
||||
require'plugins.lsp'
|
||||
require'plugins.lualine'
|
||||
require'plugins.neotree'
|
||||
require'plugins.nerdcommenter'
|
||||
require'plugins.snacks'
|
||||
require'plugins.telescope'
|
||||
require'plugins.treesitter'
|
||||
require'plugins.trouble'
|
||||
require'plugins.undotree'
|
@@ -1,88 +1,25 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/mason-org/mason.nvim' },
|
||||
{ src = 'https://github.com/neovim/nvim-lspconfig' },
|
||||
{ src = 'https://github.com/mason-org/mason-lspconfig.nvim' },
|
||||
{ src = 'https://github.com/hrsh7th/nvim-cmp' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-nvim-lsp' },
|
||||
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-nvim-lua' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-path' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-buffer' },
|
||||
{ src = 'https://github.com/hrsh7th/cmp-emoji' },
|
||||
{ src = 'https://github.com/chrisgrieser/cmp-nerdfont' },
|
||||
{ src = 'https://github.com/jcha0713/cmp-tw2css' },
|
||||
{ src = 'https://github.com/SergioRibera/cmp-dotenv' },
|
||||
{ src = 'https://github.com/saadparwaiz1/cmp_luasnip' },
|
||||
{ src = 'https://github.com/onsails/lspkind.nvim' },
|
||||
{ src = 'https://github.com/rafamadriz/friendly-snippets' },
|
||||
{ src = 'https://github.com/j-hui/fidget.nvim' },
|
||||
{ src = 'https://github.com/David-Kunz/cmp-npm' },
|
||||
{ src = 'https://github.com/stevearc/conform.nvim' },
|
||||
return {
|
||||
'mason-org/mason-lspconfig.nvim',
|
||||
dependencies = {
|
||||
{ 'neovim/nvim-lspconfig', },
|
||||
{
|
||||
src = 'https://github.com/L3MON4D3/LuaSnip',
|
||||
version = vim.version.range('2')
|
||||
},
|
||||
{ src = 'https://github.com/supermaven-inc/supermaven-nvim' },
|
||||
{ src = 'https://github.com/garyhurtz/cmp_kitty' },
|
||||
{ src = 'https://github.com/windwp/nvim-autopairs' },
|
||||
{ src = 'https://github.com/windwp/nvim-ts-autotag' },
|
||||
--{ src = 'https://github.com/hrsh7th/cmp-cmdline' },
|
||||
--{ src = 'https://github.com/chrisgrieser/cmp-yanky' },
|
||||
})
|
||||
|
||||
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_select = { behavior = cmp.SelectBehavior.Select }
|
||||
local lspkind = require 'lspkind'
|
||||
local cmp_autopairs = require'nvim-autopairs.completion.cmp'
|
||||
require 'mason'.setup({})
|
||||
require 'mason-lspconfig'.setup({
|
||||
handlers = {
|
||||
function(server_name)
|
||||
require '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 = {
|
||||
format = {
|
||||
enable = true,
|
||||
defaultConfig = {
|
||||
indent_style = "space",
|
||||
indent_size = "2",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
'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)
|
||||
@@ -98,32 +35,28 @@ cmp.setup({
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
{ name = 'supermaven' },
|
||||
--{ name = 'luasnip', keyword_length = 2 },
|
||||
--{ name = 'buffer', keyword_length = 3 },
|
||||
--{ name = 'supermaven', keyword_length = 2 },
|
||||
{
|
||||
name = 'path',
|
||||
option = {
|
||||
pathMappings = {
|
||||
['@'] = '${folder}/src',
|
||||
['/'] = '${folder}/src/public',
|
||||
['/components'] = '${folder}/src/components',
|
||||
['/'] = '${folder}/public',
|
||||
['~/'] = '${folder}/',
|
||||
},
|
||||
trailing_slash = true,
|
||||
},
|
||||
},
|
||||
{ name = 'nvim_lsp_document_symbol' },
|
||||
{ name = 'nvim_lsp_signature_health' },
|
||||
{ name = 'nvim_lsp_signature_help' },
|
||||
{ name = 'nvim_lua' },
|
||||
{ name = 'nerdfont' },
|
||||
{ name = 'emoji' },
|
||||
{ name = 'npm' },
|
||||
{ name = 'cmp-tw2css' },
|
||||
{ name = 'dotenv' },
|
||||
{ name = 'kitty' },
|
||||
{ name = 'render-markdown' },
|
||||
{ name = 'cmdline' },
|
||||
--{ name = 'cmp_yanky' },
|
||||
--{ name = 'kitty' },
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
@@ -170,12 +103,53 @@ cmp.setup({
|
||||
completeopt = 'menu,menuone,noinsert',
|
||||
},
|
||||
})
|
||||
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
|
||||
require 'cmp_kitty':setup({})
|
||||
require 'cmp-npm'.setup({})
|
||||
require 'supermaven-nvim'.setup({
|
||||
disable_inline_completion = true,
|
||||
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' },
|
||||
@@ -189,26 +163,97 @@ require 'conform'.setup({
|
||||
lua = { 'stylua' },
|
||||
},
|
||||
})
|
||||
require 'fidget'.setup({})
|
||||
require 'nvim-autopairs'.setup({})
|
||||
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({})
|
||||
--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',
|
||||
--}
|
||||
--})
|
||||
--})
|
||||
vim.lsp.enable({
|
||||
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',
|
||||
@@ -231,21 +276,67 @@ vim.lsp.enable({
|
||||
'nginx_language_server',
|
||||
'prismals',
|
||||
'pyright',
|
||||
'rust-analyzer',
|
||||
'rust_analyzer',
|
||||
'sqlls',
|
||||
'svelte_language_server',
|
||||
'svelte',
|
||||
'tailwindcss',
|
||||
'ts_ls',
|
||||
'tinymist',
|
||||
'yamlls',
|
||||
},
|
||||
handlers = {
|
||||
function(server_name)
|
||||
lspconfig[server_name].setup({
|
||||
capabilities = capabilities
|
||||
})
|
||||
vim.diagnostic.config({
|
||||
float = {
|
||||
focusable = false,
|
||||
style = "minimal",
|
||||
border = "rounded",
|
||||
source = true,
|
||||
header = "",
|
||||
prefix = "",
|
||||
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,
|
||||
}
|
||||
|
@@ -1,8 +1,6 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/nvim-lualine/lualine.nvim' },
|
||||
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
|
||||
{ src = 'https://github.com/folke/tokyonight.nvim' },
|
||||
})
|
||||
return {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
config = function()
|
||||
require'lualine'.setup({
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
@@ -57,3 +55,9 @@ require'lualine'.setup({
|
||||
inactive_winbar = {},
|
||||
extensions = {}
|
||||
})
|
||||
end,
|
||||
dependencies = {
|
||||
{ 'nvim-tree/nvim-web-devicons' },
|
||||
{ 'folke/tokyonight.nvim' },
|
||||
},
|
||||
}
|
||||
|
@@ -1,30 +1,6 @@
|
||||
vim.pack.add({
|
||||
{
|
||||
src = 'https://github.com/nvim-neo-tree/neo-tree.nvim',
|
||||
version = vim.version.range('3')
|
||||
},
|
||||
'https://github.com/nvim-lua/plenary.nvim',
|
||||
'https://github.com/MunifTanjim/nui.nvim',
|
||||
'https://github.com/nvim-tree/nvim-web-devicons',
|
||||
'https://github.com/antosha417/nvim-lsp-file-operations',
|
||||
'https://github.com/3rd/image.nvim',
|
||||
{
|
||||
src = 'https://github.com/s1n7ax/nvim-window-picker',
|
||||
version = vim.version.range('2'),
|
||||
},
|
||||
})
|
||||
require('lsp-file-operations').setup()
|
||||
require('window-picker').setup({
|
||||
filter_rules = {
|
||||
include_current_win = false,
|
||||
autoselect_one = true,
|
||||
bo = {
|
||||
filetype = { "neo-tree", "neo-tree-popup", "notify" },
|
||||
buftype = { "terminal", "quickfix" },
|
||||
},
|
||||
},
|
||||
})
|
||||
require('neo-tree').setup({
|
||||
return {
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
config = function()
|
||||
vim.diagnostic.config({
|
||||
signs = {
|
||||
text = {
|
||||
@@ -34,7 +10,8 @@ require('neo-tree').setup({
|
||||
[vim.diagnostic.severity.HINT] = '',
|
||||
},
|
||||
}
|
||||
}),
|
||||
})
|
||||
require'neo-tree'.setup({
|
||||
close_if_last_window = true,
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true,
|
||||
@@ -310,6 +287,41 @@ require('neo-tree').setup({
|
||||
},
|
||||
},
|
||||
})
|
||||
-- Neotree
|
||||
vim.keymap.set({'n', 'v', 'x' }, '<leader>t', ':Neotree toggle<CR>')
|
||||
vim.keymap.set({'n', 'v', 'x' }, '<leader>T', ':Neotree focus<CR>')
|
||||
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,
|
||||
}
|
||||
|
@@ -1,4 +0,0 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/preservim/nerdcommenter' }
|
||||
})
|
||||
vim.keymap.set({ 'n', 'v', 'x'}, '<leader>c', '<plug>NERDCommenterToggle')
|
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',
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,7 +1,9 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/folke/snacks.nvim' },
|
||||
{ src = 'https://github.com/echasnovski/mini.icons' },
|
||||
})
|
||||
return {
|
||||
'folke/snacks.nvim',
|
||||
dependencies = {
|
||||
{ 'echasnovski/mini.icons', },
|
||||
},
|
||||
config = function()
|
||||
require'snacks'.setup({
|
||||
animate = { enabled = true },
|
||||
bigfile = { enabled = true },
|
||||
@@ -9,3 +11,5 @@ require'snacks'.setup({
|
||||
indent = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
})
|
||||
end
|
||||
}
|
||||
|
@@ -1,10 +1,10 @@
|
||||
vim.pack.add({
|
||||
{
|
||||
src = 'https://github.com/nvim-telescope/telescope.nvim',
|
||||
version = vim.version.range('0.1'),
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
tag = '0.1.8',
|
||||
dependencies = {
|
||||
{ 'nvim-lua/plenary.nvim', },
|
||||
},
|
||||
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
|
||||
})
|
||||
config = function()
|
||||
require'telescope'.setup({
|
||||
defaults = {
|
||||
file_ignore_patterns = {
|
||||
@@ -29,3 +29,5 @@ vim.keymap.set(
|
||||
end,
|
||||
{ desc = 'Find string' }
|
||||
)
|
||||
end,
|
||||
}
|
||||
|
@@ -1,12 +1,31 @@
|
||||
vim.pack.add({
|
||||
return {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
branch = 'master',
|
||||
lazy = false,
|
||||
build = ':TSUpdate',
|
||||
dependencies = {
|
||||
{ 'nvim-treesitter/playground', },
|
||||
{
|
||||
src = 'https://github.com/nvim-treesitter/nvim-treesitter',
|
||||
version = 'master'
|
||||
},
|
||||
{ src = 'https://github.com/nvim-treesitter/playground' },
|
||||
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
|
||||
'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,
|
||||
})
|
||||
require'nvim-treesitter.install'.update({ with_sync = true })()
|
||||
end,
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require'nvim-treesitter.install'.update({ with_sync = true })
|
||||
require'nvim-treesitter.configs'.setup({
|
||||
ensure_installed = {
|
||||
'bash',
|
||||
@@ -28,6 +47,7 @@ require'nvim-treesitter.configs'.setup({
|
||||
'json',
|
||||
'jsonc',
|
||||
'kotlin',
|
||||
'latex',
|
||||
'lua',
|
||||
'luadoc',
|
||||
'luap',
|
||||
@@ -68,17 +88,5 @@ require'nvim-treesitter.configs'.setup({
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
})
|
||||
|
||||
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,
|
||||
}
|
||||
|
@@ -1,7 +1,19 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/folke/trouble.nvim.git' },
|
||||
})
|
||||
return {
|
||||
'folke/trouble.nvim',
|
||||
config = function()
|
||||
require('trouble').setup({})
|
||||
vim.api.nvim_create_user_command('Trouble', function()
|
||||
require("trouble").open()
|
||||
end, { desc = "Open Trouble" })
|
||||
vim.keymap.set({'n'}, '<leader>x', ':Trouble diagnostics toggle')
|
||||
require('trouble').open()
|
||||
end, { desc = 'Open Trouble' })
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
'<leader>x',
|
||||
':Trouble diagnostics toggle<CR>',
|
||||
mode = 'n',
|
||||
silent = true,
|
||||
desc = 'Toggle Trouble',
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
|
@@ -1,4 +1,12 @@
|
||||
vim.pack.add({
|
||||
{ src = 'https://github.com/mbbill/undotree' },
|
||||
})
|
||||
vim.keymap.set({'n'}, '<leader>u', ':UndotreeToggle<CR>')
|
||||
return {
|
||||
'mbbill/undotree',
|
||||
keys = {
|
||||
{
|
||||
'<leader>u',
|
||||
':UndotreeToggle<CR>',
|
||||
mode = { 'n' },
|
||||
silent = true,
|
||||
desc = 'Toggle undo tree',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user