Added yazi, fixed nvim and tmux a bit, regular updates to ZSH

This commit is contained in:
Josh Patra
2025-11-22 17:06:24 -05:00
parent 1d36a7c23a
commit e6576ac9a4
10 changed files with 388 additions and 130 deletions

View File

@@ -1,7 +1,7 @@
[user] [user]
email = 30350506+SoPat712@users.noreply.github.com email = 30350506+SoPat712@users.noreply.github.com
name = Josh Patra name = Josh Patra
signingkey = 34E3C1465C60BF2DDDD994A819FDD4F401823AE1 signingkey = 19FDD4F401823AE1
[diff] [diff]
tool = nvimdiff tool = nvimdiff
[core] [core]
@@ -28,3 +28,7 @@
postBuffer = 524288000 postBuffer = 524288000
[pull] [pull]
rebase = false rebase = false
[gpg]
program = /opt/homebrew/bin/gpg
[credential]
helper = store

View File

@@ -0,0 +1,5 @@
syntax off
filetype off
set noundofile
set noswapfile
set noloadplugins

View File

@@ -1,58 +1,58 @@
{ {
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" }, "LuaSnip": { "branch": "master", "commit": "21e9fecfc07fb2cd707b6c7c3fa148550a34d053" },
"actions-preview.nvim": { "branch": "master", "commit": "36513ad213855d497b7dd3391a24d1d75d58e36f" }, "actions-preview.nvim": { "branch": "master", "commit": "cb938c25edaac38d362555f19244a9cb85d561e8" },
"alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" }, "alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
"clangd_extensions.nvim": { "branch": "main", "commit": "db28f29be928d18cbfb86fbfb9f83f584f658feb" }, "clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" }, "cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "fd3e882e56956675c620898bf1ffcf4fcbe7ec84" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" }, "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"codesnap.nvim": { "branch": "main", "commit": "be6d6b9a3b5e6999edbda76b16dace03d9bfcd3d" }, "codesnap.nvim": { "branch": "main", "commit": "927d4a40361cf3c066a5426477822b41ba6069ab" },
"compiler.nvim": { "branch": "main", "commit": "eb7f82bb8f9e722dd194f638e67ec53c12ce5ac5" }, "compiler.nvim": { "branch": "main", "commit": "c09ab4e795b92378727d7377c03b0d5c2453957c" },
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" }, "conform.nvim": { "branch": "master", "commit": "1bf8b5b9caee51507aa51eaed3da5b0f2595c6b9" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "6ef8c54fb526bf3a0bc4efb0b2fe8e6d9a7daed2" }, "gitsigns.nvim": { "branch": "main", "commit": "6ef8c54fb526bf3a0bc4efb0b2fe8e6d9a7daed2" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "bef29b653ba71d442816bf56286c2a686210be04" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "93a9ff9b34c91c0cb0f7de8d5f7e4abce51d8903" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" }, "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"mini.indentscope": { "branch": "main", "commit": "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b" }, "mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
"mini.nvim": { "branch": "main", "commit": "8f2ea1e69546d2606b97cb1c0e9458a1a0d2e73f" }, "mini.nvim": { "branch": "main", "commit": "6e885e4c27743ae6bf5957ea78ce86c032835f09" },
"minimap.vim": { "branch": "master", "commit": "57287e2dd28fa3e63276a32d11c729df14741d54" }, "minimap.vim": { "branch": "master", "commit": "57287e2dd28fa3e63276a32d11c729df14741d54" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, "nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" }, "nvim-lint": { "branch": "master", "commit": "a0718addcf9b5ba4325eb45441020bb824af9503" },
"nvim-lspconfig": { "branch": "master", "commit": "583a1d555c8e407868ce00c57e37eca4b7ff960e" }, "nvim-lspconfig": { "branch": "master", "commit": "b7c48a7111534b66bee077da8035ac7208a294ff" },
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "b5ef8e3b8cb40b76975cfbcd2f590654eeb6ff00" }, "nvim-treesitter-context": { "branch": "master", "commit": "660861b1849256398f70450afdf93908d28dc945" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
"nvim-ufo": { "branch": "main", "commit": "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1" }, "nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" }, "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
"overseer.nvim": { "branch": "master", "commit": "6271cab7ccc4ca840faa93f54440ffae3a3918bd" }, "overseer.nvim": { "branch": "master", "commit": "6271cab7ccc4ca840faa93f54440ffae3a3918bd" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"smart-splits.nvim": { "branch": "master", "commit": "dcc9a886ac7214db6dd67d27044b8388b628dcb6" }, "smart-splits.nvim": { "branch": "master", "commit": "71cf185c848d7c3ed62043df916f056a22cb4007" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" }, "telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" }, "telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" }, "vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, "vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
"vim-matchup": { "branch": "master", "commit": "c478d4a72bbf397eff42743198f1939f6a264736" }, "vim-matchup": { "branch": "master", "commit": "1c276e12b49a83c1bdca74351187b8adea5da4b9" },
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
"vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" }, "vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" },
"vim-startuptime": { "branch": "master", "commit": "b6f0d93f6b8cf6eee0b4c94450198ba2d6a05ff6" }, "vim-startuptime": { "branch": "master", "commit": "b6f0d93f6b8cf6eee0b4c94450198ba2d6a05ff6" },

View File

@@ -1,16 +1,17 @@
return { return {
"mistricky/codesnap.nvim", "mistricky/codesnap.nvim",
lazy = "true", build = "make build_generator",
build = "make", lazy = false,
cmd = "CodeSnapPreviewOn",
config = function() config = function()
require("codesnap").setup({ require("codesnap").setup({
mac_window_bar = true, -- (Optional) MacOS style title bar switch mac_window_bar = true, -- macOS-style title bar
opacity = true, -- (Optional) The code snap has some opacity by default, set it to false for 100% opacity watermark = "", -- no watermark
watermark = "joshp", -- (Optional) you can custom your own watermark, but if you don't like it, just set it to "" has_line_number = true, -- show line numbers
preview_title = "CodeSnap.nvim", -- (Optional) preview page title has_breadcrumbs = false, -- disable breadcrumbs
bg_theme = "summer", show_workspace = false, -- disable workspace name
has_line_number = true, bg_theme = "sea", -- background theme
code_font_family = "SauceCodePro Nerd Font", -- your preferred font
save_path = "~/Pictures", -- save directory
}) })
end, end,
} }

View File

@@ -21,12 +21,16 @@ return {
mason_tool_installer.setup({ mason_tool_installer.setup({
ensure_installed = { ensure_installed = {
"prettier", -- prettier formatter -- Formatters
"stylua", -- lua formatter "prettier",
"isort", -- python formatter "stylua",
"black", -- python formatter "isort",
"pylint", -- python linter "black",
"eslint_d", -- js linter -- Linters
"eslint_d",
"pylint",
-- LSP servers
"vtsls", -- better TypeScript/JavaScript LSP (or use "typescript-language-server" for ts_ls)
}, },
}) })
end, end,
@@ -41,7 +45,6 @@ return {
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
lazy = false, lazy = false,
-- This table is used in the config function (below) for vim.diagnostic.config()
opts = { opts = {
diagnostics = { diagnostics = {
underline = true, underline = true,
@@ -66,7 +69,7 @@ return {
}, },
}, },
config = function(_, opts) config = function(_, opts)
-- 1) Use opts.diagnostics to configure diagnostic signs -- 1) Configure diagnostics
local diag = opts.diagnostics or {} local diag = opts.diagnostics or {}
if diag.signs and diag.signs.text then if diag.signs and diag.signs.text then
local sign_config = {} local sign_config = {}
@@ -82,7 +85,7 @@ return {
}) })
end end
-- 2) Set up capabilities and each LSP -- 2) Set up capabilities
local capabilities = require("cmp_nvim_lsp").default_capabilities() local capabilities = require("cmp_nvim_lsp").default_capabilities()
capabilities.offsetEncoding = { "utf-16" } capabilities.offsetEncoding = { "utf-16" }
capabilities.textDocument.foldingRange = { capabilities.textDocument.foldingRange = {
@@ -90,51 +93,78 @@ return {
lineFoldingOnly = true, lineFoldingOnly = true,
} }
local lspconfig = require("lspconfig") -- 3) Setup LSP servers using vim.lsp.config
-- Example LSPs -- TypeScript/JavaScript (using vtsls for better refactoring support)
lspconfig.ts_ls.setup({ vim.lsp.config("vtsls", {
capabilities = capabilities, capabilities = capabilities,
filetypes = { "javascript", "javascriptreact", "typescript", "typescriptreact" },
}) })
lspconfig.html.setup({
capabilities = capabilities, -- HTML
}) vim.lsp.config("html", {
lspconfig.lua_ls.setup({
capabilities = capabilities,
})
lspconfig.gopls.setup({
capabilities = capabilities,
})
lspconfig.svelte.setup({
capabilities = capabilities, capabilities = capabilities,
}) })
-- Python example -- Lua
vim.lsp.config("lua_ls", {
capabilities = capabilities,
})
-- Go
vim.lsp.config("gopls", {
capabilities = capabilities,
})
-- Svelte
vim.lsp.config("svelte", {
capabilities = capabilities,
})
-- Python (Pyright)
local function get_python_path(workspace) local function get_python_path(workspace)
-- Use a pattern to find the venv path in the workspace directory -- 1) Workspace-local venv: <workspace>/venv/bin/python
local venv_path = lspconfig.util.path.join(workspace, "venv", "bin", "python") if workspace and workspace ~= "" then
return venv_path local venv_path = vim.fs.joinpath(workspace, "venv", "bin", "python")
if vim.fn.executable(venv_path) == 1 then
return venv_path
end
end
-- 2) Active virtualenv, if any
if vim.env.VIRTUAL_ENV and vim.env.VIRTUAL_ENV ~= "" then
local venv_python = vim.fs.joinpath(vim.env.VIRTUAL_ENV, "bin", "python")
if vim.fn.executable(venv_python) == 1 then
return venv_python
end
end
-- 3) Fallback to system python
return "python3"
end end
lspconfig.pyright.setup({
vim.lsp.config("pyright", {
capabilities = capabilities, capabilities = capabilities,
before_init = function(_, config) before_init = function(params, config)
config.settings = { -- Try a few ways to get a sane workspace path
python = { local workspace = config.root_dir
analysis = { or (params.rootUri and vim.uri_to_fname(params.rootUri))
autoSearchPaths = true, or vim.loop.cwd()
useLibraryCodeForTypes = true,
}, config.settings = config.settings or {}
pythonPath = get_python_path(config.root_dir), config.settings.python = config.settings.python or {}
},
config.settings.python.analysis = {
autoSearchPaths = true,
useLibraryCodeForTypes = true,
} }
end,
on_attach = function(client, bufnr) config.settings.python.pythonPath = get_python_path(workspace)
-- Optional: additional setup such as key mappings, etc.
end, end,
}) })
-- Rust -- Rust
lspconfig.rust_analyzer.setup({ vim.lsp.config("rust_analyzer", {
capabilities = capabilities, capabilities = capabilities,
settings = { settings = {
["rust-analyzer"] = {}, ["rust-analyzer"] = {},
@@ -142,18 +172,8 @@ return {
}) })
-- C/C++ (clangd) -- C/C++ (clangd)
lspconfig.clangd.setup({ vim.lsp.config("clangd", {
capabilities = capabilities, capabilities = capabilities,
init_options = {
clangdFileStatus = true,
usePlaceholders = true,
completeUnimported = true,
semanticHighlighting = true,
},
on_attach = function(client, bufnr)
require("clangd_extensions.inlay_hints").setup_autocmd()
require("clangd_extensions.inlay_hints").set_inlay_hints()
end,
cmd = { cmd = {
"clangd", "clangd",
"--background-index", "--background-index",
@@ -166,67 +186,85 @@ return {
"-j=12", "-j=12",
"--header-insertion-decorators", "--header-insertion-decorators",
}, },
root_dir = function(fname) root_markers = {
return require("lspconfig.util").root_pattern( "Makefile",
"Makefile", "configure.ac",
"configure.ac", "configure.in",
"configure.in", "config.h.in",
"config.h.in", "meson.build",
"meson.build", "meson_options.txt",
"meson_options.txt", "build.ninja",
"build.ninja" "compile_commands.json",
)(fname) or require("lspconfig.util").root_pattern( "compile_flags.txt",
"compile_commands.json", ".git",
"compile_flags.txt" },
)(fname) or require("lspconfig.util").find_git_ancestor(fname) on_attach = function(client, bufnr)
-- Optional: clangd extensions setup
local ok, clangd_ext = pcall(require, "clangd_extensions.inlay_hints")
if ok then
clangd_ext.setup_autocmd()
clangd_ext.set_inlay_hints()
end
end, end,
}) })
-- UFO setup -- UFO setup
require("ufo").setup() require("ufo").setup()
-- 3) Global LspAttach mappings -- 4) Global LspAttach mappings
vim.api.nvim_create_autocmd("LspAttach", { vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}), group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev) callback = function(ev)
local opts = { buffer = ev.buf } local opts = { buffer = ev.buf }
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, { desc = "Open diagnostic float" })
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic" }) vim.keymap.set(
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next diagnostic" }) "n",
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts, { desc = "Go to declaration" }) "<leader>e",
vim.diagnostic.open_float,
{ buffer = ev.buf, desc = "Open diagnostic float" }
)
vim.keymap.set(
"n",
"[d",
vim.diagnostic.goto_prev,
{ buffer = ev.buf, desc = "Go to previous diagnostic" }
)
vim.keymap.set(
"n",
"]d",
vim.diagnostic.goto_next,
{ buffer = ev.buf, desc = "Go to next diagnostic" }
)
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Go to declaration" })
vim.keymap.set( vim.keymap.set(
"n", "n",
"gd", "gd",
require("telescope.builtin").lsp_definitions, require("telescope.builtin").lsp_definitions,
opts, { buffer = ev.buf, desc = "Go to definition" }
{ desc = "Go to definition" }
) )
vim.keymap.set( vim.keymap.set(
"n", "n",
"gr", "gr",
require("telescope.builtin").lsp_references, require("telescope.builtin").lsp_references,
opts, { buffer = ev.buf, desc = "Go to references" }
{ desc = "Go to references" }
) )
vim.keymap.set( vim.keymap.set(
"n", "n",
"gi", "gi",
require("telescope.builtin").lsp_implementations, require("telescope.builtin").lsp_implementations,
opts, { buffer = ev.buf, desc = "Go to implementations" }
{ desc = "Go to implementations" }
) )
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = ev.buf, desc = "Hover" })
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts, { desc = "Rename" }) vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { buffer = ev.buf, desc = "Rename" })
vim.keymap.set( vim.keymap.set(
{ "n", "v" }, { "n", "v" },
"<leader>ca", "<leader>ca",
require("actions-preview").code_actions, require("actions-preview").code_actions,
opts, { buffer = ev.buf, desc = "Code actions" }
{ desc = "Code actions" }
) )
vim.keymap.set("n", "<leader>f", function() vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format({ async = true }) vim.lsp.buf.format({ async = true })
end, opts, { desc = "Format" }) end, { buffer = ev.buf, desc = "Format" })
end, end,
}) })
end, end,

Submodule tmux/.tmux/plugins/tmux updated: c2b1d67cbd...91a1e09b3d

Submodule tmux/.tmux/plugins/vim-tmux-navigator updated: 5b3c701686...c45243dc1f

160
yazi/theme.toml Normal file
View File

@@ -0,0 +1,160 @@
[mgr]
# NOTE: can be combined with tmTheme (sublime colorshceme file) for preview code highlight
# syntect_theme = "path/to/tmTheme"
cwd = { fg = "#a9b1d6", italic = true }
# Hovered
hovered = { bg = "#292E50" }
preview_hovered = { bg = "#292E50" }
# Find
find_keyword = { fg = "#1f2335", bg = "#ff9e64", bold = true }
find_position = { fg = "#0db9d7", bg = "#22374b", bold = true }
# Marker
marker_copied = { fg = "#9ece6a", bg = "#9ece6a" }
marker_cut = { fg = "#f7768e", bg = "#f7768e" }
marker_marked = { fg = "#bb9af7", bg = "#bb9af7" }
marker_selected = { fg = "#7aa2f7", bg = "#7aa2f7" }
# Count
count_copied = { fg = "#1f2335", bg = "#9ece6a" }
count_cut = { fg = "#1f2335", bg = "#f7768e" }
count_selected = { fg = "#1f2335", bg = "#7aa2f7" }
# Border
border_symbol = "│"
border_style = { fg = "#29a4bd" }
# Tab
[tabs]
active = { fg = "#1d202f", bg = "#7aa2f7" }
inactive = { fg = "#7aa2f7", bg = "#3b4261" }
[mode]
normal_main = { fg = "#1d202f", bg = "#7aa2f7", bold = true }
normal_alt = { fg = "#7aa2f7", bg = "#3b4261" }
select_main = { fg = "#1d202f", bg = "#bb9af7", bold = true }
select_alt = { fg = "#bb9af7", bg = "#3b4261" }
unset_main = { fg = "#1d202f", bg = "#9d7cd8", bold = true }
unset_alt = { fg = "#9d7cd8", bg = "#3b4261" }
[status]
overall = { fg = "#c0caf5", bg = "#1f2335" }
sep_left = { open = "", close = "" }
sep_right = { open = "", close = "" }
# Progress
progress_label = { fg = "#c0caf5", bold = true }
progress_normal = { fg = "#3d59a1", bg = "#292e42" }
progress_error = { fg = "#db4b4b", bg = "#292e42" }
# Permissions
perm_type = { fg = "#7aa2f7" }
perm_read = { fg = "#e0af68" }
perm_write = { fg = "#f7768e" }
perm_exec = { fg = "#9ece6a" }
perm_sep = { fg = "#414868" }
[pick]
border = { fg = "#29a4bd" }
active = { fg = "#c0caf5", bg = "#2e3c64" }
inactive = { fg = "#c0caf5" }
# Input
[input]
border = { fg = "#0db9d7" }
title = { fg = "#0db9d7" }
value = { fg = "#9d7cd8" }
selected = { bg = "#2e3c64" }
# Completion
[cmp]
border = { fg = "#0db9d7" }
active = { fg = "#c0caf5", bg = "#363d59" }
inactive = { fg = "#c0caf5" }
icon_file = ""
icon_folder = ""
icon_command = ""
# Tasks
[tasks]
border = { fg = "#29a4bd" }
title = { fg = "#29a4bd" }
hovered = { fg = "#c0caf5", bg = "#2e3c64" }
# Which
[which]
cols = 3
mask = { bg = "#1f2335" }
cand = { fg = "#7dcfff" }
rest = { fg = "#7aa2f7" }
desc = { fg = "#bb9af7" }
separator = " ➜ "
separator_style = { fg = "#565f89" }
# Confirm
[confirm]
border = { fg = "#0db9d7" }
title = { fg = "#29a4bd" }
content = {}
list = {}
btn_yes = { bg = "#2e3c64" }
btn_no = {}
btn_labels = [ " [Y]es ", " (N)o " ]
# Spot
[spot]
border = { fg = "#29a4bd" }
title = { fg = "#29a4bd" }
# Notify
[notify]
title_info = { fg = "#0db9d7" }
title_warn = { fg = "#e0af68" }
title_error = { fg = "#db4b4b" }
icon_error = ""
icon_warn = ""
icon_info = ""
# Help
[help]
on = { fg = "#9ece6a" }
run = { fg = "#bb9af7" }
desc = { fg = "#7dcfff" }
hovered = { bg = "#292e42" }
footer = { fg = "#c0caf5", bg = "#24283b" }
[filetype]
rules = [
# Images
{ mime = "image/*", fg = "#e0af68" },
# Media
{ mime = "{audio,video}/*", fg = "#bb9af7" },
# Archives
{ mime = "application/*zip", fg = "#f7768e" },
{ mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f7768e" },
# Documents
{ mime = "application/{pdf,doc,rtf,vnd.*}", fg = "#7dcfff" },
# Empty files
# { mime = "inode/x-empty", fg = "#f7768e" },
# Special files
{ name = "*", is = "orphan", bg = "#f7768e" },
{ name = "*", is = "exec" , fg = "#9ece6a" },
# Fallback
{ name = "*/", fg = "#7aa2f7" },
{ name = "*", fg = "#c0caf5" }
]

View File

@@ -1 +1,4 @@
eval "$(/opt/homebrew/bin/brew shellenv)" eval "$(/opt/homebrew/bin/brew shellenv)"
# Added by `rbenv init` on Thu Nov 6 22:59:40 EST 2025
eval "$(rbenv init - --no-rehash zsh)"

View File

@@ -27,6 +27,16 @@ export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'"
export LC_ALL=en_US.UTF-8 export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8 export LANG=en_US.UTF-8
export MANPAGER='nvim +Man!' export MANPAGER='nvim +Man!'
export OLLAMA_KEEP_ALIVE=20m
export OLLAMA_HOST=0.0.0.0:11434
export LM_STUDIO_API_KEY="sk-dummy-api-key"
export OPENAI_API_KEY="sk-dummy-api-key"
export OPENAI_BASE_URL="http://localhost:1234/v1"
export OPENAI_MODEL="qwen/qwen3-coder-30b"
export NEXTDNS_URL="https://link-ip.nextdns.io/6f6c4e/f5476a644c7d5b0d"
# Stuff for development
export PATH="$(brew --prefix)/opt/findutils/libexec/gnubin:$(brew --prefix)/opt/gnu-getopt/bin:$(brew --prefix)/opt/make/libexec/gnubin:$(brew --prefix)/opt/util-linux/bin:${PATH}"
#Nano Zone for gcc on MacOS #Nano Zone for gcc on MacOS
if [[ "$OSTYPE" == "darwin"* ]]; then if [[ "$OSTYPE" == "darwin"* ]]; then
export MallocNanoZone=0 export MallocNanoZone=0
@@ -58,6 +68,7 @@ if command -v pyenv 1>/dev/null 2>&1; then
fi fi
eval "$(fzf --zsh)" eval "$(fzf --zsh)"
eval "$(~/.local/bin/mise activate zsh)" eval "$(~/.local/bin/mise activate zsh)"
# eval "$(rbenv init - zsh)"
# Aliases # Aliases
alias zshconfig="nvim ~/.zshrc" alias zshconfig="nvim ~/.zshrc"
@@ -72,6 +83,27 @@ alias cat=bat
if [[ "$OSTYPE" == "darwin"* ]]; then if [[ "$OSTYPE" == "darwin"* ]]; then
export PATH=$PATH:/Users/joshp/.spicetify export PATH=$PATH:/Users/joshp/.spicetify
music() {
echo "Running music sync..."
cd ~/Projects/lrcput || return
python lrcput.py -d "/Volumes/Crucial X8/Media/Music/" -r -R
dot_clean "/Volumes/Crucial X8/Media/Music/"
rsync -aHv --delete --chown=navidrome:navidrome \
--chmod=F644,D755 \
-e 'ssh -p 6222' \
"/Volumes/Crucial X8/Media/Music/" \
root@ddns.joshpatra.me:/media/FiveTB/Navidrome/joshp
rsync -aHv --delete \
"/Volumes/Crucial X8/Media/Music/" \
"/Volumes/Samsung USB/Music/"
echo "✅ Music sync complete."
}
alluptd() { alluptd() {
skip_all=false skip_all=false
run_music=false run_music=false
@@ -158,7 +190,7 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
rsync -aHv --delete --chown=navidrome:navidrome \ rsync -aHv --delete --chown=navidrome:navidrome \
--chmod=F644,D755 \ --chmod=F644,D755 \
-e 'ssh -p 5222' \ -e 'ssh -p 6222' \
"/Volumes/Crucial X8/Media/Music/" \ "/Volumes/Crucial X8/Media/Music/" \
root@ddns.joshpatra.me:/media/FiveTB/Navidrome/joshp root@ddns.joshpatra.me:/media/FiveTB/Navidrome/joshp
@@ -218,3 +250,18 @@ export DYLD_LIBRARY_PATH="/opt/homebrew/Cellar/libgit2/1.9.0/lib:$DYLD_LIBRARY_P
export NVM_DIR="$HOME/.nvm" export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[[ "$TERM_PROGRAM" == "kiro" ]] && . "$(kiro --locate-shell-integration-path zsh)"
export PATH="$PATH:$HOME/.local/bin"
# Added by LM Studio CLI (lms)
export PATH="$PATH:/Users/joshp/.lmstudio/bin"
# End of LM Studio CLI section
export GEMINI_API_KEY=AIzaSyA515wVt60qNWDqdt0QCKvx9vPoDb6b0fg
# The following lines have been added by Docker Desktop to enable Docker CLI completions.
fpath=(/Users/joshp/.docker/completions $fpath)
autoload -Uz compinit
compinit
# End of Docker CLI completions