Updated nvim setup

master
Wynd 2026-01-17 23:21:53 +02:00
parent b823d1614a
commit 8c973bf185
5 changed files with 134 additions and 138 deletions

View File

@ -1,32 +1,32 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"blink.cmp": { "branch": "main", "commit": "a9a0f96c6a1029884e37dfd74a88a075b40366dd" },
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
"conform.nvim": { "branch": "master", "commit": "339b3e4519ec49312d34fcfa275aa15bfaa67025" },
"dressing.nvim": { "branch": "master", "commit": "3a45525bb182730fe462325c99395529308f431e" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
"conform.nvim": { "branch": "master", "commit": "5ac2bb57a9096f00ca50e1a3c46020d5930319b8" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"git-conflict.nvim": { "branch": "main", "commit": "4bbfdd92d547d2862a75b4e80afaf30e73f7bbb4" },
"hurl.nvim": { "branch": "main", "commit": "438360f62e73e8d149f0374d9d1d75c1441807e3" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
"mini.map": { "branch": "main", "commit": "4c58e755d75f9999abcd3b3c6e934734b6a8b098" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-lspconfig": { "branch": "master", "commit": "f1405c1ea5d7a1051a8ced3110d7cf3b8524041b" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
"nvim-surround": { "branch": "main", "commit": "9f0cb495f25bff32c936062d85046fbda0c43517" },
"nvim-treesitter": { "branch": "master", "commit": "2a75d8065cff33216e106b651eb0f58b90375717" },
"nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" },
"nvim-web-devicons": { "branch": "master", "commit": "6317aca1fd86cc8e8c5ad30029ae7640d566cec6" },
"outline.nvim": { "branch": "main", "commit": "f656ef12a590287cce57f6ee3d46a0604dfb3c14" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope.nvim": { "branch": "master", "commit": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc" },
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
"vim-cool": { "branch": "master", "commit": "662e7b11064cbeedad17c45d2fe926e78d3cd0b6" },
"which-key.nvim": { "branch": "main", "commit": "8ab96b38a2530eacba5be717f52e04601eb59326" }
"hurl.nvim": { "branch": "main", "commit": "0e5430d5130fe95fc1b8b015491b50274aa2e796" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
"mini.map": { "branch": "main", "commit": "32a3a5d9a7c074dbb0a4a1d5943d09cb8edbab3f" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-surround": { "branch": "main", "commit": "1098d7b3c34adcfa7feb3289ee434529abd4afd1" },
"nvim-treesitter": { "branch": "main", "commit": "d19def46c112c26c17adeef88dd1253cc6d623a1" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
"outline.nvim": { "branch": "main", "commit": "1967ef50036b0b1eac4977aeede55915a741afe0" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope.nvim": { "branch": "master", "commit": "a8c2223ea6b185701090ccb1ebc7f4e41c4c9784" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"vim-cool": { "branch": "master", "commit": "9ea940c0d537e55de0de4c0298c04b976960fb12" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@ -2,7 +2,7 @@ return {
{
"saghen/blink.cmp",
dependencies = "rafamadriz/friendly-snippets",
version = "v0.*",
version = "1.*",
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
@ -15,24 +15,45 @@ return {
keymap = { preset = "enter" },
appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = "mono",
},
signature = { enabled = true },
fuzzy = {
sorts = {
"exact",
"score",
"sort_text",
},
},
sources = {
transform_items = function(_, items)
return vim.tbl_filter(function(item)
return item.kind ~= require("blink.cmp.types").CompletionItemKind.Snippet
end, items)
end,
},
completion = {
list = {
selection = "manual",
selection = {
preselect = false,
auto_insert = false,
},
},
accept = {
auto_brackets = { enabled = false },
},
-- ghost_text = {
-- enabled = true,
-- },
ghost_text = {
enabled = true,
show_with_menu = true,
show_without_menu = true,
},
menu = {
draw = {
treesitter = { "lsp" },
columns = { { "kind_icon" }, { "label", "label_description", gap = 1 }, { "kind" } },
},
},

View File

@ -6,27 +6,15 @@ return {
{ "j-hui/fidget.nvim", opts = {} },
},
config = function()
local lspconfig = require("lspconfig")
local capabilities = require("blink.cmp").get_lsp_capabilities()
-- Svelte
-- lspconfig.svelte.setup({
-- capabilities = capabilities,
-- })
-- Markdown
lspconfig.marksman.setup({
capabilities = capabilities,
})
vim.lsp.enable("marksman")
-- Python
lspconfig.pyright.setup({
capabilities = capabilities,
})
vim.lsp.enable("pyright")
-- Rust
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
vim.lsp.enable("rust_analyzer")
vim.lsp.config("rust_analyzer", {
settings = {
["rust-analyzer"] = {
cargo = {
@ -60,22 +48,18 @@ return {
})
-- C
lspconfig.clangd.setup({
capabilities = capabilities,
})
vim.lsp.enable("clangd")
-- TOML
lspconfig.taplo.setup({
capabilities = capabilities,
})
vim.lsp.enable("taplo")
-- Lua
local lua_rtp = vim.split(package.path, ";")
table.insert(lua_rtp, "lua/?.lua")
table.insert(lua_rtp, "lua/?/init.lua")
lspconfig.lua_ls.setup({
capabilities = capabilities,
vim.lsp.enable("lua_ls")
vim.lsp.config("lua_ls", {
settings = {
Lua = {
runtime = {
@ -106,9 +90,7 @@ return {
-- })
-- Nim
lspconfig.nim_langserver.setup({
capabilities = capabilities,
})
vim.lsp.enable("nim_langserver")
-- Clojure
-- lspconfig.clojure_lsp.setup({
@ -116,36 +98,30 @@ return {
-- })
-- Gleam
lspconfig.gleam.setup({
capabilities = capabilities,
})
-- lspconfig.gleam.setup({
-- capabilities = capabilities,
-- })
-- Bash
lspconfig.bashls.setup({
capabilities = capabilities,
})
vim.lsp.enable("bashls")
-- HTML
lspconfig.html.setup({
capabilities = capabilities,
vim.lsp.enable("html")
vim.lsp.config("html", {
filetypes = { "html", "templ", "htmldjango", "handlebars" },
})
-- HTMX
-- lspconfig.htmx.setup({
-- capabilities = capabilities,
-- filetypes = { "html", "templ", "htmldjango" },
-- })
vim.lsp.enable("htmx")
vim.lsp.config("htmx", {
filetypes = { "html", "templ", "htmldjango" },
})
-- CSS
lspconfig.cssls.setup({
capabilities = capabilities,
})
vim.lsp.enable("cssls")
-- JSON
lspconfig.jsonls.setup({
capabilities = capabilities,
})
vim.lsp.enable("jsonls")
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("nvwynd-lsp-attach", { clear = true }),

View File

@ -3,7 +3,7 @@ return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
config = function()
local configs = require("nvim-treesitter.configs")
local ts = require("nvim-treesitter")
vim.filetype.add({
extension = {
@ -14,56 +14,60 @@ return {
},
})
vim.treesitter.language.register("html", { "handlebars", "htmldjango" })
vim.treesitter.language.register("glsl", { "vsh", "fsh" })
ts.install({
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
"svelte",
configs.setup({
ensure_installed = {
-- web dev
"html",
"css",
"scss",
"javascript",
"typescript",
"svelte",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"just",
-- config
"toml",
"yaml",
"markdown",
"dockerfile",
"just",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- vim
"vim",
"vimdoc",
"lua",
"query",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"clojure",
"gleam",
"bash",
"hurl",
"gdscript",
-- the cool stuff
"elixir",
"heex",
"rust",
"python",
"zig",
"nim",
"clojure",
"gleam",
"bash",
"hurl",
"gdscript",
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
},
sync_install = false,
highlight = { enable = true },
indent = { enable = true },
-- the not so cool stuff
"c",
"java",
"groovy",
"glsl",
"wgsl",
})
vim.api.nvim_create_autocmd("FileType", {
pattern = { "<filetype>" },
callback = function()
vim.treesitter.start()
end,
})
vim.wo[0][0].foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.wo[0][0].foldmethod = "expr"
vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
end,
},
}

21
.zshrc
View File

@ -62,15 +62,14 @@ export PATH="$GEMS_HOME/bin:$PATH"
export NIMBLE_HOME="$HOME/.nimble"
export PATH="$NIMBLE_HOME/bin:$PATH"
# bun
export BUN_HOME="$HOME/.bun"
export PATH="$BUN_HOME/bin:$PATH"
[ -s "$BUN_HOME/_bun" ] && source "/$BUN_HOME/_bun"
# asdf setup
source "$HOME/.asdf/asdf.sh"
fpath=(${ASDF_DIR}/completions $fpath)
# JVM setup
export JAVA_HOME=/usr/lib/jvm/java-21-temurin
export PATH=$JAVA_HOME/bin:$PATH
# fzf setup
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
@ -99,7 +98,7 @@ alias myip="curl http://ipecho.net/plain; echo"
alias diskspace="df -ht ext4"
alias since="days_since"
alias ytwav="yt-dlp -x --audio-format wav"
alias ytmp3="yt-dlp -x --audio-format mp3"
alias ytmp3="yt-dlp -x --audio-format mp3 --embed-thumbnail"
alias ytdv="yt-dlp"
alias docker-clean="docker system prune -a --filter \"until=72h\""
alias flatpak-clean="flatpak uninstall --user --unused"
@ -136,16 +135,15 @@ function days_since() {(
alias repos="~/.local/bin/repos.sh"
alias reposn="~/.local/bin/reposn.sh"
alias reposl="~/.local/bin/reposl.sh"
alias repo5y="~/.local/bin/repo5y.sh"
alias repoc="~/.local/bin/repoc.sh"
alias repos5y="~/.local/bin/repos5y.sh"
alias repoc5y="~/.local/bin/repoc5y.sh"
# private SSH stuff
source ~/.piwrc
# JVM switches
alias use-java8='export JAVA_HOME=/usr/lib/jvm/java-8-temurin;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java11='export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java17='export JAVA_HOME=/usr/lib/jvm/java-17-temurin;export PATH=$JAVA_HOME/bin:$PATH'
alias use-java21='export JAVA_HOME=/usr/lib/jvm/java-21-temurin;export PATH=$JAVA_HOME/bin:$PATH'
# changing GREP highlight color
@ -171,6 +169,3 @@ figlet -f 'Red Phoenix' Wynd | lolcat
# starts starship
eval "$(starship init zsh)"
# bun completions
[ -s "/home/wynd/.bun/_bun" ] && source "/home/wynd/.bun/_bun"