my dotfiles
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(nvim): add LazyVim configuration with custom plugins and settings

+316
+8
nvim/.gitignore
··· 1 + tt.* 2 + .tests 3 + doc/tags 4 + debug 5 + .repro 6 + foo.* 7 + *.log 8 + data
+15
nvim/.neoconf.json
··· 1 + { 2 + "neodev": { 3 + "library": { 4 + "enabled": true, 5 + "plugins": true 6 + } 7 + }, 8 + "neoconf": { 9 + "plugins": { 10 + "lua_ls": { 11 + "enabled": true 12 + } 13 + } 14 + } 15 + }
+2
nvim/init.lua
··· 1 + -- bootstrap lazy.nvim, LazyVim and your plugins 2 + require("config.lazy")
+37
nvim/lazy-lock.json
··· 1 + { 2 + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, 3 + "LazyVim": { "branch": "main", "commit": "d0c366e4d861b848bdc710696d5311dca2c6d540" }, 4 + "blink.cmp": { "branch": "main", "commit": "5b0f52d42ecbb374695da1a93fa40eca4dc7a7ff" }, 5 + "bufferline.nvim": { "branch": "main", "commit": "9f0826ae6adfd836a23bf8a4910e3c07450211f4" }, 6 + "catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" }, 7 + "conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" }, 8 + "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, 9 + "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" }, 10 + "fzf-lua": { "branch": "main", "commit": "2b6fb06da75c4eb1381ac66d89a8c4485435f1e9" }, 11 + "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, 12 + "grug-far.nvim": { "branch": "main", "commit": "08f32182335754abf461dfb77b2c4e24bfe4d614" }, 13 + "lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" }, 14 + "lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" }, 15 + "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, 16 + "mason-lspconfig.nvim": { "branch": "main", "commit": "97d9f1d3ad205dece6bcafd1d71cf1507608f3c7" }, 17 + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, 18 + "mini.ai": { "branch": "main", "commit": "ebb04799794a7f94628153991e6334c3304961b8" }, 19 + "mini.icons": { "branch": "main", "commit": "1c79feb7478ca773fa3dac5cadf43ced9180e861" }, 20 + "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, 21 + "neo-tree.nvim": { "branch": "main", "commit": "e6645ecfcba3e064446a6def1c10d788c9873f51" }, 22 + "noice.nvim": { "branch": "main", "commit": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f" }, 23 + "nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" }, 24 + "nvim-lint": { "branch": "master", "commit": "dfa45de973c3ce7bd1b9a6d346f896a68ad07e44" }, 25 + "nvim-lspconfig": { "branch": "master", "commit": "8121483b8132b7053120fafd83728178fb3febf6" }, 26 + "nvim-treesitter": { "branch": "master", "commit": "958af94dd8d74071c72c9d6840b41d06ea436b2f" }, 27 + "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, 28 + "nvim-ts-autotag": { "branch": "main", "commit": "1cca23c9da708047922d3895a71032bc0449c52d" }, 29 + "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, 30 + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, 31 + "snacks.nvim": { "branch": "main", "commit": "14e89401da348f5d14509fca164fb7bcec83e597" }, 32 + "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, 33 + "tokyonight.nvim": { "branch": "main", "commit": "7bb270adaa7692c2c33befc35f5567fc596a2504" }, 34 + "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, 35 + "ts-comments.nvim": { "branch": "main", "commit": "872dcfa0418f4a33b7437fb4d9f4e89f2f000d74" }, 36 + "which-key.nvim": { "branch": "main", "commit": "1f8d414f61e0b05958c342df9b6a4c89ce268766" } 37 + }
+9
nvim/lazyvim.json
··· 1 + { 2 + "extras": [ 3 + 4 + ], 5 + "news": { 6 + "NEWS.md": "10960" 7 + }, 8 + "version": 7 9 + }
+15
nvim/lua/config/autocmds.lua
··· 1 + -- Autocmds are automatically loaded on the VeryLazy event 2 + -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua 3 + -- 4 + -- Add any additional autocmds here 5 + -- with `vim.api.nvim_create_autocmd` 6 + -- 7 + -- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults) 8 + -- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell") 9 + 10 + vim.api.nvim_create_autocmd("FileType", { 11 + pattern = { "markdown", "text" }, 12 + callback = function() 13 + vim.opt_local.spell = false 14 + end, 15 + })
+3
nvim/lua/config/keymaps.lua
··· 1 + -- Keymaps are automatically loaded on the VeryLazy event 2 + -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua 3 + -- Add any additional keymaps here
+60
nvim/lua/config/lazy.lua
··· 1 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 + if not (vim.uv or vim.loop).fs_stat(lazypath) then 3 + local lazyrepo = "https://github.com/folke/lazy.nvim.git" 4 + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) 5 + if vim.v.shell_error ~= 0 then 6 + vim.api.nvim_echo({ 7 + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, 8 + { out, "WarningMsg" }, 9 + { "\nPress any key to exit..." }, 10 + }, true, {}) 11 + vim.fn.getchar() 12 + os.exit(1) 13 + end 14 + end 15 + vim.opt.rtp:prepend(lazypath) 16 + 17 + require("lazy").setup({ 18 + spec = { 19 + -- add LazyVim and import its plugins 20 + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, 21 + -- import/override with your plugins 22 + { import = "plugins" }, 23 + }, 24 + defaults = { 25 + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. 26 + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. 27 + lazy = false, 28 + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, 29 + -- have outdated releases, which may break your Neovim install. 30 + version = false, -- always use the latest git commit 31 + -- version = "*", -- try installing the latest stable version for plugins that support semver 32 + }, 33 + install = { colorscheme = { "tokyonight", "catppuccin" } }, 34 + checker = { 35 + enabled = true, -- check for plugin updates periodically 36 + notify = false, -- notify on update 37 + }, -- automatically check for plugin updates 38 + performance = { 39 + rtp = { 40 + -- disable some rtp plugins 41 + disabled_plugins = { 42 + "gzip", 43 + -- "matchit", 44 + -- "matchparen", 45 + -- "netrwPlugin", 46 + "tarPlugin", 47 + "tohtml", 48 + "tutor", 49 + "zipPlugin", 50 + }, 51 + }, 52 + }, 53 + }) 54 + 55 + require("catppuccin").setup({ 56 + flavour = "mocha", 57 + transparent_background = true, 58 + }) 59 + 60 + vim.cmd.colorscheme "catppuccin"
+4
nvim/lua/config/options.lua
··· 1 + -- Options are automatically loaded before lazy.nvim startup 2 + -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua 3 + -- Add any additional options here 4 + vim.opt.relativenumber = false
+4
nvim/lua/plugins/comment.lua
··· 1 + return { 2 + 'numToStr/Comment.nvim', 3 + opts = {} 4 + }
+3
nvim/lua/plugins/disabled.lua
··· 1 + return { 2 + { "noice.nvim", enabled = false }, 3 + }
+137
nvim/lua/plugins/snacks.lua
··· 1 + local dashboard_config_1 = { 2 + preset = { 3 + -- stylua: ignore 4 + ---@type snacks.dashboard.Item[] 5 + keys = { 6 + { icon = " ", key = "n", desc = "New File", action = ":ene | startinsert" }, 7 + { icon = " ", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" }, 8 + { icon = " ", key = "g", desc = "Find Text", action = ":lua Snacks.dashboard.pick('live_grep')" }, 9 + { icon = " ", key = "e", desc = "File Explorer", action = ":Neotree<CR>" }, 10 + { icon = " ", key = "r", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" }, 11 + { icon = " ", key = "c", desc = "Config", action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})" }, 12 + { icon = " ", key = "s", desc = "Restore Session", section = "session" }, 13 + { icon = " ", key = "x", desc = "Lazy Extras", action = ":LazyExtras" }, 14 + { icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy" }, 15 + { icon = " ", key = "q", desc = "Quit", action = ":qa" }, 16 + }, 17 + }, 18 + sections = { 19 + { 20 + section = "terminal", 21 + -- lolcat -F 0.2 ~/.config/nvim/static/neovim.cat 22 + cmd = "cat ~/.config/nvim/static/neovim.lolcat", 23 + indent = -5, 24 + height = 8, 25 + width = 73, 26 + padding = 3, 27 + }, 28 + { section = 'keys', padding = 2 }, 29 + { 30 + section = 'terminal', 31 + icon = ' ', 32 + title = 'Git Status', 33 + enabled = function() 34 + return Snacks.git.get_root() ~= nil 35 + end, 36 + cmd = 'git --no-pager diff --stat -B -M -C', 37 + height = 8, 38 + padding = 2, 39 + ttl = 5 * 60, 40 + indent = 2, 41 + }, 42 + { section = "startup" }, 43 + }, 44 + } 45 + 46 + local dashboard_config_2 = { 47 + enabled = true, 48 + width = 18, 49 + sections = { 50 + -- stylua: ignore start 51 + { hidden = true, icon = " ", key = "t", desc = "Find [T]ext", action = ":lua Snacks.dashboard.pick('live_grep')" }, 52 + { hidden = true, icon = " ", key = "r", desc = "[R]ecent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" }, 53 + { hidden = true, icon = "󰒲 ", key = "l", desc = "[L]azy", action = ":Lazy" }, 54 + -- stylua: ignore end 55 + 56 + -- Header 57 + { text = " ", padding = 12 }, 58 + { 59 + padding = 2, 60 + text = { 61 + { "Neovim :: M Λ C K ", hl = "Normal" }, 62 + { "- Editing made simple", hl = "NonText" }, 63 + }, 64 + action = ":lua Snacks.dashboard.pick('files')", 65 + key = "f", 66 + }, 67 + 68 + -- Keys 69 + { 70 + padding = 1, 71 + text = { 72 + { " Find [F]ile", width = 19, hl = "NonText" }, 73 + { " Find [T]ext", hl = "NonText" }, 74 + }, 75 + action = ":lua Snacks.dashboard.pick('files')", 76 + key = "f", 77 + }, 78 + { 79 + padding = 1, 80 + text = { 81 + { " ", width = 3 }, 82 + { " [N]ew File", width = 19, hl = "NonText" }, 83 + { " [R]ecent File", hl = "NonText" }, 84 + }, 85 + action = ":ene | startinsert", 86 + key = "n", 87 + }, 88 + { 89 + padding = 2, 90 + text = { 91 + { " ", width = 9 }, 92 + { " [C]onfig", hl = "NonText" }, 93 + { " ", width = 8 }, 94 + { "󰒲 [L]azy", hl = "NonText" }, 95 + { " ", width = 14 }, 96 + }, 97 + action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})", 98 + key = "c", 99 + }, 100 + { 101 + padding = 2, 102 + text = { 103 + { " ", width = 5 }, 104 + { " [Q]uit", hl = "NonText" }, 105 + }, 106 + action = ":quitall", 107 + key = "q", 108 + }, 109 + 110 + -- Startup 111 + { section = "startup", padding = 1 }, 112 + { section = "terminal", cmd = "printf ' '", height = 15 }, 113 + 114 + -- Keys 115 + { 116 + text = { 117 + [[ 118 + Copyright (c) 2025 - M Λ C K 119 + ]], 120 + 121 + hl = "NonText", 122 + }, 123 + }, 124 + }, 125 + 126 + formats = { key = { "" } }, 127 + } 128 + 129 + return { 130 + "snacks.nvim", 131 + opts = function() 132 + math.randomseed(os.time()) 133 + return { 134 + dashboard = (math.random(5) == 1) and dashboard_config_2 or dashboard_config_1 135 + } 136 + end, 137 + }
+8
nvim/static/neovim.cat
··· 1 +  2 + ████ ██████ █████ ██ btw 3 + ███████████ █████  4 + █████████ ███████████████████ ███ ███████████ 5 + █████████ ███ █████████████ █████ ██████████████ 6 + █████████ ██████████ █████████ █████ █████ ████ █████ 7 + ███████████ ███ ███ █████████ █████ █████ ████ █████ 8 + ██████ █████████████████████ ████ ████ █████ ████ ██████
+8
nvim/static/neovim.lolcat
··· 1 +                                                                       2 +        ████ ██████           █████      ██                    btw     3 +       ███████████             █████                              4 +       █████████ ███████████████████ ███   ███████████    5 +      █████████  ███    █████████████ █████ ██████████████    6 +     █████████ ██████████ █████████ █████ █████ ████ █████    7 +   ███████████ ███    ███ █████████ █████ █████ ████ █████   8 +  ██████  █████████████████████ ████ ████ █████ ████ ██████ 
+3
nvim/stylua.toml
··· 1 + indent_type = "Spaces" 2 + indent_width = 2 3 + column_width = 120