vim.o.number = true vim.o.signcolumn = "yes" vim.o.winborder = "rounded" vim.g.loaded_perl_provider = 0 vim.g.airline_powerline_fonts = 1 vim.cmd([[set listchars=tab:▸\ ,eol:¬]]) vim.keymap.set("n", "r", ":edit $MYVIMRC") vim.keymap.set("n", "f", vim.lsp.buf.format) vim.keymap.set("n", "D", vim.lsp.buf.definition) vim.keymap.set("n", "U", function() MiniExtra.pickers.lsp({ scope = "references" }) end) vim.keymap.set("n", "p", vim.lsp.buf.hover, { desc = "LSP Hover" }) vim.keymap.set("n", "l", ":set list!") vim.keymap.set("n", "]", ":bn") vim.keymap.set("n", "[", ":bp") vim.keymap.set("n", "d", ":bd") vim.keymap.set("n", "", ":nohlsearch") vim.keymap.set("n", "", "zz") vim.keymap.set("n", "w", ":update") vim.keymap.set("n", "", ":Pick files") vim.keymap.set("n", "h", ":Pick help") vim.keymap.set("n", "cz", function() require("chezmoi.pick").mini() end) -- Pick from chezmoi managed files vim.pack.add( { { src = "https://github.com/nvim-lua/plenary.nvim" }, -- Base functions library { src = "https://github.com/folke/lazydev.nvim" }, -- Lua Vim types { src = "https://github.com/andythigpen/nvim-coverage" }, -- Code coverage visualuzer { src = "https://github.com/echasnovski/mini.icons" }, -- Icons for Ctrl-P { src = "https://github.com/echasnovski/mini.pick" }, -- Ctrl-P Alternative { src = "https://github.com/echasnovski/mini.extra" }, -- Additional things for mini tools { src = "https://github.com/lewis6991/gitsigns.nvim" }, -- Show git changes in the gutter { src = "https://github.com/neovim/nvim-lspconfig" }, -- Common LSP Configurations { src = "https://github.com/sbdchd/neoformat" }, -- Formatter { src = "https://github.com/tpope/vim-fugitive" }, -- Git bindings { src = "https://github.com/vim-airline/vim-airline-themes" }, -- Status bar theme { src = "https://github.com/vim-airline/vim-airline" }, -- Status bar { src = "https://github.com/rebelot/kanagawa.nvim" }, -- Theme { src = "https://github.com/mfussenegger/nvim-lint" }, -- Linter { src = "https://github.com/rachartier/tiny-inline-diagnostic.nvim" }, -- Inline diagnostics { src = "https://github.com/j-hui/fidget.nvim" }, -- LSP Status Popup { src = "https://github.com/xvzc/chezmoi.nvim" }, -- Chezmoi dotfiles manager } ) -- Airline vim.cmd [[ let g:airline#extensions#tabline#enabled = 1 ]] -- Ctrl-P require("mini.pick").setup() require("mini.icons").setup() require("mini.extra").setup() -- Coverage require("coverage").setup() -- Lint require("lint").linters_by_ft = { sh = { "shellcheck" } } vim.api.nvim_create_autocmd({ "BufWritePost" }, { callback = function() require("lint").try_lint() end, }) -- Theme vim.cmd.colorscheme "kanagawa-dragon" -- LSP vim.lsp.enable({ "lua_ls", "ts_ls", "bashls", "yamlls" }) vim.lsp.config("lua_ls", { settings = { Lua = { workspace = { library = vim.api.nvim_get_runtime_file("", true), } } } }) -- Fidget require("fidget").setup { } -- Diagnostic require('tiny-inline-diagnostic').setup() vim.diagnostic.config({ virtual_text = false }) -- Chezmoi require("chezmoi").setup { edit = { watch = false, force = false, ignore_patterns = { "run_onchange_.*", "run_once_.*", "%.chezmoiignore", "%.chezmoitemplate", -- Add custom patterns here }, }, events = { on_open = { notification = { enable = true, msg = "Opened a chezmoi-managed file", opts = {}, }, }, on_watch = { notification = { enable = true, msg = "This file will be automatically applied", opts = {}, }, }, on_apply = { notification = { enable = true, msg = "Successfully applied", opts = {}, }, }, }, }