summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranand <anand.panchdhari@gmail.com>2026-04-06 23:55:30 +0530
committeranand <anand.panchdhari@gmail.com>2026-04-06 23:55:30 +0530
commitacf9fdb09419dbd1e5921ea4d8b837bf440ee859 (patch)
treedf4e6361a7cc7003cb1021375b38425e044bf1bc
parent76f6235bcd178cc5c28cc4fbf0d09fafb1f63a9b (diff)
Nvim config rearranged and neovide addedmain
-rwxr-xr-xhome.nix1
-rw-r--r--[-rwxr-xr-x]nvim/init.lua128
-rwxr-xr-xnvim/lua/config/init.lua4
-rw-r--r--nvim/lua/config/keymap.lua27
-rw-r--r--nvim/lua/config/lsp.lua23
-rw-r--r--nvim/lua/config/options.lua32
-rw-r--r--nvim/lua/config/pack.lua89
-rw-r--r--nvim/nvim-pack-lock.json100
8 files changed, 217 insertions, 187 deletions
diff --git a/home.nix b/home.nix
index 75a96e2..420a93d 100755
--- a/home.nix
+++ b/home.nix
@@ -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"
}
}
}