From 349645a9ca5ac4f4c34a767f832ec341f2bc1d6f Mon Sep 17 00:00:00 2001 From: AeroGlory Date: Sun, 4 Jan 2026 03:02:38 -0500 Subject: [PATCH] Init --- init.lua | 4 ++++ lazy-lock.json | 21 +++++++++++++++++ lua/aeroglory/init.lua | 8 +++++++ lua/config/lazy.lua | 35 ++++++++++++++++++++++++++++ lua/plugins/barbar.lua | 11 +++++++++ lua/plugins/lsp/lsp.lua | 29 ++++++++++++++++++++++++ lua/plugins/lsp/mason.lua | 4 ++++ lua/plugins/lsp/masonlsp.lua | 8 +++++++ lua/plugins/lualine.lua | 9 ++++++++ lua/plugins/neo-tree.lua | 44 ++++++++++++++++++++++++++++++++++++ lua/plugins/rose-pine.lua | 17 ++++++++++++++ lua/plugins/treesitter.lua | 19 ++++++++++++++++ lua/plugins/trouble.lua | 37 ++++++++++++++++++++++++++++++ 13 files changed, 246 insertions(+) create mode 100644 init.lua create mode 100644 lazy-lock.json create mode 100644 lua/aeroglory/init.lua create mode 100644 lua/config/lazy.lua create mode 100644 lua/plugins/barbar.lua create mode 100644 lua/plugins/lsp/lsp.lua create mode 100644 lua/plugins/lsp/mason.lua create mode 100644 lua/plugins/lsp/masonlsp.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/neo-tree.lua create mode 100644 lua/plugins/rose-pine.lua create mode 100644 lua/plugins/treesitter.lua create mode 100644 lua/plugins/trouble.lua diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..bae81f7 --- /dev/null +++ b/init.lua @@ -0,0 +1,4 @@ +require("config.lazy") +require("aeroglory") + + diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..a18db43 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,21 @@ +{ + "barbar.nvim": { "branch": "master", "commit": "539d73def39c9172b4d4d769f14090e08f37b29d" }, + "coq.artifacts": { "branch": "artifacts", "commit": "ef5f21d638ccc456cfa5b8d0ab37093cefe48c8b" }, + "coq.thirdparty": { "branch": "3p", "commit": "2bd969a2bcd2624f9c260b1000957c7e665e308e" }, + "coq_nvim": { "branch": "coq", "commit": "d8b71757358038fa151fb45c493c3a1e8c3629a3" }, + "gitsigns.nvim": { "branch": "main", "commit": "6bd29494e3f79ff08be1d35bc1926ed23c22ed9a" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "4cfe411526a7a99c18281135e8b4765ae6330d15" }, + "mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac04ec3c2af08e9821b4eb64ede86072b9b213bf" }, + "nvim-treesitter": { "branch": "main", "commit": "300b906a9514d5e0ce02911d371445382fe35a31" }, + "nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" }, + "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" }, + "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" } +} diff --git a/lua/aeroglory/init.lua b/lua/aeroglory/init.lua new file mode 100644 index 0000000..347c8d1 --- /dev/null +++ b/lua/aeroglory/init.lua @@ -0,0 +1,8 @@ +--AeroGlory's config for NeoVim :3 +vim.opt.relativenumber = true +vim.opt.number = true +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 + +vim.opt.foldmethod = marker diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua new file mode 100644 index 0000000..b8844fc --- /dev/null +++ b/lua/config/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Make sure to setup `mapleader` and `maplocalleader` before +-- loading lazy.nvim so that mappings are correct. +-- This is also a good place to setup other settings (vim.opt) +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + { import = "plugins" }, + { import = "plugins.lsp"} + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "rose-pine" } }, + -- automatically check for plugin updates + checker = { enabled = true }, +}) diff --git a/lua/plugins/barbar.lua b/lua/plugins/barbar.lua new file mode 100644 index 0000000..2b4620c --- /dev/null +++ b/lua/plugins/barbar.lua @@ -0,0 +1,11 @@ +return +{ 'romgrk/barbar.nvim', + dependencies = { + 'lewis6991/gitsigns.nvim', + 'nvim-tree/nvim-web-devicons', + }, + init = function() vim.g.barbar_auto_setup = false end, + opts = { + animation = true, + }, + } diff --git a/lua/plugins/lsp/lsp.lua b/lua/plugins/lsp/lsp.lua new file mode 100644 index 0000000..4edcc32 --- /dev/null +++ b/lua/plugins/lsp/lsp.lua @@ -0,0 +1,29 @@ +return { + "neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration + lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup + dependencies = { + -- main one + { "ms-jpq/coq_nvim", branch = "coq" }, + + -- 9000+ Snippets + { "ms-jpq/coq.artifacts", branch = "artifacts" }, + + -- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty + -- Need to **configure separately** + { 'ms-jpq/coq.thirdparty', branch = "3p" } + -- - shell repl + -- - nvim lua api + -- - scientific calculator + -- - comment banner + -- - etc + }, + init = function() + vim.g.coq_settings = { + auto_start = 'shut-up', -- if you want to start COQ at startup + -- Your COQ settings here + } + end, + config = function() + -- Your LSP settings here + end, +} diff --git a/lua/plugins/lsp/mason.lua b/lua/plugins/lsp/mason.lua new file mode 100644 index 0000000..08a7e84 --- /dev/null +++ b/lua/plugins/lsp/mason.lua @@ -0,0 +1,4 @@ +return { + "mason-org/mason.nvim", + opts = {} +} diff --git a/lua/plugins/lsp/masonlsp.lua b/lua/plugins/lsp/masonlsp.lua new file mode 100644 index 0000000..90ba6ea --- /dev/null +++ b/lua/plugins/lsp/masonlsp.lua @@ -0,0 +1,8 @@ +return { + "mason-org/mason-lspconfig.nvim", + opts = {}, + dependencies = { + { "mason-org/mason.nvim", opts = {} }, + "neovim/nvim-lspconfig", + }, +} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..847ade4 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,9 @@ +return { + 'nvim-lualine/lualine.nvim', + + dependencies = {'nvim-tree/nvim-web-devicons'}, + + config = function() + require('lualine').setup({options = { theme = 'horizon' }}) + end +} diff --git a/lua/plugins/neo-tree.lua b/lua/plugins/neo-tree.lua new file mode 100644 index 0000000..03a4fb5 --- /dev/null +++ b/lua/plugins/neo-tree.lua @@ -0,0 +1,44 @@ +vim.g.loaded_netrw = 1 +vim.g.loaded_netrwPlugin = 1 + +return { + { + "nvim-neo-tree/neo-tree.nvim", + branch = "v3.x", + dependencies = { + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + "nvim-tree/nvim-web-devicons", + }, + }, + { + "antosha417/nvim-lsp-file-operations", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-neo-tree/neo-tree.nvim", -- makes sure that this loads after Neo-tree. + }, + config = function() + require("lsp-file-operations").setup() + end, + }, + { + "s1n7ax/nvim-window-picker", + version = "2.*", + config = function() + require("window-picker").setup({ + filter_rules = { + include_current_win = false, + autoselect_one = true, + -- filter using buffer options + bo = { + -- if the file type is one of following, the window will be ignored + filetype = { "neo-tree", "neo-tree-popup", "notify" }, + -- if the buffer type is one of following, the window will be ignored + buftype = { "terminal", "quickfix" }, + }, + }, + }) + end, + }, +} + diff --git a/lua/plugins/rose-pine.lua b/lua/plugins/rose-pine.lua new file mode 100644 index 0000000..47ddabb --- /dev/null +++ b/lua/plugins/rose-pine.lua @@ -0,0 +1,17 @@ +-- lua/plugins/rose-pine.lua + +return { + "rose-pine/neovim", + name = "rose-pine", + config = function() + + require("rose-pine").setup({ + highlight_groups = { + StatusLine = { fg = "love", bg = "love", blend = 10 }, + StatusLineNC = { fg = "subtle", bg = "surface" }, + }, + }) + + vim.cmd("colorscheme rose-pine") + end +} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua new file mode 100644 index 0000000..7529d7c --- /dev/null +++ b/lua/plugins/treesitter.lua @@ -0,0 +1,19 @@ +return { +'nvim-treesitter/nvim-treesitter', + lazy = false, + build = ':TSUpdate', + config = function() + require'nvim-treesitter'.setup { + ensure_installed = {"help", "vim", "c", "lua", "vimdoc", "python", "json", "rust"}, + + auto_install = true, + + highlight = {enable = true}, + + additional_vim_regex_highlighting = false + } + + vim.wo[0][0].foldexpr = 'v:lua.vim.treesitter.foldexpr()' + vim.wo[0][0].foldmethod = 'expr' + end +} diff --git a/lua/plugins/trouble.lua b/lua/plugins/trouble.lua new file mode 100644 index 0000000..3741f30 --- /dev/null +++ b/lua/plugins/trouble.lua @@ -0,0 +1,37 @@ +return { + "folke/trouble.nvim", + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = "Trouble", + keys = { + { + "xx", + "Trouble diagnostics toggle", + desc = "Diagnostics (Trouble)", + }, + { + "xX", + "Trouble diagnostics toggle filter.buf=0", + desc = "Buffer Diagnostics (Trouble)", + }, + { + "cs", + "Trouble symbols toggle focus=false", + desc = "Symbols (Trouble)", + }, + { + "cl", + "Trouble lsp toggle focus=false win.position=right", + desc = "LSP Definitions / references / ... (Trouble)", + }, + { + "xL", + "Trouble loclist toggle", + desc = "Location List (Trouble)", + }, + { + "xQ", + "Trouble qflist toggle", + desc = "Quickfix List (Trouble)", + }, + }, +}