From 19b47322e158c82060c05e9536ba053d57141339 Mon Sep 17 00:00:00 2001 From: Francesco Date: Wed, 15 Oct 2025 03:31:23 +0200 Subject: [PATCH] feat(neovide): add initial config files --- nvim-neovide/init.lua | 20 +++++++++++++++ nvim-neovide/lazy-lock.json | 11 +++++++++ nvim-neovide/lua/config/lazy.lua | 23 +++++++++++++++++ nvim-neovide/lua/plugins/blink.lua | 22 +++++++++++++++++ nvim-neovide/lua/plugins/catppuccin.lua | 8 ++++++ nvim-neovide/lua/plugins/lsp.lua | 26 ++++++++++++++++++++ nvim-neovide/lua/plugins/nvim-treesitter.lua | 14 +++++++++++ nvim-neovide/lua/plugins/telescope.lua | 12 +++++++++ nvim-neovide/lua/plugins/which-key.lua | 6 +++++ 9 files changed, 142 insertions(+) create mode 100644 nvim-neovide/init.lua create mode 100644 nvim-neovide/lazy-lock.json create mode 100644 nvim-neovide/lua/config/lazy.lua create mode 100644 nvim-neovide/lua/plugins/blink.lua create mode 100644 nvim-neovide/lua/plugins/catppuccin.lua create mode 100644 nvim-neovide/lua/plugins/lsp.lua create mode 100644 nvim-neovide/lua/plugins/nvim-treesitter.lua create mode 100644 nvim-neovide/lua/plugins/telescope.lua create mode 100644 nvim-neovide/lua/plugins/which-key.lua diff --git a/nvim-neovide/init.lua b/nvim-neovide/init.lua new file mode 100644 index 0000000..3593c41 --- /dev/null +++ b/nvim-neovide/init.lua @@ -0,0 +1,20 @@ +require("config.lazy") + +vim.opt.clipboard = 'unnamedplus' +vim.opt.expandtab = false +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.softtabstop = 4 +vim.opt.relativenumber = false +vim.opt.number = true +vim.opt.termguicolors = true + +--[[ +vim.keymap.set("n", "F", function() + require("conform").format({ async = true }) +end, { desc = "Format file" }) +]] + +vim.keymap.set("n", "n", ":BufferLineCycleNext", { desc = "Go to the next buffer" }) +vim.keymap.set("n", "b", ":BufferLineCyclePrev", { desc = "Go to the previous buffer" }) +vim.keymap.set("n", "q", ":bd", { desc = "Close current buffer" }) diff --git a/nvim-neovide/lazy-lock.json b/nvim-neovide/lazy-lock.json new file mode 100644 index 0000000..465a06e --- /dev/null +++ b/nvim-neovide/lazy-lock.json @@ -0,0 +1,11 @@ +{ + "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, + "catppuccin": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" }, + "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, + "lazy.nvim": { "branch": "main", "commit": "1ea3c4085785f460fb0e46d2fe1ee895f5f9e7c1" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" } +} diff --git a/nvim-neovide/lua/config/lazy.lua b/nvim-neovide/lua/config/lazy.lua new file mode 100644 index 0000000..1c1ff54 --- /dev/null +++ b/nvim-neovide/lua/config/lazy.lua @@ -0,0 +1,23 @@ +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", + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +vim.g.mapleader = " " +vim.g.maplocalleader = "\\" + +require("lazy").setup({ + spec = { + { import = "plugins" }, + }, + install = { colorscheme = { "catppuccin-mocha" } }, + checker = { enabled = true }, +}) diff --git a/nvim-neovide/lua/plugins/blink.lua b/nvim-neovide/lua/plugins/blink.lua new file mode 100644 index 0000000..e4ff6ab --- /dev/null +++ b/nvim-neovide/lua/plugins/blink.lua @@ -0,0 +1,22 @@ +return { + "saghen/blink.cmp", + dependencies = "rafamadriz/friendly-snippets", + version = "*", + opts = { + keymap = { + preset = "default", + [""] = { "show", "show_documentation", "hide_documentation" }, + [""] = { "hide" }, + [""] = { "accept", "fallback" }, + [""] = { "select_next", "fallback" }, + [""] = { "select_prev", "fallback" }, + }, + appearance = { + use_nvim_cmp_as_default = true, + nerd_font_variant = "mono", + }, + sources = { + default = { "lsp", "path", "snippets", "buffer" }, + }, + }, +} diff --git a/nvim-neovide/lua/plugins/catppuccin.lua b/nvim-neovide/lua/plugins/catppuccin.lua new file mode 100644 index 0000000..b70c5fa --- /dev/null +++ b/nvim-neovide/lua/plugins/catppuccin.lua @@ -0,0 +1,8 @@ +return { + "catppuccin/nvim", + name = "catppuccin", + priority = 1000, + config = function() + vim.cmd("colorscheme catppuccin-mocha") + end, +} diff --git a/nvim-neovide/lua/plugins/lsp.lua b/nvim-neovide/lua/plugins/lsp.lua new file mode 100644 index 0000000..f244666 --- /dev/null +++ b/nvim-neovide/lua/plugins/lsp.lua @@ -0,0 +1,26 @@ +return { + "neovim/nvim-lspconfig", + event = { "BufReadPre", "BufNewFile" }, + dependencies = { "saghen/blink.cmp" }, + config = function() + local capabilities = require("blink.cmp").get_lsp_capabilities() + + vim.lsp.config["clangd"] = { + cmd = { "clangd" }, + filetypes = { "c", "cpp" }, + capabilities = capabilities, + } + + vim.lsp.enable("clangd") + + vim.api.nvim_create_autocmd("LspAttach", { + callback = function(args) + local opts = { buffer = args.buf } + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) + vim.keymap.set("n", "K", vim.lsp.buf.hover, opts) + vim.keymap.set("n", "ca", vim.lsp.buf.code_action, opts) + vim.keymap.set("n", "F", vim.lsp.buf.format, opts) + end, + }) + end, +} diff --git a/nvim-neovide/lua/plugins/nvim-treesitter.lua b/nvim-neovide/lua/plugins/nvim-treesitter.lua new file mode 100644 index 0000000..eb380b3 --- /dev/null +++ b/nvim-neovide/lua/plugins/nvim-treesitter.lua @@ -0,0 +1,14 @@ +return { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + config = function() + local configs = require("nvim-treesitter.configs") + + configs.setup({ + ensure_installed = { "c", "lua", "vim", "vimdoc", "markdown" }, + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end, +} diff --git a/nvim-neovide/lua/plugins/telescope.lua b/nvim-neovide/lua/plugins/telescope.lua new file mode 100644 index 0000000..d1af9de --- /dev/null +++ b/nvim-neovide/lua/plugins/telescope.lua @@ -0,0 +1,12 @@ +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", "ff", builtin.find_files, { desc = "Find files" }) + vim.keymap.set("n", "fg", builtin.live_grep, { desc = "Live grep files" }) + vim.keymap.set("n", "fb", builtin.buffers, { desc = "Find buffers" }) + vim.keymap.set("n", "fh", builtin.help_tags, { desc = "Help tags" }) + end, +} diff --git a/nvim-neovide/lua/plugins/which-key.lua b/nvim-neovide/lua/plugins/which-key.lua new file mode 100644 index 0000000..3a293be --- /dev/null +++ b/nvim-neovide/lua/plugins/which-key.lua @@ -0,0 +1,6 @@ +return { + "folke/which-key.nvim", + event = "VeryLazy", + opts = {}, + keys = {}, +}