mirror of
https://github.com/SoPat712/dotfiles.git
synced 2025-12-26 08:27:22 -05:00
Compare commits
3 Commits
1d36a7c23a
...
873da06145
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
873da06145
|
||
|
|
68182a1fda
|
||
|
|
e6576ac9a4
|
18
README.md
18
README.md
@@ -17,7 +17,7 @@ It's not entirely optimized, but I tried to reduce startup time as much as possi
|
||||
|
||||
### UI Stuff
|
||||
|
||||
I run tokyonight-moon theme, with alpha-nvim as my dashboard.
|
||||
I run tokyonight-storm theme, with alpha-nvim as my dashboard.
|
||||
|
||||
I also have mini-indentscope and indent-blankline in order to get some cool indentation highlighting. Entirely unnecessary, but entirely cool.
|
||||
|
||||
@@ -25,22 +25,26 @@ I also have mini-indentscope and indent-blankline in order to get some cool inde
|
||||
|
||||
I switched from null-ls to conform.nvim + nvim-lint after reading a Reddit Post. I find it pretty fast. Still perfecting the configuration though.
|
||||
|
||||
## GIT
|
||||
## git
|
||||
|
||||
Just a .gitconfig built up over regular usage
|
||||
|
||||
## TMUX
|
||||
## tmux
|
||||
|
||||
My new .tmux.conf
|
||||
|
||||
## ZSH
|
||||
## Zsh
|
||||
|
||||
Just a basic old ZSH
|
||||
Just a basic old ZSH with omz now
|
||||
|
||||
## QBIT
|
||||
## qBittorrent
|
||||
|
||||
The WebUI that I use, and the theme that I prefer
|
||||
|
||||
## VIM
|
||||
## Neovim
|
||||
|
||||
Hopefully, a portable Vim setup for working over SSH and stuff
|
||||
|
||||
## Yazi
|
||||
|
||||
My new file manager, maybe?
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[user]
|
||||
email = 30350506+SoPat712@users.noreply.github.com
|
||||
name = Josh Patra
|
||||
signingkey = 34E3C1465C60BF2DDDD994A819FDD4F401823AE1
|
||||
signingkey = 19FDD4F401823AE1
|
||||
[diff]
|
||||
tool = nvimdiff
|
||||
[core]
|
||||
@@ -28,3 +28,7 @@
|
||||
postBuffer = 524288000
|
||||
[pull]
|
||||
rebase = false
|
||||
[gpg]
|
||||
program = /opt/homebrew/bin/gpg
|
||||
[credential]
|
||||
helper = store
|
||||
|
||||
5
nvim/.config/nvim/large-file.vim
Normal file
5
nvim/.config/nvim/large-file.vim
Normal file
@@ -0,0 +1,5 @@
|
||||
syntax off
|
||||
filetype off
|
||||
set noundofile
|
||||
set noswapfile
|
||||
set noloadplugins
|
||||
@@ -1,58 +1,58 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
||||
"actions-preview.nvim": { "branch": "master", "commit": "36513ad213855d497b7dd3391a24d1d75d58e36f" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "db28f29be928d18cbfb86fbfb9f83f584f658feb" },
|
||||
"LuaSnip": { "branch": "master", "commit": "21e9fecfc07fb2cd707b6c7c3fa148550a34d053" },
|
||||
"actions-preview.nvim": { "branch": "master", "commit": "cb938c25edaac38d362555f19244a9cb85d561e8" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
|
||||
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "fd3e882e56956675c620898bf1ffcf4fcbe7ec84" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"codesnap.nvim": { "branch": "main", "commit": "be6d6b9a3b5e6999edbda76b16dace03d9bfcd3d" },
|
||||
"compiler.nvim": { "branch": "main", "commit": "eb7f82bb8f9e722dd194f638e67ec53c12ce5ac5" },
|
||||
"conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||
"codesnap.nvim": { "branch": "main", "commit": "927d4a40361cf3c066a5426477822b41ba6069ab" },
|
||||
"compiler.nvim": { "branch": "main", "commit": "c09ab4e795b92378727d7377c03b0d5c2453957c" },
|
||||
"conform.nvim": { "branch": "master", "commit": "1bf8b5b9caee51507aa51eaed3da5b0f2595c6b9" },
|
||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "6ef8c54fb526bf3a0bc4efb0b2fe8e6d9a7daed2" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "bef29b653ba71d442816bf56286c2a686210be04" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "93a9ff9b34c91c0cb0f7de8d5f7e4abce51d8903" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b" },
|
||||
"mini.nvim": { "branch": "main", "commit": "8f2ea1e69546d2606b97cb1c0e9458a1a0d2e73f" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7d527c76c43f46294de9c19d39c5a86317809b4b" },
|
||||
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
|
||||
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "0308f949f31769e509696af5d5f91cebb2159c69" },
|
||||
"mini.nvim": { "branch": "main", "commit": "6e885e4c27743ae6bf5957ea78ce86c032835f09" },
|
||||
"minimap.vim": { "branch": "master", "commit": "57287e2dd28fa3e63276a32d11c729df14741d54" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "583a1d555c8e407868ce00c57e37eca4b7ff960e" },
|
||||
"nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
|
||||
"nvim-lint": { "branch": "master", "commit": "a0718addcf9b5ba4325eb45441020bb824af9503" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "b7c48a7111534b66bee077da8035ac7208a294ff" },
|
||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "b5ef8e3b8cb40b76975cfbcd2f590654eeb6ff00" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "660861b1849256398f70450afdf93908d28dc945" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
|
||||
"outline.nvim": { "branch": "main", "commit": "321f89ef79f168a78685f70d70c52d0e7b563abb" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
|
||||
"overseer.nvim": { "branch": "master", "commit": "6271cab7ccc4ca840faa93f54440ffae3a3918bd" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "dcc9a886ac7214db6dd67d27044b8388b628dcb6" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "71cf185c848d7c3ed62043df916f056a22cb4007" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope-undo.nvim": { "branch": "main", "commit": "928d0c2dc9606e01e2cc547196f48d2eaecf58e5" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"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-matchup": { "branch": "master", "commit": "c478d4a72bbf397eff42743198f1939f6a264736" },
|
||||
"vim-matchup": { "branch": "master", "commit": "1c276e12b49a83c1bdca74351187b8adea5da4b9" },
|
||||
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
||||
"vim-smoothie": { "branch": "master", "commit": "df1e324e9f3395c630c1c523d0555a01d2eb1b7e" },
|
||||
"vim-startuptime": { "branch": "master", "commit": "b6f0d93f6b8cf6eee0b4c94450198ba2d6a05ff6" },
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
return {
|
||||
"mistricky/codesnap.nvim",
|
||||
lazy = "true",
|
||||
build = "make",
|
||||
cmd = "CodeSnapPreviewOn",
|
||||
build = "make build_generator",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("codesnap").setup({
|
||||
mac_window_bar = true, -- (Optional) MacOS style title bar switch
|
||||
opacity = true, -- (Optional) The code snap has some opacity by default, set it to false for 100% opacity
|
||||
watermark = "joshp", -- (Optional) you can custom your own watermark, but if you don't like it, just set it to ""
|
||||
preview_title = "CodeSnap.nvim", -- (Optional) preview page title
|
||||
bg_theme = "summer",
|
||||
has_line_number = true,
|
||||
mac_window_bar = true, -- macOS-style title bar
|
||||
watermark = "", -- no watermark
|
||||
has_line_number = true, -- show line numbers
|
||||
has_breadcrumbs = false, -- disable breadcrumbs
|
||||
show_workspace = false, -- disable workspace name
|
||||
bg_theme = "sea", -- background theme
|
||||
code_font_family = "SauceCodePro Nerd Font", -- your preferred font
|
||||
save_path = "~/Pictures", -- save directory
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -21,12 +21,16 @@ return {
|
||||
|
||||
mason_tool_installer.setup({
|
||||
ensure_installed = {
|
||||
"prettier", -- prettier formatter
|
||||
"stylua", -- lua formatter
|
||||
"isort", -- python formatter
|
||||
"black", -- python formatter
|
||||
"pylint", -- python linter
|
||||
"eslint_d", -- js linter
|
||||
-- Formatters
|
||||
"prettier",
|
||||
"stylua",
|
||||
"isort",
|
||||
"black",
|
||||
-- Linters
|
||||
"eslint_d",
|
||||
"pylint",
|
||||
-- LSP servers
|
||||
"vtsls", -- better TypeScript/JavaScript LSP (or use "typescript-language-server" for ts_ls)
|
||||
},
|
||||
})
|
||||
end,
|
||||
@@ -41,7 +45,6 @@ return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
lazy = false,
|
||||
-- This table is used in the config function (below) for vim.diagnostic.config()
|
||||
opts = {
|
||||
diagnostics = {
|
||||
underline = true,
|
||||
@@ -66,7 +69,7 @@ return {
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
-- 1) Use opts.diagnostics to configure diagnostic signs
|
||||
-- 1) Configure diagnostics
|
||||
local diag = opts.diagnostics or {}
|
||||
if diag.signs and diag.signs.text then
|
||||
local sign_config = {}
|
||||
@@ -82,7 +85,7 @@ return {
|
||||
})
|
||||
end
|
||||
|
||||
-- 2) Set up capabilities and each LSP
|
||||
-- 2) Set up capabilities
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
capabilities.offsetEncoding = { "utf-16" }
|
||||
capabilities.textDocument.foldingRange = {
|
||||
@@ -90,51 +93,78 @@ return {
|
||||
lineFoldingOnly = true,
|
||||
}
|
||||
|
||||
local lspconfig = require("lspconfig")
|
||||
-- 3) Setup LSP servers using vim.lsp.config
|
||||
|
||||
-- Example LSPs
|
||||
lspconfig.ts_ls.setup({
|
||||
-- TypeScript/JavaScript (using vtsls for better refactoring support)
|
||||
vim.lsp.config("vtsls", {
|
||||
capabilities = capabilities,
|
||||
filetypes = { "javascript", "javascriptreact", "typescript", "typescriptreact" },
|
||||
})
|
||||
lspconfig.html.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.gopls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig.svelte.setup({
|
||||
|
||||
-- HTML
|
||||
vim.lsp.config("html", {
|
||||
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)
|
||||
-- Use a pattern to find the venv path in the workspace directory
|
||||
local venv_path = lspconfig.util.path.join(workspace, "venv", "bin", "python")
|
||||
return venv_path
|
||||
-- 1) Workspace-local venv: <workspace>/venv/bin/python
|
||||
if workspace and workspace ~= "" then
|
||||
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
|
||||
lspconfig.pyright.setup({
|
||||
|
||||
vim.lsp.config("pyright", {
|
||||
capabilities = capabilities,
|
||||
before_init = function(_, config)
|
||||
config.settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
pythonPath = get_python_path(config.root_dir),
|
||||
},
|
||||
before_init = function(params, config)
|
||||
-- Try a few ways to get a sane workspace path
|
||||
local workspace = config.root_dir
|
||||
or (params.rootUri and vim.uri_to_fname(params.rootUri))
|
||||
or vim.loop.cwd()
|
||||
|
||||
config.settings = config.settings or {}
|
||||
config.settings.python = config.settings.python or {}
|
||||
|
||||
config.settings.python.analysis = {
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
}
|
||||
end,
|
||||
on_attach = function(client, bufnr)
|
||||
-- Optional: additional setup such as key mappings, etc.
|
||||
|
||||
config.settings.python.pythonPath = get_python_path(workspace)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Rust
|
||||
lspconfig.rust_analyzer.setup({
|
||||
vim.lsp.config("rust_analyzer", {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
["rust-analyzer"] = {},
|
||||
@@ -142,18 +172,8 @@ return {
|
||||
})
|
||||
|
||||
-- C/C++ (clangd)
|
||||
lspconfig.clangd.setup({
|
||||
vim.lsp.config("clangd", {
|
||||
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 = {
|
||||
"clangd",
|
||||
"--background-index",
|
||||
@@ -166,67 +186,85 @@ return {
|
||||
"-j=12",
|
||||
"--header-insertion-decorators",
|
||||
},
|
||||
root_dir = function(fname)
|
||||
return require("lspconfig.util").root_pattern(
|
||||
"Makefile",
|
||||
"configure.ac",
|
||||
"configure.in",
|
||||
"config.h.in",
|
||||
"meson.build",
|
||||
"meson_options.txt",
|
||||
"build.ninja"
|
||||
)(fname) or require("lspconfig.util").root_pattern(
|
||||
"compile_commands.json",
|
||||
"compile_flags.txt"
|
||||
)(fname) or require("lspconfig.util").find_git_ancestor(fname)
|
||||
root_markers = {
|
||||
"Makefile",
|
||||
"configure.ac",
|
||||
"configure.in",
|
||||
"config.h.in",
|
||||
"meson.build",
|
||||
"meson_options.txt",
|
||||
"build.ninja",
|
||||
"compile_commands.json",
|
||||
"compile_flags.txt",
|
||||
".git",
|
||||
},
|
||||
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,
|
||||
})
|
||||
|
||||
-- UFO setup
|
||||
require("ufo").setup()
|
||||
|
||||
-- 3) Global LspAttach mappings
|
||||
-- 4) Global LspAttach mappings
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
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("n", "]d", vim.diagnostic.goto_next, { desc = "Go to next diagnostic" })
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts, { desc = "Go to declaration" })
|
||||
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<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(
|
||||
"n",
|
||||
"gd",
|
||||
require("telescope.builtin").lsp_definitions,
|
||||
opts,
|
||||
{ desc = "Go to definition" }
|
||||
{ buffer = ev.buf, desc = "Go to definition" }
|
||||
)
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"gr",
|
||||
require("telescope.builtin").lsp_references,
|
||||
opts,
|
||||
{ desc = "Go to references" }
|
||||
{ buffer = ev.buf, desc = "Go to references" }
|
||||
)
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"gi",
|
||||
require("telescope.builtin").lsp_implementations,
|
||||
opts,
|
||||
{ desc = "Go to implementations" }
|
||||
{ buffer = ev.buf, desc = "Go to implementations" }
|
||||
)
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts, { desc = "Rename" })
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = ev.buf, desc = "Hover" })
|
||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { buffer = ev.buf, desc = "Rename" })
|
||||
vim.keymap.set(
|
||||
{ "n", "v" },
|
||||
"<leader>ca",
|
||||
require("actions-preview").code_actions,
|
||||
opts,
|
||||
{ desc = "Code actions" }
|
||||
{ buffer = ev.buf, desc = "Code actions" }
|
||||
)
|
||||
vim.keymap.set("n", "<leader>f", function()
|
||||
vim.lsp.buf.format({ async = true })
|
||||
end, opts, { desc = "Format" })
|
||||
end, { buffer = ev.buf, desc = "Format" })
|
||||
end,
|
||||
})
|
||||
end,
|
||||
|
||||
Submodule tmux/.tmux/plugins/tmux updated: c2b1d67cbd...91a1e09b3d
Submodule tmux/.tmux/plugins/vim-tmux-navigator updated: 5b3c701686...c45243dc1f
160
yazi/.config/yazi/theme.toml
Normal file
160
yazi/.config/yazi/theme.toml
Normal 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" }
|
||||
]
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
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)"
|
||||
|
||||
49
zsh/.zshrc
49
zsh/.zshrc
@@ -27,6 +27,16 @@ export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'"
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
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
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
export MallocNanoZone=0
|
||||
@@ -58,6 +68,7 @@ if command -v pyenv 1>/dev/null 2>&1; then
|
||||
fi
|
||||
eval "$(fzf --zsh)"
|
||||
eval "$(~/.local/bin/mise activate zsh)"
|
||||
# eval "$(rbenv init - zsh)"
|
||||
|
||||
# Aliases
|
||||
alias zshconfig="nvim ~/.zshrc"
|
||||
@@ -72,6 +83,27 @@ alias cat=bat
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
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() {
|
||||
skip_all=false
|
||||
run_music=false
|
||||
@@ -158,7 +190,7 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
|
||||
rsync -aHv --delete --chown=navidrome:navidrome \
|
||||
--chmod=F644,D755 \
|
||||
-e 'ssh -p 5222' \
|
||||
-e 'ssh -p 6222' \
|
||||
"/Volumes/Crucial X8/Media/Music/" \
|
||||
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"
|
||||
[ -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
|
||||
|
||||
[[ "$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
|
||||
|
||||
Reference in New Issue
Block a user