From c72b006c67b48761657917c23dfc04dbf38c264e Mon Sep 17 00:00:00 2001 From: FernuDev Date: Sun, 7 Jul 2024 19:02:54 -0600 Subject: [PATCH] feat: add neovim configuration files --- config/nvim/init.lua | 16 +++++++++ config/nvim/init.vim.txt | 45 ++++++++++++++++++++++++++ config/nvim/lazy-lock.json | 15 +++++++++ config/nvim/lua/plugins.lua | 2 ++ config/nvim/lua/plugins/catppuccin.lua | 11 +++++++ config/nvim/lua/plugins/lsp-config.lua | 25 ++++++++++++++ config/nvim/lua/plugins/lualine.lua | 10 ++++++ config/nvim/lua/plugins/neo-tree.lua | 12 +++++++ config/nvim/lua/plugins/telescope.lua | 23 +++++++++++++ config/nvim/lua/plugins/treesitter.lua | 12 +++++++ config/nvim/lua/vim-options.lua | 15 +++++++++ 11 files changed, 186 insertions(+) create mode 100644 config/nvim/init.lua create mode 100644 config/nvim/init.vim.txt create mode 100644 config/nvim/lazy-lock.json create mode 100644 config/nvim/lua/plugins.lua create mode 100644 config/nvim/lua/plugins/catppuccin.lua create mode 100644 config/nvim/lua/plugins/lsp-config.lua create mode 100644 config/nvim/lua/plugins/lualine.lua create mode 100644 config/nvim/lua/plugins/neo-tree.lua create mode 100644 config/nvim/lua/plugins/telescope.lua create mode 100644 config/nvim/lua/plugins/treesitter.lua create mode 100644 config/nvim/lua/vim-options.lua diff --git a/config/nvim/init.lua b/config/nvim/init.lua new file mode 100644 index 0000000..861f3ae --- /dev/null +++ b/config/nvim/init.lua @@ -0,0 +1,16 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or 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) + +require("lazy").setup("plugins") +require("vim-options") + diff --git a/config/nvim/init.vim.txt b/config/nvim/init.vim.txt new file mode 100644 index 0000000..2388fe2 --- /dev/null +++ b/config/nvim/init.vim.txt @@ -0,0 +1,45 @@ +" Basic Configurations +" FernuDev Github - https://github.com/Fernu292 + +set number +set mouse=a +syntax enable +set showcmd +set encoding=utf-8 +set showmatch +set relativenumber + +set expandtab +set tabstop=4 +set shiftwidth=0 +set softtabstop=0 +set autoindent +set smarttab + +call plug#begin() + Plug 'nvim-lualine/lualine.nvim' + Plug 'nvim-tree/nvim-web-devicons' + Plug 'navarasu/onedark.nvim' + Plug 'catppuccin/nvim', { 'as': 'catppuccin' } +call plug#end() + +" Calling the Lualine pluggin + +colorscheme onedark + +lua << END +require('lualine').setup { + options = { + icons_enabled = true, + theme = 'material' + } +} + +require('onedark').setup { + style = "dark", + transparent = true, +} + +require('onedark').load() + +END diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json new file mode 100644 index 0000000..83f0c66 --- /dev/null +++ b/config/nvim/lazy-lock.json @@ -0,0 +1,15 @@ +{ + "catppuccin": { "branch": "main", "commit": "894efb557728e532aa98b98029d16907a214ec05" }, + "lazy.nvim": { "branch": "main", "commit": "dea1f687fe6e15eb3098557a69d44231ebcb6cf5" }, + "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason.nvim": { "branch": "main", "commit": "2af3b574b68dc0273c7fb60369f3a48d5a16a857" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "nui.nvim": { "branch": "main", "commit": "a2bc1e9d0359caa5d11ad967cd1e30e8d4676226" }, + "nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" }, + "nvim-treesitter": { "branch": "master", "commit": "d4a888ae3cff358cb239643c45b2b38bb60e29c6" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" } +} \ No newline at end of file diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua new file mode 100644 index 0000000..a2b4f84 --- /dev/null +++ b/config/nvim/lua/plugins.lua @@ -0,0 +1,2 @@ +return {} + diff --git a/config/nvim/lua/plugins/catppuccin.lua b/config/nvim/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..3b8ac40 --- /dev/null +++ b/config/nvim/lua/plugins/catppuccin.lua @@ -0,0 +1,11 @@ +return { + "catppuccin/nvim", + lazy = false, + name = "catppuccin", + priority = 1000, + config = function() + vim.cmd.colorscheme "catppuccin" + transparent_background = true + end +} + diff --git a/config/nvim/lua/plugins/lsp-config.lua b/config/nvim/lua/plugins/lsp-config.lua new file mode 100644 index 0000000..f41e798 --- /dev/null +++ b/config/nvim/lua/plugins/lsp-config.lua @@ -0,0 +1,25 @@ +return { + { + "williamboman/mason.nvim", + config = function() + require("mason").setup() + end + }, + { + "williamboman/mason-lspconfig.nvim", + config = function() + require("mason-lspconfig").setup({ + ensure_installed = {"lua_ls", "clangd", "cmake", "cssls", "html"} + }) + end + }, + { + "neovim/nvim-lspconfig", + config = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup({}) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) + end + } +} + diff --git a/config/nvim/lua/plugins/lualine.lua b/config/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..bf5923d --- /dev/null +++ b/config/nvim/lua/plugins/lualine.lua @@ -0,0 +1,10 @@ +return { + 'nvim-lualine/lualine.nvim', + config = function() + require('lualine').setup({ + options = { + theme = 'dracula' + } + }) + end +} diff --git a/config/nvim/lua/plugins/neo-tree.lua b/config/nvim/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..da29ce4 --- /dev/null +++ b/config/nvim/lua/plugins/neo-tree.lua @@ -0,0 +1,12 @@ +return { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + "MunifTanjim/nui.nvim", + }, + config = function() + vim.keymap.set('n', '', ':Neotree filesystem reveal left', {}) + end +} diff --git a/config/nvim/lua/plugins/telescope.lua b/config/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..d2b741f --- /dev/null +++ b/config/nvim/lua/plugins/telescope.lua @@ -0,0 +1,23 @@ +return { + { + 'nvim-telescope/telescope.nvim', tag = '0.1.8', + dependencies = { 'nvim-lua/plenary.nvim' }, + config = function() + local builtin = require("telescope.builtin") + vim.keymap.set('n', '', builtin.find_files, {}) + end + }, + { + "nvim-telescope/telescope-ui-select.nvim", + config = function() + require("telescope").setup({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown ({}) + } + } + }) + require("telescope").load_extensions("ui-select") + end + } +} diff --git a/config/nvim/lua/plugins/treesitter.lua b/config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..2006341 --- /dev/null +++ b/config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,12 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + local configs = require("nvim-treesitter.configs") + configs.setup({ + ensure_installed = {"lua", "c", "javascript"}, + highlight = { enable = true }, + indent = { enable = true } + }) + end +} diff --git a/config/nvim/lua/vim-options.lua b/config/nvim/lua/vim-options.lua new file mode 100644 index 0000000..d28b7e8 --- /dev/null +++ b/config/nvim/lua/vim-options.lua @@ -0,0 +1,15 @@ +vim.cmd("set number") +vim.cmd("set mouse=a") +vim.cmd("syntax enable") +vim.cmd("set showcmd") +vim.cmd("set encoding=utf-8") +vim.cmd("set showmatch") +vim.cmd("set relativenumber") +vim.cmd("set expandtab") +vim.cmd("set tabstop=4") +vim.cmd("set shiftwidth=0") +vim.cmd("set softtabstop=0") +vim.cmd("set autoindent") +vim.cmd("set smarttab") +vim.keymap.set('n', '', 'h', {}) +vim.keymap.set('n', '', 'l',{})