Configuration for my NixOS based systems and Home Manager
0
fork

Configure Feed

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

at othinus 207 lines 7.1 kB view raw
1-- Bootstrap lazy.nvim 2local ensure_lazy = function() 3 local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 if not vim.loop.fs_stat(lazypath) then 5 vim.fn.system( 6 { 7 "git", 8 "clone", 9 "--filter=blob:none", 10 "https://github.com/folke/lazy.nvim.git", 11 "--branch=stable", -- latest stable release 12 lazypath 13 } 14 ) 15 end 16 vim.opt.rtp:prepend(lazypath) 17end 18 19local lazy_bootstrap = ensure_lazy() 20if lazy_bootstrap then 21 print("Bootstrapped lazy.nvim") 22end 23 24require("lazy").setup( 25 { 26 -- Color themes 27 "shaunsingh/nord.nvim", 28 "shaunsingh/moonlight.nvim", 29 "folke/tokyonight.nvim", 30 "cranberry-clockworks/coal.nvim", 31 "hardselius/warlock", 32 { "catppuccin/nvim", name = "catppuccin", priority = 1000 }, 33 { 34 "neanias/everforest-nvim", 35 version = false, 36 lazy = false, 37 priority = 1000, -- make sure to load this before all the other start plugins 38 main = "everforest", 39 opts = { 40 background = "hard", 41 }, 42 }, 43 { 44 "rebelot/kanagawa.nvim", 45 opts = {compile = true} 46 }, 47 -- show indents and whitespace characters 48 "lukas-reineke/indent-blankline.nvim", 49 -- Completion 50 "hrsh7th/nvim-compe", 51 "hrsh7th/vim-vsnip", 52 -- nvim lsp plugins 53 "neovim/nvim-lspconfig", 54 { 55 "nvimdev/lspsaga.nvim", 56 dependencies = { 57 "nvim-tree/nvim-web-devicons", 58 "nvim-treesitter/nvim-treesitter" 59 }, 60 opts = {lightbulb = {enable = false}}, 61 event = "LspAttach" 62 }, 63 -- Syntax Highlighting from the future 64 { 65 "nvim-treesitter/nvim-treesitter", 66 init = function() 67 vim.cmd([[":TSUpdate"]]) 68 end 69 }, 70 -- GitGutter, shows inline difs 71 "airblade/vim-gitgutter", 72 -- Git wrapper plugin 73 "tpope/vim-fugitive", 74 -- surround with pairs )))))) 75 --"tpope/vim-surround", 76 -- Auto format tool 77 {"sbdchd/neoformat", lazy = true, cmd = "Neoformat"}, 78 -- Distraction free writing: GoYo + Limelight 79 {"junegunn/limelight.vim", lazy = true, ft = "markdown"}, 80 {"junegunn/goyo.vim", lazy = true, ft = "markdown"}, 81 -- Golang plugins 82 --use {"fatih/vim-go", run = ":GoUpdateBinaries", lazy = true, ft = "go"} 83 { 84 "ray-x/go.nvim", 85 ft = "go", 86 lazy = true, 87 dependencies = { 88 "ray-x/guihua.lua", 89 "neovim/nvim-lspconfig", 90 "nvim-treesitter/nvim-treesitter" 91 } 92 }, 93 { 94 "nvim-lualine/lualine.nvim", 95 dependencies = {"nvim-tree/nvim-web-devicons"} 96 }, 97 "junegunn/fzf.vim", 98 { 99 dir = "~/.fzf", 100 build = function() 101 vim.fn["fzf#install"](0) 102 end, 103 dependencies = {"junegunn/fzf.vim"} 104 }, 105 -- Polyglot 106 "sheerun/vim-polyglot", 107 -- Telescope, find anything fast 108 "nvim-lua/plenary.nvim", 109 {"nvim-telescope/telescope.nvim", dependencies = {"nvim-lua/plenary.nvim"}}, 110 "nvim-telescope/telescope-symbols.nvim", 111 {"folke/trouble.nvim", dependencies = "nvim-tree/nvim-web-devicons"}, 112 -- Which key is bound? 113 "folke/which-key.nvim", -- literally the best plugin ever 114 -- Lithsps 115 { 116 "guns/vim-sexp", 117 ft = {"hy", "scheme", "clojure"}, 118 }, -- )))))) 119 {"hiphish/rainbow-delimiters.nvim"}, 120 --{"gpanders/nvim-parinfer", ft = {"scheme", "lisp", "fennel", "clojure", "lua"}}, 121 --{ 122 -- "eraserhd/parinfer-rust", 123 -- build = "RUSTFLAGS='-C target-feature=+crt-static' cargo build --release", 124 -- ft = {"scheme", "lisp", "fennel", "clojure", "lua"}, 125 --}, 126 -- Conjure, lisp is magical 127 { 128 "Olical/conjure", 129 ft = {"scheme", "lisp", "fennel", "clojure", "lua"}, 130 config = function() 131 vim.g["conjure#client#scheme#stdio#command"] = "gxi" 132 vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 133 end 134 }, 135 {"p1xelHer0/gerbil.nvim", ft = "scheme"}, 136 -- Fennel, Luasthp 137 {"jaawerth/fennel.vim", lazy = true, ft = "fennel"}, 138 {"rktjmp/hotpot.nvim", lazy = true, ft = "fennel"}, 139 {"Olical/nfnl", ft = "fennel"}, 140 -- Rust stuff 141 { 142 "simrat39/rust-tools.nvim", 143 ft = {"rust"}, 144 config = function() 145 local rt = require("rust-tools") 146 rt.setup( 147 { 148 server = { 149 on_attach = function(_, bufnr) 150 -- Hover actions 151 vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, {buffer = bufnr}) 152 -- Code action groups 153 vim.keymap.set( 154 "n", 155 "<Leader>a", 156 rt.code_action_group.code_action_group, 157 {buffer = bufnr} 158 ) 159 end 160 } 161 } 162 ) 163 end, 164 dependencies = {"nvim-lua/plenary.nvim"} 165 }, 166 {"mfussenegger/nvim-dap", lazy = true, ft = {"c", "rust"}}, 167 { 168 "saecki/crates.nvim", 169 tag = "v0.4.0", 170 dependencies = {"nvim-lua/plenary.nvim"}, 171 config = function() 172 require("crates").setup() 173 end, 174 ft = {"rust"} 175 }, 176 -- RISC-V Assembly syntax highlighting 177 {"kylelaker/riscv.vim", ft = "riscv"}, 178 -- Hare Stuff 179 180 -- Haredoc 181 {url = "https://git.sr.ht/~torresjrjr/vim-haredoc", ft = {"hare"}, branch = "dev"}, 182 -- Hare.vim 183 {url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = {"hare"}}, 184 -- TCL 185 {"lewis6991/tree-sitter-tcl", build = "make"}, 186 -- LF 187 {"ptzz/lf.vim", cmd = {"Lf"}, dependencies = {"voldikss/vim-floaterm"}}, 188 -- Copilot 189 -- use {"github/copilot.vim", lazy = true, cmd = {"Copilot"}} 190 -- Mason 191 { 192 "williamboman/mason.nvim", 193 init = function() 194 vim.cmd([[":MasonUpdate"]]) 195 end, 196 dependencies = { 197 "williamboman/mason-lspconfig.nvim", 198 "mfussenegger/nvim-dap", 199 "jose-elias-alvarez/null-ls.nvim" 200 }, 201 config = function() 202 require("mason").setup() 203 end 204 } 205 }, 206 nil 207)