Add neovim config
This commit is contained in:
commit
790777c009
23
nvim/init.lua
Normal file
23
nvim/init.lua
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
-- Setup global config
|
||||||
|
require("global")
|
||||||
|
|
||||||
|
-- Load lazy.nvim package manager
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
vim.fn.system({
|
||||||
|
"git",
|
||||||
|
"clone",
|
||||||
|
"--filter=blob:none",
|
||||||
|
"https://github.com/folke/lazy.nvim.git",
|
||||||
|
"--branch=stable", -- latest stable release
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- Set up plugins
|
||||||
|
plugins = require("plugins")
|
||||||
|
lazy = require("lazy")
|
||||||
|
|
||||||
|
lazy.setup(plugins)
|
||||||
|
|
11
nvim/lazy-lock.json
Normal file
11
nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"kanagawa.nvim": { "branch": "master", "commit": "1749cea392acb7d1548a946fcee1e6f1304cd3cb" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "da8b00581a52f5f87ad2aba9f52171fda7491f18" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "deade69789089c3da15237697156334fb3e943f0" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "f2efc5f35743b8383a1b50f727faae94658506d5" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "9ab9b0b894b2388a9dbcdee5f00ce72e25d85bf9" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "bda256fab0eb66a15e8190937e417e6a14ee5d72" },
|
||||||
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "276362a8020c6e94c7a76d49aa00d4923b0c02f3" }
|
||||||
|
}
|
15
nvim/lua/configs/lspconfig.lua
Normal file
15
nvim/lua/configs/lspconfig.lua
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
return function()
|
||||||
|
local configs = require("lspconfig")
|
||||||
|
local on_attach = function(client, buf_number)
|
||||||
|
local buf_opts = { noremap = true, silent = true, buffer = buf_number }
|
||||||
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, buf_opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
configs.tsserver.setup({
|
||||||
|
on_attach = on_attach
|
||||||
|
})
|
||||||
|
configs.astro.setup({
|
||||||
|
on_attach = on_attach
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
5
nvim/lua/configs/lualine.lua
Normal file
5
nvim/lua/configs/lualine.lua
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
return function()
|
||||||
|
local config = require("lualine")
|
||||||
|
config.setup({})
|
||||||
|
end
|
||||||
|
|
8
nvim/lua/configs/presence.lua
Normal file
8
nvim/lua/configs/presence.lua
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
return function()
|
||||||
|
local configs = require("presence").setup({
|
||||||
|
main_image = "file",
|
||||||
|
buttons = false,
|
||||||
|
show_time = false,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
29
nvim/lua/configs/treesitter.lua
Normal file
29
nvim/lua/configs/treesitter.lua
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
return function()
|
||||||
|
local configs = require("nvim-treesitter.configs");
|
||||||
|
configs.setup({
|
||||||
|
ensure_installed = {
|
||||||
|
-- nvim
|
||||||
|
"vim", "vimdoc", "lua",
|
||||||
|
-- shell
|
||||||
|
"bash", -- "nu",
|
||||||
|
-- rust
|
||||||
|
"rust", "toml",
|
||||||
|
-- python
|
||||||
|
"python",
|
||||||
|
-- webdev
|
||||||
|
"html", "css", "scss", "typescript", "tsx", "astro",
|
||||||
|
-- markdown
|
||||||
|
"markdown",
|
||||||
|
-- nix
|
||||||
|
"nix",
|
||||||
|
-- latex
|
||||||
|
"latex", "bibtex",
|
||||||
|
-- misc
|
||||||
|
"gitignore", "yaml", "regex",
|
||||||
|
},
|
||||||
|
sync_install = false,
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
19
nvim/lua/global.lua
Normal file
19
nvim/lua/global.lua
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
local g = vim.g
|
||||||
|
local o = vim.o
|
||||||
|
local opt = vim.opt
|
||||||
|
|
||||||
|
-- Indentation
|
||||||
|
opt.tabstop = 2
|
||||||
|
opt.smartindent = true
|
||||||
|
opt.shiftwidth = 2
|
||||||
|
opt.expandtab = true
|
||||||
|
|
||||||
|
-- Line numbers
|
||||||
|
opt.number = true
|
||||||
|
|
||||||
|
vim.filetype.add({
|
||||||
|
extension = {
|
||||||
|
mdx = "mdx"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
34
nvim/lua/plugins.lua
Normal file
34
nvim/lua/plugins.lua
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
config = require "configs/lspconfig",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
config = require "configs/treesitter",
|
||||||
|
build = ":TSUpdate",
|
||||||
|
init = function()
|
||||||
|
vim.treesitter.language.register("markdown", "mdx")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"andweeb/presence.nvim",
|
||||||
|
config = require "configs/presence",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-lualine/lualine.nvim",
|
||||||
|
config = require "configs/lualine",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"rebelot/kanagawa.nvim",
|
||||||
|
init = function()
|
||||||
|
vim.cmd("colorscheme kanagawa")
|
||||||
|
end
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue