neovim v0.12 config in one file The article presents a Neovim v0.12 configuration stored in a single `init.lua` file. It includes plugin management via `vim.pack.add`, a custom Dracula color scheme, and configurations for LSP, diagnostics, autocompletion with `blink.cmp`, code formatting with `conform.nvim`, and cursor smoothing with `smear_cursor.nvim`. The setup also defines the leader key as comma and enables language servers for Lua, C, and Rust. Created November 16, 2025 00:43 - - Save whexy/15e2eee18048b0176f5796591e651455 to your computer and use it in GitHub Desktop. neovim v0.12 config in one file This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters https://github.co/hiddenchars | vim.g.mapleader = "," | | | vim.g.maplocalleader = "," | | | -- color scheme | | | vim.pack.add { | | | { src = 'https://github.com/Mofiqul/dracula.nvim' }, | | | { src = "https://github.com/neovim/nvim-lspconfig" }, | | | { src = "https://github.com/rachartier/tiny-inline-diagnostic.nvim" }, | | | { src = "https://github.com/saghen/blink.cmp" }, | | | { src = "https://github.com/stevearc/conform.nvim" }, | | | { src = "https://github.com/sphamba/smear-cursor.nvim" }, | | | { src = "https://github.com/gbprod/yanky.nvim" }, | | | { src = "https://github.com/nvim-lua/plenary.nvim" }, | | | { src = "https://github.com/nvim-telescope/telescope.nvim" }, | | | { src = "https://github.com/akinsho/bufferline.nvim" }, | | | { src = "https://github.com/nvim-neo-tree/neo-tree.nvim" }, | | | { src = "https://github.com/nvim-lua/plenary.nvim" }, | | | { src = "https://github.com/MunifTanjim/nui.nvim" }, | | | { src = "https://github.com/nvim-tree/nvim-web-devicons" }, | | | } | | | require "dracula" .setup { | | | colors = { | | | bg = " 29202B", -- hsl 289,14%,15% | | | fg = " F7F7F1", -- hsl 60,30%,96% | | | red = " FF947F", -- hsl 10,100%,75% | | | orange = " FFC97F", -- hsl 35,100%,75% | | | yellow = " FEFF7F", -- hsl 60,100%,75% | | | green = " 8AFF7F", -- hsl 115,100%,75% | | | cyan = " 7FFFE9", -- hsl 170,100%,75% | | | blue = " 7FBFFF", -- hsl 210,100%,75% | | | pink = " FF7FBF", -- hsl 330,100%,75% | | | purple = " 947FFF", -- hsl 250,100%,75% | | | shadow = " 000000", -- hsl 0,0%,0% | | | darken = " 212121", -- hsl 0,0%,13% | | | selection = " 534157", -- color bg s 15% l 30% | | | comment = " 9E6FA8", -- color bg s 25% l 55% | | | visual = " 492F4F", -- color bg s 25% l 25% | | | stack = " E77FFF", -- color comment s 100% l 75% | | | bright red = " FFBFB2", -- red l+10% | | | bright orange = " FFDFB2", -- orange l+10% | | | bright yellow = " FFFFB2", -- yellow l+10% | | | bright green = " B8FFB2", -- green l+10% | | | bright cyan = " B2FFF2", -- cyan l+10% | | | bright blue = " B2D8FF", -- blue l+10% | | | bright pink = " FFB2D8", -- pink l+10% | | | bright purple = " BFB2FF", -- purple l+10% | | | bright white = " FFFFFF", -- pure white | | | white = " F7F7F1", -- same as fg | | | black = " 000000", -- same as shadow | | | menu = " 241C25", -- bg.l - 2 | | | gutter fg = " 84568F", -- comment.l - 10 | | | nontext = " 584D5A", -- invisibles: color comment s×0.3, l×0.6 | | | }, | | | transparent bg = false, | | | overrides = { | | | NormalFloat = { bg = " 241C25" }, | | | FloatBorder = { fg = " BFB2FF", bg = " 241C25" }, | | | NoiceCmdlinePopupBorder = { fg = " BFB2FF" }, | | | }, | | | } | | | vim.cmd.colorscheme "dracula" | | | vim.lsp.enable { "lua ls", "clangd", "rust analyzer" } | | | -- Diagnostic | | | require "tiny-inline-diagnostic" .setup {} | | | vim.diagnostic.config { virtual text = false } | | | -- CMP | | | require "blink.cmp" .setup { | | | keymap = { preset = "enter" }, | | | appearance = { | | | nerd font variant = "mono", | | | }, | | | completion = { documentation = { auto show = false } }, | | | sources = { | | | default = { "lsp", "path", "snippets", "buffer" }, | | | }, | | | fuzzy = { implementation = "prefer rust with warning" }, | | | } | | | -- Formatter | | | vim.keymap.set | | | { "n" }, | | | "