diff options
| author | anand <anand.panchdhari@gmail.com> | 2026-04-06 23:55:30 +0530 |
|---|---|---|
| committer | anand <anand.panchdhari@gmail.com> | 2026-04-06 23:55:30 +0530 |
| commit | acf9fdb09419dbd1e5921ea4d8b837bf440ee859 (patch) | |
| tree | df4e6361a7cc7003cb1021375b38425e044bf1bc | |
| parent | 76f6235bcd178cc5c28cc4fbf0d09fafb1f63a9b (diff) | |
Nvim config rearranged and neovide addedmain
| -rwxr-xr-x | home.nix | 1 | ||||
| -rw-r--r--[-rwxr-xr-x] | nvim/init.lua | 128 | ||||
| -rwxr-xr-x | nvim/lua/config/init.lua | 4 | ||||
| -rw-r--r-- | nvim/lua/config/keymap.lua | 27 | ||||
| -rw-r--r-- | nvim/lua/config/lsp.lua | 23 | ||||
| -rw-r--r-- | nvim/lua/config/options.lua | 32 | ||||
| -rw-r--r-- | nvim/lua/config/pack.lua | 89 | ||||
| -rw-r--r-- | nvim/nvim-pack-lock.json | 100 |
8 files changed, 217 insertions, 187 deletions
@@ -140,6 +140,7 @@ in chromium nil lua-language-server + neovide ]; xdg.configFile = builtins.mapAttrs (name: subpath: { diff --git a/nvim/init.lua b/nvim/init.lua index 7e16069..b3fe4e3 100755..100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,127 +1 @@ -vim.g.mapleader = ' ' -vim.o.number = true -vim.o.tabstop = 2 -vim.o.softtabstop = 2 -vim.o.shiftwidth = 2 -vim.o.foldlevel = 2 -vim.o.expandtab = true -vim.o.autoindent = true -vim.o.smartindent = true -vim.o.signcolumn = 'yes' -vim.o.foldlevel = 99 -vim.o.hlsearch = false -vim.o.swapfile = true -vim.o.undodir = os.getenv("HOME") .. "/.vim/undodir" -vim.o.undofile = true -vim.o.smartcase = true -vim.o.ignorecase = true -vim.o.scrolloff = 8 -vim.opt.path:append("**") -vim.o.winborder = 'rounded' -vim.o.foldmethod = 'expr' -vim.o.guifont = 'IntoneMono NF:h10' -vim.o.foldexpr = 'v:lua.vim.lsp.foldexpr()' -vim.api.nvim_create_autocmd('LspAttach', { - callback = function(args) - local client = vim.lsp.get_client_by_id(args.data.client_id) - if client ~= nil and client:supports_method('textDocument/foldingRange') then - local win = vim.api.nvim_get_current_win() - vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()' - end - end, -}) - -vim.api.nvim_create_autocmd("TextYankPost", { - callback = function() - vim.highlight.on_yank() - end, -}) - -vim.cmd("packadd nvim.undotree") -vim.keymap.set("n", "<leader>u", require("undotree").open) - -vim.pack.add { 'https://github.com/stevearc/dressing.nvim' } -- Dependency for flutter tools -vim.pack.add { 'https://github.com/nvim-lua/plenary.nvim' } -- Dependency for flutter tools -vim.pack.add { 'https://github.com/nvim-flutter/flutter-tools.nvim' } -vim.pack.add { 'https://github.com/nvim-mini/mini.icons' } -- Dependency for mini.completion -vim.pack.add { 'https://github.com/nvim-mini/mini.snippets' } -- Dependency for mini.completion - -vim.pack.add { 'https://github.com/lewis6991/gitsigns.nvim' } -vim.pack.add { 'https://github.com/nvim-treesitter/nvim-treesitter' } -vim.pack.add { 'https://github.com/OXY2DEV/markview.nvim' } -vim.pack.add { 'https://github.com/nvim-mini/mini.completion' } -vim.pack.add { 'https://github.com/nvim-mini/mini.surround' } -vim.pack.add { 'https://github.com/nvim-mini/mini.ai' } -vim.pack.add { 'https://github.com/nvim-mini/mini.move' } -vim.pack.add { 'https://github.com/nvim-mini/mini.files' } -vim.pack.add { 'https://github.com/nvim-treesitter/nvim-treesitter-context' } -vim.pack.add { 'https://github.com/echasnovski/mini.pick' } -vim.pack.add { 'https://github.com/onsails/diaglist.nvim' } -vim.pack.add { 'https://github.com/HakonHarnes/img-clip.nvim' } -vim.pack.add { 'https://github.com/akinsho/toggleterm.nvim' } -vim.pack.add { 'https://github.com/mason-org/mason.nvim' } -vim.pack.add { 'https://github.com/jghauser/follow-md-links.nvim' } -vim.pack.add { 'https://github.com/rachartier/tiny-inline-diagnostic.nvim' } - -vim.pack.add { "https://github.com/MunifTanjim/nui.nvim" } -- Dependency for laravel.nvim -vim.pack.add { "https://github.com/nvim-lua/plenary.nvim" } -- Dependency for laravel.nvim -vim.pack.add { 'https://github.com/adibhanna/laravel.nvim' } - -vim.pack.add { 'https://github.com/neovim/nvim-lspconfig' } - --- Plugin Setup -require('mason').setup() -require('flutter-tools').setup {} -require('mini.surround').setup() -require('mini.ai').setup() -require('mini.pick').setup() -require('mini.move').setup() -require('mini.files').setup() -require('mini.completion').setup() -require("tiny-inline-diagnostic").setup() -require('toggleterm').setup() -require('diaglist').init() -require('gitsigns').setup() -require("laravel").setup() -require 'treesitter-context'.setup { enable = true } - -vim.cmd.colorscheme('catppuccin') -vim.cmd.hi("StatusLine guibg=NONE") - -vim.api.nvim_create_autocmd("BufWritePre", { - pattern = "*.*", - callback = function() vim.lsp.buf.format() end, -}) - -vim.lsp.enable("lua_ls") - --- Keymaps -vim.keymap.set("i", "", "<C-S-H>", { desc = "Solution for xterm" }) -vim.keymap.set({ "n", "v" }, "j", "gj", { desc = "Personal preference" }) -vim.keymap.set({ "n", "v" }, "k", "gk", { desc = "Personal preference" }) -vim.keymap.set("n", "<leader><space>e", "<cmd>lua MiniFiles.open()<CR>", { desc = 'Open Mini.Files' }) -vim.keymap.set("n", "<leader>cw", require('diaglist').open_all_diagnostics, { desc = 'Open diagnostics' }) -vim.keymap.set("n", "<leader>cl", "<cmd>cclose<cr>", { desc = 'Open diagnostics' }) -vim.keymap.set("n", "<leader>pv", "<cmd>Ex<CR>", { desc = "Open netrw" }) -vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<CR>", { desc = "Open file Picker" }) -vim.keymap.set("n", "<leader>fg", "<cmd>Pick grep_live<CR>", { desc = "Open Live Grep" }) -vim.keymap.set("n", "<C-d>", "<C-d>zz") -vim.keymap.set("n", "<C-u>", "<C-u>zz") -vim.keymap.set("n", "n", "nzzzv") -vim.keymap.set("n", "N", "Nzzzv") -vim.keymap.set({ "n", "v" }, "<leader>y", "\"+y", { desc = "Copy to system clipboard" }) -vim.keymap.set({ "n", "v" }, "<leader>yy", "V\"+y", { desc = "Copy to system clipboard" }) -vim.keymap.set({ "n" }, "<leader>p", "\"+p", { desc = "Paste system clipboard" }) -vim.keymap.set("v", "<leader>d", "\"_d", { desc = "Delete without copying to buffer" }) -vim.keymap.set("n", "<leader>dd", "V\"+d", { desc = "Delete without copying to buffer" }) -vim.keymap.set({ 'n', 'i' }, '<C-l>', '<CMD>tabnext<CR>', { desc = "Move to next tab" }) -vim.keymap.set({ 'n', 'i' }, '<C-h>', '<CMD>tabprevious<CR>', { desc = "Move to previous tab" }) -vim.keymap.set("n", "<C-j>", "<cmd>cnext<CR>zz") -vim.keymap.set("n", "<C-k>", "<cmd>cprev<CR>zz") -vim.keymap.set({ "n", "t" }, "<leader>/", "<cmd>ToggleTerm<CR>") -vim.keymap.set("n", "gx", function() - local url = vim.fn.expand("<cfile>") - vim.fn.jobstart({ "xdg-open", url }, { detach = true }) -end, { desc = "Open URL with xdg-open" }) - -vim.diagnostic.config({ virtual_text = false }) +require('config') diff --git a/nvim/lua/config/init.lua b/nvim/lua/config/init.lua new file mode 100755 index 0000000..511b408 --- /dev/null +++ b/nvim/lua/config/init.lua @@ -0,0 +1,4 @@ +require('config.options') +require('config.pack') +require('config.lsp') +require('config.keymap') diff --git a/nvim/lua/config/keymap.lua b/nvim/lua/config/keymap.lua new file mode 100644 index 0000000..3254529 --- /dev/null +++ b/nvim/lua/config/keymap.lua @@ -0,0 +1,27 @@ +vim.g.mapleader = ' ' +vim.keymap.set("n", "<leader>u", require("undotree").open) +vim.keymap.set("i", "", "<C-S-H>", { desc = "Solution for xterm" }) +vim.keymap.set({ "n", "v" }, "j", "gj", { desc = "Personal preference" }) +vim.keymap.set({ "n", "v" }, "k", "gk", { desc = "Personal preference" }) +vim.keymap.set("n", "<leader><space>e", "<cmd>lua MiniFiles.open()<CR>", { desc = 'Open Mini.Files' }) +vim.keymap.set("n", "<leader>pv", "<cmd>Ex<CR>", { desc = "Open netrw" }) +vim.keymap.set("n", "<leader>ff", "<cmd>Pick files<CR>", { desc = "Open file Picker" }) +vim.keymap.set("n", "<leader>fg", "<cmd>Pick grep_live<CR>", { desc = "Open Live Grep" }) +vim.keymap.set("n", "<C-d>", "<C-d>zz") +vim.keymap.set("n", "<C-u>", "<C-u>zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") +vim.keymap.set({ "n", "v" }, "<leader>y", "\"+y", { desc = "Copy to system clipboard" }) +vim.keymap.set({ "n", "v" }, "<leader>yy", "V\"+y", { desc = "Copy to system clipboard" }) +vim.keymap.set({ "n" }, "<leader>p", "\"+p", { desc = "Paste system clipboard" }) +vim.keymap.set("v", "<leader>d", "\"_d", { desc = "Delete without copying to buffer" }) +vim.keymap.set("n", "<leader>dd", "V\"+d", { desc = "Delete without copying to buffer" }) +vim.keymap.set({ 'n', 'i' }, '<C-l>', '<CMD>tabnext<CR>', { desc = "Move to next tab" }) +vim.keymap.set({ 'n', 'i' }, '<C-h>', '<CMD>tabprevious<CR>', { desc = "Move to previous tab" }) +vim.keymap.set("n", "<C-j>", "<cmd>cnext<CR>zz") +vim.keymap.set("n", "<C-k>", "<cmd>cprev<CR>zz") +vim.keymap.set({ "n", "t" }, "<leader>/", "<cmd>ToggleTerm<CR>") +vim.keymap.set("n", "gx", function() + local url = vim.fn.expand("<cfile>") + vim.fn.jobstart({ "xdg-open", url }, { detach = true }) +end, { desc = "Open URL with xdg-open" }) diff --git a/nvim/lua/config/lsp.lua b/nvim/lua/config/lsp.lua new file mode 100644 index 0000000..95e564c --- /dev/null +++ b/nvim/lua/config/lsp.lua @@ -0,0 +1,23 @@ +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(args) + local client = vim.lsp.get_client_by_id(args.data.client_id) + if client ~= nil and client:supports_method('textDocument/foldingRange') then + local win = vim.api.nvim_get_current_win() + vim.wo[win].foldexpr = 'v:lua.vim.lsp.foldexpr()' + vim.wo[win].foldmethod = 'expr' + end + end, +}) + +vim.api.nvim_create_autocmd("BufWritePre", { + pattern = "*", + callback = function() vim.lsp.buf.format() end, +}) + +vim.lsp.enable( + 'lua_ls', + 'basedpyright', + 'rust-analyzer' +) + +vim.diagnostic.config({ virtual_text = false }) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..bf81eb3 --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,32 @@ +vim.o.number = true +vim.o.tabstop = 2 +vim.o.softtabstop = 2 +vim.o.shiftwidth = 2 +vim.o.foldlevel = 2 +vim.o.expandtab = true +vim.o.autoindent = true +vim.o.smartindent = true +vim.o.signcolumn = 'yes' +vim.o.foldlevel = 99 +vim.o.hlsearch = false +vim.o.swapfile = true +vim.o.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.o.undofile = true +vim.o.smartcase = true +vim.o.ignorecase = true +vim.o.scrolloff = 8 +vim.opt.path:append("**") +vim.o.winborder = 'rounded' +vim.o.foldmethod = 'expr' +vim.o.guifont = 'JetBrainsMono Nerd Font:h10' +vim.o.foldexpr = 'v:lua.vim.lsp.foldexpr()' + +vim.api.nvim_create_autocmd("TextYankPost", { + callback = function() + vim.highlight.on_yank() + end, +}) + +vim.cmd("packadd nvim.undotree") +vim.cmd.colorscheme('catppuccin') +vim.cmd.hi("StatusLine guibg=NONE") diff --git a/nvim/lua/config/pack.lua b/nvim/lua/config/pack.lua new file mode 100644 index 0000000..ba3cd07 --- /dev/null +++ b/nvim/lua/config/pack.lua @@ -0,0 +1,89 @@ +-- Dependencies + +vim.pack.add { + -- Laravel.Nvim + { + src = 'https://github.com/MunifTanjim/nui.nvim', + name = 'nui.nvim' + }, + { + src = 'https://github.com/nvim-lua/plenary.nvim', + name = 'plenary.nvim' + }, +} + +-- Plugins +vim.pack.add { + { + src = 'https://github.com/lewis6991/gitsigns.nvim', + name = 'gitsigns' + }, + { + src = 'https://github.com/nvim-treesitter/nvim-treesitter', + name = 'treesitter' + }, + { + src = 'https://github.com/OXY2DEV/markview.nvim', + name = 'markview' + }, + { + src = 'https://github.com/nvim-mini/mini.surround', + name = 'surround' + }, + { + src = 'https://github.com/nvim-mini/mini.ai', + name = 'ai (around)' + }, + { + src = 'https://github.com/nvim-mini/mini.move', + name = 'move' + }, + { + src = 'https://github.com/nvim-mini/mini.files', + name = 'files' + }, + { + src = 'https://github.com/nvim-treesitter/nvim-treesitter-context', + name = 'treesitter-context' + }, + { + src = 'https://github.com/echasnovski/mini.pick', + name = 'Picker' + }, + { + src = 'https://github.com/HakonHarnes/img-clip.nvim', + name = 'image-clip' + }, + { + src = 'https://github.com/akinsho/toggleterm.nvim', + name = 'toggleterm' + }, + { + src = 'https://github.com/jghauser/follow-md-links.nvim', + name = 'follow-markdown-links' + }, + { + src = 'https://github.com/rachartier/tiny-inline-diagnostic.nvim', + name = 'tiny-inline-diagnostic' + }, + { + src = 'https://github.com/adibhanna/laravel.nvim', + name = 'laravel' + }, + { + src = 'https://github.com/neovim/nvim-lspconfig', + name = 'lspconfig' + }, +} + +require('mini.surround').setup() +require('mini.ai').setup() +require('mini.pick').setup() +require('mini.move').setup() +require('mini.files').setup() +require('mini.completion').setup() +require('tiny-inline-diagnostic').setup() +require('toggleterm').setup() +require('gitsigns').setup() +require('laravel').setup() +require 'treesitter-context'.setup { enable = true } diff --git a/nvim/nvim-pack-lock.json b/nvim/nvim-pack-lock.json index b1e66d4..3b58081 100644 --- a/nvim/nvim-pack-lock.json +++ b/nvim/nvim-pack-lock.json @@ -1,100 +1,80 @@ { "plugins": { - "diaglist.nvim": { - "rev": "8aba9fcf62cc60e1d5ce941faedecc399d9a1e8b", - "src": "https://github.com/onsails/diaglist.nvim" + "Picker": { + "rev": "fd7e7efadddcec3f3d7f3b363a99aa44e7286c65", + "src": "https://github.com/echasnovski/mini.pick" + }, + "ai (around)": { + "rev": "43eb2074843950a3a25aae56a5f41362ec043bfa", + "src": "https://github.com/nvim-mini/mini.ai" }, "dressing.nvim": { "rev": "2d7c2db2507fa3c4956142ee607431ddb2828639", "src": "https://github.com/stevearc/dressing.nvim" }, - "flutter-tools.nvim": { + "files": { + "rev": "ced297546b8fdb8e215d416d4753a735514a2fe0", + "src": "https://github.com/nvim-mini/mini.files" + }, + "flutter-tools": { "rev": "677cc07c16e8b89999108d2ebeefcfc5f539b73c", "src": "https://github.com/nvim-flutter/flutter-tools.nvim" }, - "follow-md-links.nvim": { + "follow-markdown-links": { "rev": "99c4e7c78c0211e02c9ff282044b45f7b9dc2d0f", "src": "https://github.com/jghauser/follow-md-links.nvim" }, - "gitsigns.nvim": { - "rev": "e1fb5425c8812214209b3f24eaa582c6c552cf98", + "gitsigns": { + "rev": "77b813d1aa6a180d903dc744fc81d7e05b138ac2", "src": "https://github.com/lewis6991/gitsigns.nvim" }, - "img-clip.nvim": { + "image-clip": { "rev": "b6ddfb97b5600d99afe3452d707444afda658aca", "src": "https://github.com/HakonHarnes/img-clip.nvim" }, - "laravel.nvim": { - "rev": "623a22de1a54bd6e96839cef1845ffaaf3a1eed1", + "laravel": { + "rev": "a0013e3ee80f09baed482cc79b03b0fc00ea47b0", "src": "https://github.com/adibhanna/laravel.nvim" }, - "markview.nvim": { + "lspconfig": { + "rev": "a776085e04f7b15d0b59fae2244df07d98360ab4", + "src": "https://github.com/neovim/nvim-lspconfig" + }, + "markview": { "rev": "1861f959599ae03cfd59f56222a542035b0cd947", "src": "https://github.com/OXY2DEV/markview.nvim" }, - "mason.nvim": { - "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", - "src": "https://github.com/mason-org/mason.nvim" - }, - "mini.ai": { - "rev": "4b0a6207341d895b6cfe9bcb1e4d3e8607bfe4f4", - "src": "https://github.com/nvim-mini/mini.ai" - }, - "mini.completion": { - "rev": "4f94cafdeef02bf3ef9997cd6862658801caa22c", - "src": "https://github.com/nvim-mini/mini.completion" - }, - "mini.files": { - "rev": "b4796e09eb103f9f2d1e00aa2dab3753b879b17b", - "src": "https://github.com/nvim-mini/mini.files" - }, - "mini.icons": { - "rev": "5b9076dae1bfbe47ba4a14bc8b967cde0ab5d77e", - "src": "https://github.com/nvim-mini/mini.icons" - }, - "mini.move": { - "rev": "b8ba0b77e91b5f0fe8e014e03f7f59799dec1d96", + "move": { + "rev": "74d140143b1bb905c3d0aebcfc2f216fd237080e", "src": "https://github.com/nvim-mini/mini.move" }, - "mini.pick": { - "rev": "fe079c2bd894a5ee70b62f23d819620ef40c4949", - "src": "https://github.com/echasnovski/mini.pick" - }, - "mini.snippets": { - "rev": "c7a5fd5e767dcc732940f59f2a83c64ea7346a3e", - "src": "https://github.com/nvim-mini/mini.snippets" - }, - "mini.surround": { - "rev": "d205d1741d1fcc1f3117b4e839bf00f74ad72fa2", - "src": "https://github.com/nvim-mini/mini.surround" - }, "nui.nvim": { "rev": "de740991c12411b663994b2860f1a4fd0937c130", "src": "https://github.com/MunifTanjim/nui.nvim" }, - "nvim-lspconfig": { - "rev": "8e2084bf5e40c79c1f42210a6ef96a0a4793a763", - "src": "https://github.com/neovim/nvim-lspconfig" - }, - "nvim-treesitter": { - "rev": "539abf6da5ee8702e37b82cc953131dadd570da2", - "src": "https://github.com/nvim-treesitter/nvim-treesitter" - }, - "nvim-treesitter-context": { - "rev": "b0c45cefe2c8f7b55fc46f34e563bc428ef99636", - "src": "https://github.com/nvim-treesitter/nvim-treesitter-context" - }, "plenary.nvim": { "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", "src": "https://github.com/nvim-lua/plenary.nvim" }, - "tiny-inline-diagnostic.nvim": { - "rev": "ba133b3e932416e4b9507095731a6d7276878fe8", + "surround": { + "rev": "2715e04bea3ec9244f15b421dc5b18c0fe326210", + "src": "https://github.com/nvim-mini/mini.surround" + }, + "tiny-inline-diagnostic": { + "rev": "57a0eb84b2008c76e77930639890d9874195b1e1", "src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim" }, - "toggleterm.nvim": { + "toggleterm": { "rev": "9a88eae817ef395952e08650b3283726786fb5fb", "src": "https://github.com/akinsho/toggleterm.nvim" + }, + "treesitter": { + "rev": "4916d6592ede8c07973490d9322f187e07dfefac", + "src": "https://github.com/nvim-treesitter/nvim-treesitter" + }, + "treesitter-context": { + "rev": "b0c45cefe2c8f7b55fc46f34e563bc428ef99636", + "src": "https://github.com/nvim-treesitter/nvim-treesitter-context" } } } |
