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.

AUTOFORMAT nvim config

+399 -391
+7 -6
nvim/init.lua
··· 7 7 -- Config for Nord, which I usually use 8 8 -- vim.g.nord_italic = false 9 9 -- vim.g.nord_bold = false 10 - -- vim.opt.background = "light" 10 + vim.opt.background = "light" 11 + vim.cmd [[colorscheme acme]] 11 12 --vim.opt.background = "dark" 12 13 13 14 -- Formatting and vim config ··· 31 32 32 33 -- LuaLine Config 33 34 34 - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 35 + --local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 35 36 36 37 require("lualine").setup { 37 38 options = { 38 39 icons_enabled = true, 39 - --theme = "auto" 40 - theme = noirbuddy_lualine.theme 40 + theme = "auto" 41 + --theme = noirbuddy_lualine.theme 41 42 }, 42 - sections = noirbuddy_lualine.sections, 43 - inactive_sections = noirbuddy_lualine.inactive_sections, 43 + --sections = noirbuddy_lualine.sections, 44 + --inactive_sections = noirbuddy_lualine.inactive_sections, 44 45 } 45 46 46 47 -- Force OSC-52
+392 -385
nvim/lua/plugins.lua
··· 1 1 -- Bootstrap lazy.nvim 2 2 local 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 - "git", "clone", "--filter=blob:none", 7 - "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 - lazypath 9 - }) 10 - end 11 - vim.opt.rtp:prepend(lazypath) 3 + local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 4 + if not vim.loop.fs_stat(lazypath) then 5 + vim.fn.system({ 6 + "git", "clone", "--filter=blob:none", 7 + "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release 8 + lazypath 9 + }) 10 + end 11 + vim.opt.rtp:prepend(lazypath) 12 12 end 13 13 14 14 local lazy_bootstrap = ensure_lazy() 15 15 if lazy_bootstrap then print("Bootstrapped lazy.nvim") end 16 16 17 17 require("lazy").setup({ 18 - install = { colorscheme = { "noirbuddy" } }, 19 - checker = { enabled = false }, 20 - spec = { 21 - -- Color themes 22 - { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 - { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 - { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 - { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 - { "hardselius/warlock", priority = 1000, lazy = true }, 27 - { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 - { "catppuccin/nvim", priority = 1000, name = "catppuccin", lazy = true }, 29 - { 30 - "neanias/everforest-nvim", 31 - version = false, 32 - lazy = true, 33 - priority = 1000, -- make sure to load this before all the other start plugins 34 - main = "everforest", 35 - opts = { background = "hard" } 36 - }, 37 - { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 38 - { 39 - 'jesseleite/nvim-noirbuddy', 40 - dependencies = { 41 - 'tjdevries/colorbuddy.nvim', 42 - }, 43 - lazy = true, 44 - priority = 1000, 45 - opts = { 46 - -- All of your `setup(opts)` will go here 47 - preset = "oxide", 48 - colors = { 49 - noir_8 = "#3A4649" 50 - } 51 - }, 52 - }, 53 - -- Completion 54 - { 55 - "hrsh7th/nvim-cmp", 56 - dependencies = { 57 - "hrsh7th/cmp-nvim-lsp", 58 - "hrsh7th/cmp-buffer", 59 - "hrsh7th/cmp-path", 60 - "hrsh7th/cmp-vsnip", 61 - "hrsh7th/vim-vsnip", 62 - "petertriho/cmp-git", 63 - "hrsh7th/cmp-cmdline" 64 - }, 65 - config = require('completion') 66 - }, -- nvim lsp plugins 67 - { 68 - "neovim/nvim-lspconfig", 69 - }, 70 - -- LSP Goodness 71 - { 72 - "ray-x/navigator.lua", 73 - dependencies = { 74 - { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 75 - { 'neovim/nvim-lspconfig' }, 76 - } 18 + install = { colorscheme = { "acme" } }, 19 + checker = { enabled = false }, 20 + spec = { 21 + -- Color themes 22 + { "shaunsingh/nord.nvim", priority = 1000, lazy = true }, 23 + { "shaunsingh/moonlight.nvim", priority = 1000, lazy = true }, 24 + { "folke/tokyonight.nvim", priority = 1000, lazy = true }, 25 + { "cranberry-clockworks/coal.nvim", priority = 1000, lazy = true }, 26 + { "hardselius/warlock", priority = 1000, lazy = true }, 27 + { "sontungexpt/witch", priority = 1000, lazy = true, config = true }, 28 + { "catppuccin/nvim", priority = 1000, name = "catppuccin", lazy = true }, 29 + { 30 + "neanias/everforest-nvim", 31 + version = false, 32 + lazy = true, 33 + priority = 1000, -- make sure to load this before all the other start plugins 34 + main = "everforest", 35 + opts = { background = "hard" } 36 + }, 37 + { "rebelot/kanagawa.nvim", opts = { compile = true }, priority = 1000, lazy = true }, 38 + { 39 + 'jesseleite/nvim-noirbuddy', 40 + dependencies = { 41 + 'tjdevries/colorbuddy.nvim', 42 + }, 43 + lazy = true, 44 + priority = 1000, 45 + opts = { 46 + -- All of your `setup(opts)` will go here 47 + preset = "oxide", 48 + colors = { 49 + noir_8 = "#3A4649" 50 + } 51 + }, 52 + }, 53 + { 54 + "plan9-for-vimspace/acme-colors", lazy = true, priority = 1000 55 + }, 56 + -- Completion 57 + { 58 + "hrsh7th/nvim-cmp", 59 + dependencies = { 60 + "hrsh7th/cmp-nvim-lsp", 61 + "hrsh7th/cmp-buffer", 62 + "hrsh7th/cmp-path", 63 + "hrsh7th/cmp-vsnip", 64 + "hrsh7th/vim-vsnip", 65 + "petertriho/cmp-git", 66 + "hrsh7th/cmp-cmdline" 67 + }, 68 + config = require('completion') 69 + }, -- nvim lsp plugins 70 + { 71 + "neovim/nvim-lspconfig", 72 + }, 73 + -- LSP Goodness 74 + { 75 + "ray-x/navigator.lua", 76 + dependencies = { 77 + { 'ray-x/guihua.lua', build = 'cd lua/fzy && make' }, 78 + { 'neovim/nvim-lspconfig' }, 79 + } 77 80 78 - }, 79 - { 80 - -- Syntax Highlighting from the future 81 - "nvim-treesitter/nvim-treesitter", 82 - --init = function() vim.cmd([[":TSUpdate"]]) end, 83 - main = "nvim-treesitter.configs", 84 - opts = { 85 - ensure_installed = 'all', 86 - ignore_install = { 'norg' }, 87 - sync_intall = true, 88 - highlight = { 89 - enable = true, 90 - }, 91 - indent = { 92 - enable = false, 93 - }, 94 - }, 95 - build = ":TSUpdate", 96 - version = false, 97 - dependencies = { 98 - "nvim-treesitter/nvim-treesitter-textobjects", 99 - "nvim-treesitter/nvim-treesitter-context", 100 - }, 101 - }, -- Git stuff 102 - -- GitGutter, shows inline difs 103 - "airblade/vim-gitgutter", 104 - { 105 - "NeogitOrg/neogit", 106 - dependencies = { 107 - "nvim-lua/plenary.nvim", -- required 108 - "sindrets/diffview.nvim", -- optional - Diff integration 109 - "nvim-telescope/telescope.nvim" 110 - }, 111 - config = true 112 - }, 113 - -- Auto format tool 114 - { 115 - "stevearc/conform.nvim", 116 - lazy = true, 117 - opts = { 118 - python = { "isort", "black" }, 119 - lua = { "lua-format" }, 120 - clojure = { "cljfmt" }, 121 - rust = { "rustfmt" }, 122 - haskell = { "ormolu", "stylish-haskell" }, 123 - go = { "goimports", "gofmt" }, 124 - java = { "google-java-format" }, 125 - javascript = { "prettier" }, 126 - html = { "prettier" }, 127 - yaml = { "prettier" }, 128 - sh = { "shfmt" }, 129 - c = { "clang-format" }, 130 - } 131 - }, 132 - { 133 - "hedyhli/outline.nvim", 134 - lazy = true, 135 - cmd = { "Outline", "OutlineOpen" }, 136 - config = true, 137 - keys = { 138 - { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 139 - }, 140 - }, 141 - { 142 - "ray-x/go.nvim", 143 - ft = "go", 144 - lazy = true, 145 - dependencies = { 146 - "ray-x/guihua.lua", "neovim/nvim-lspconfig", 147 - "nvim-treesitter/nvim-treesitter" 148 - } 149 - }, 150 - { 151 - "nvim-lualine/lualine.nvim", 152 - config = function(_spec, _opt) 153 - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 154 - require("lualine").setup { 155 - options = { 156 - icons_enabled = true, 157 - -- when not using noirbuddy, uncomment this 158 - --theme = "auto" 159 - theme = noirbuddy_lualine.theme 160 - }, 161 - sections = noirbuddy_lualine.sections, 162 - inactive_sections = noirbuddy_lualine.inactive_sections, 163 - } 164 - end, 165 - dependencies = { "nvim-tree/nvim-web-devicons", "jesseleite/nvim-noirbuddy" } 166 - }, 167 - -- Fuzzy finding stuff 168 - "junegunn/fzf.vim", 169 - --{ 170 - -- dir = "~/.fzf", 171 - -- build = function() vim.fn["fzf#install"](0) end, 172 - -- dependencies = { "junegunn/fzf.vim" } 173 - --}, 174 - -- A lua + nvim stdlib sort of thing 175 - { "nvim-lua/plenary.nvim", lazy = true, }, 176 - -- Telescope, find anything fast 177 - { 178 - "nvim-telescope/telescope.nvim", 179 - config = true, 180 - dependencies = { 181 - "nvim-lua/plenary.nvim", 182 - "nvim-telescope/telescope-symbols.nvim", 183 - "nvim-telescope/telescope-fzf-native.nvim" 184 - } 185 - }, 186 - { 187 - "folke/trouble.nvim", 188 - dependencies = "nvim-tree/nvim-web-devicons", 189 - config = true, 190 - }, 191 - -- Which key is bound? 192 - -- literally the best plugin ever 193 - { 194 - "folke/which-key.nvim", 195 - init = function() 196 - vim.o.timeout = true 197 - vim.o.timeoutlen = 300 198 - end, 199 - config = true 200 - }, 201 - -- Developing my neovim 202 - { 203 - "folke/lazydev.nvim", 204 - config = true, 205 - ft = "lua", 206 - lazy = true, 207 - opts = { 208 - library = { 209 - path = "luvit-meta/library", words = { "vim%.uv" }, 210 - }, 211 - }, 212 - dependencies = { 213 - "Bilal2453/luvit-meta" 214 - }, 215 - }, 216 - -- Lithsps 217 - { 218 - "windwp/nvim-autopairs", 219 - event = "InsertEnter", 220 - config = function() 221 - local pairs = require("nvim-autopairs") 81 + }, 82 + { 83 + -- Syntax Highlighting from the future 84 + "nvim-treesitter/nvim-treesitter", 85 + --init = function() vim.cmd([[":TSUpdate"]]) end, 86 + main = "nvim-treesitter.configs", 87 + opts = { 88 + ensure_installed = 'all', 89 + ignore_install = { 'norg' }, 90 + sync_intall = true, 91 + highlight = { 92 + enable = true, 93 + }, 94 + indent = { 95 + enable = false, 96 + }, 97 + }, 98 + build = ":TSUpdate", 99 + version = false, 100 + dependencies = { 101 + "nvim-treesitter/nvim-treesitter-textobjects", 102 + "nvim-treesitter/nvim-treesitter-context", 103 + }, 104 + }, -- Git stuff 105 + -- GitGutter, shows inline difs 106 + "airblade/vim-gitgutter", 107 + { 108 + "NeogitOrg/neogit", 109 + dependencies = { 110 + "nvim-lua/plenary.nvim", -- required 111 + "sindrets/diffview.nvim", -- optional - Diff integration 112 + "nvim-telescope/telescope.nvim" 113 + }, 114 + config = true 115 + }, 116 + -- Auto format tool 117 + { 118 + "stevearc/conform.nvim", 119 + lazy = true, 120 + opts = { 121 + python = { "isort", "black" }, 122 + lua = { "lua-format" }, 123 + clojure = { "cljfmt" }, 124 + rust = { "rustfmt" }, 125 + haskell = { "ormolu", "stylish-haskell" }, 126 + go = { "goimports", "gofmt" }, 127 + java = { "google-java-format" }, 128 + javascript = { "prettier" }, 129 + html = { "prettier" }, 130 + yaml = { "prettier" }, 131 + sh = { "shfmt" }, 132 + c = { "clang-format" }, 133 + } 134 + }, 135 + { 136 + "hedyhli/outline.nvim", 137 + lazy = true, 138 + cmd = { "Outline", "OutlineOpen" }, 139 + config = true, 140 + keys = { 141 + { "<leader>o", "<cmd>Outline<cr>", desc = "Toggle outline" }, 142 + }, 143 + }, 144 + { 145 + "ray-x/go.nvim", 146 + ft = "go", 147 + lazy = true, 148 + dependencies = { 149 + "ray-x/guihua.lua", "neovim/nvim-lspconfig", 150 + "nvim-treesitter/nvim-treesitter" 151 + } 152 + }, 153 + { 154 + "nvim-lualine/lualine.nvim", 155 + config = function(_spec, _opt) 156 + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") 157 + require("lualine").setup { 158 + options = { 159 + icons_enabled = true, 160 + -- when not using noirbuddy, uncomment this 161 + --theme = "auto" 162 + theme = noirbuddy_lualine.theme 163 + }, 164 + sections = noirbuddy_lualine.sections, 165 + inactive_sections = noirbuddy_lualine.inactive_sections, 166 + } 167 + end, 168 + dependencies = { "nvim-tree/nvim-web-devicons", "jesseleite/nvim-noirbuddy" } 169 + }, 170 + -- Fuzzy finding stuff 171 + "junegunn/fzf.vim", 172 + --{ 173 + -- dir = "~/.fzf", 174 + -- build = function() vim.fn["fzf#install"](0) end, 175 + -- dependencies = { "junegunn/fzf.vim" } 176 + --}, 177 + -- A lua + nvim stdlib sort of thing 178 + { "nvim-lua/plenary.nvim", lazy = true, }, 179 + -- Telescope, find anything fast 180 + { 181 + "nvim-telescope/telescope.nvim", 182 + config = true, 183 + dependencies = { 184 + "nvim-lua/plenary.nvim", 185 + "nvim-telescope/telescope-symbols.nvim", 186 + "nvim-telescope/telescope-fzf-native.nvim" 187 + } 188 + }, 189 + { 190 + "folke/trouble.nvim", 191 + dependencies = "nvim-tree/nvim-web-devicons", 192 + config = true, 193 + }, 194 + -- Which key is bound? 195 + -- literally the best plugin ever 196 + { 197 + "folke/which-key.nvim", 198 + init = function() 199 + vim.o.timeout = true 200 + vim.o.timeoutlen = 300 201 + end, 202 + config = true 203 + }, 204 + -- Developing my neovim 205 + { 206 + "folke/lazydev.nvim", 207 + config = true, 208 + ft = "lua", 209 + lazy = true, 210 + opts = { 211 + library = { 212 + path = "luvit-meta/library", words = { "vim%.uv" }, 213 + }, 214 + }, 215 + dependencies = { 216 + "Bilal2453/luvit-meta" 217 + }, 218 + }, 219 + -- Lithsps 220 + { 221 + "windwp/nvim-autopairs", 222 + event = "InsertEnter", 223 + config = function() 224 + local pairs = require("nvim-autopairs") 222 225 223 - pairs.setup({ 224 - check_ts = true, 225 - enable_check_bracket_line = false, 226 - }) 226 + pairs.setup({ 227 + check_ts = true, 228 + enable_check_bracket_line = false, 229 + }) 227 230 228 - pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 229 - pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 230 - end, 231 - }, 232 - -- This gives me the paredit engine, it's pretty nifty 233 - { 234 - "gpanders/nvim-parinfer", 235 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 236 - lazy = true, 237 - config = function() 238 - vim.g.parinfer_comment_chars = { ";", "#" } 239 - vim.g.parinfer_force_balance = true 240 - end 241 - }, -- )))))) 242 - -- This one gives me vim-sexp like structural editing 243 - { 244 - "julienvincent/nvim-paredit", 245 - config = function() 246 - local paredit = require('nvim-paredit') 247 - paredit.setup({ 248 - indent = { 249 - enabled = true, 250 - }, 251 - --filetypes = {"clojure", "fennel", "janet"}, 252 - keys = { 253 - ["<localleader>w"] = { 254 - function() 255 - -- place cursor and set mode to `insert` 256 - paredit.cursor.place_cursor( 257 - -- wrap element under cursor with `( ` and `)` 258 - paredit.wrap.wrap_element_under_cursor("( ", ")"), 259 - -- cursor placement opts 260 - { placement = "inner_start", mode = "insert" } 261 - ) 262 - end, 263 - "Wrap element insert head", 264 - }, 231 + pairs.get_rules("`")[1].not_filetypes = { "clojure", "scheme", "scm", "janet" } 232 + pairs.get_rules("'")[1].not_filetypes = { "clojure", "scheme", "scm", "janet", "rust" } 233 + end, 234 + }, 235 + -- This gives me the paredit engine, it's pretty nifty 236 + { 237 + "gpanders/nvim-parinfer", 238 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" }, 239 + lazy = true, 240 + config = function() 241 + vim.g.parinfer_comment_chars = { ";", "#" } 242 + vim.g.parinfer_force_balance = true 243 + end 244 + }, -- )))))) 245 + -- This one gives me vim-sexp like structural editing 246 + { 247 + "julienvincent/nvim-paredit", 248 + config = function() 249 + local paredit = require('nvim-paredit') 250 + paredit.setup({ 251 + indent = { 252 + enabled = true, 253 + }, 254 + --filetypes = {"clojure", "fennel", "janet"}, 255 + keys = { 256 + ["<localleader>w"] = { 257 + function() 258 + -- place cursor and set mode to `insert` 259 + paredit.cursor.place_cursor( 260 + -- wrap element under cursor with `( ` and `)` 261 + paredit.wrap.wrap_element_under_cursor("( ", ")"), 262 + -- cursor placement opts 263 + { placement = "inner_start", mode = "insert" } 264 + ) 265 + end, 266 + "Wrap element insert head", 267 + }, 265 268 266 - ["<localleader>W"] = { 267 - function() 268 - paredit.cursor.place_cursor( 269 - paredit.wrap.wrap_element_under_cursor("(", ")"), 270 - { placement = "inner_end", mode = "insert" } 271 - ) 272 - end, 273 - "Wrap element insert tail", 274 - }, 275 - -- same as above but for enclosing form 276 - ["<localleader>i"] = { 277 - function() 278 - paredit.cursor.place_cursor( 279 - paredit.wrap.wrap_enclosing_form_under_cursor("( ", ")"), 280 - { placement = "inner_start", mode = "insert" } 281 - ) 282 - end, 283 - "Wrap form insert head", 284 - }, 285 - ["<localleader>I"] = { 286 - function() 287 - paredit.cursor.place_cursor( 288 - paredit.wrap.wrap_enclosing_form_under_cursor("(", ")"), 289 - { placement = "inner_end", mode = "insert" } 290 - ) 291 - end, 292 - "Wrap form insert tail", 293 - }, 294 - ["<localleader>["] = { 295 - function() 296 - paredit.cursor.place_cursor( 297 - paredit.wrap.wrap_enclosing_form_under_cursor("[", "]"), 298 - { placement = "inner_start", mode = "insert" } 299 - ) 300 - end, 301 - }, 302 - ["<localleader>{"] = { 303 - function() 304 - paredit.cursor.place_cursor( 305 - paredit.wrap.wrap_enclosing_form_under_cursor("{", "}"), 306 - { placement = "inner_end", mode = "insert" } 307 - ) 308 - end, 309 - }, 310 - }, 311 - }) 312 - end, 313 - lazy = true, 314 - ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 315 - }, 316 - { 317 - "hiphish/rainbow-delimiters.nvim", 318 - priority = 1050, 269 + ["<localleader>W"] = { 270 + function() 271 + paredit.cursor.place_cursor( 272 + paredit.wrap.wrap_element_under_cursor("(", ")"), 273 + { placement = "inner_end", mode = "insert" } 274 + ) 275 + end, 276 + "Wrap element insert tail", 277 + }, 278 + -- same as above but for enclosing form 279 + ["<localleader>i"] = { 280 + function() 281 + paredit.cursor.place_cursor( 282 + paredit.wrap.wrap_enclosing_form_under_cursor( 283 + "( ", ")"), 284 + { placement = "inner_start", mode = "insert" } 285 + ) 286 + end, 287 + "Wrap form insert head", 288 + }, 289 + ["<localleader>I"] = { 290 + function() 291 + paredit.cursor.place_cursor( 292 + paredit.wrap.wrap_enclosing_form_under_cursor( 293 + "(", ")"), 294 + { placement = "inner_end", mode = "insert" } 295 + ) 296 + end, 297 + "Wrap form insert tail", 298 + }, 299 + ["<localleader>["] = { 300 + function() 301 + paredit.cursor.place_cursor( 302 + paredit.wrap.wrap_enclosing_form_under_cursor( 303 + "[", "]"), 304 + { placement = "inner_start", mode = "insert" } 305 + ) 306 + end, 307 + }, 308 + ["<localleader>{"] = { 309 + function() 310 + paredit.cursor.place_cursor( 311 + paredit.wrap.wrap_enclosing_form_under_cursor( 312 + "{", "}"), 313 + { placement = "inner_end", mode = "insert" } 314 + ) 315 + end, 316 + }, 317 + }, 318 + }) 319 + end, 320 + lazy = true, 321 + ft = { "hy", "scheme", "scm", "clojure", "fennel", "janet", "lisp", "python", "lua" } 322 + }, 323 + { 324 + "hiphish/rainbow-delimiters.nvim", 325 + priority = 1050, 319 326 320 - ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 321 - }, 322 - -- Conjure, lisp is magical 323 - { 324 - "Olical/conjure", 325 - dependencies = { "PaterJason/cmp-conjure" }, 326 - config = function() 327 - vim.g["conjure#client#scheme#stdio#command"] = "gxi" 328 - vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 329 - end, 330 - lazy = true, 331 - ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 332 - }, 333 - { "PaterJason/cmp-conjure", lazy = true }, 334 - { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 335 - { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 336 - { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 337 - { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 338 - { 339 - "simrat39/rust-tools.nvim", 340 - lazy = true, 341 - ft = { "rust" }, 342 - config = function() 343 - local rt = require("rust-tools") 344 - rt.setup({ 345 - server = { 346 - on_attach = function(_, bufnr) 347 - -- Hover actions 348 - vim.keymap.set("n", "<C-space>", 349 - rt.hover_actions.hover_actions, 350 - { buffer = bufnr }) 351 - -- Code action groups 352 - vim.keymap.set("n", "<Leader>a", 353 - rt.code_action_group.code_action_group, 354 - { buffer = bufnr }) 355 - end 356 - } 357 - }) 358 - end, 359 - dependencies = { "nvim-lua/plenary.nvim" } 360 - }, 361 - { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 362 - { 363 - "saecki/crates.nvim", 364 - tag = "v0.4.0", 365 - dependencies = { "nvim-lua/plenary.nvim" }, 366 - config = function() require("crates").setup() end, 367 - lazy = true, 368 - ft = { "rust" } 369 - }, -- RISC-V Assembly syntax highlighting 370 - { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 371 - -- Hare stuff 372 - -- Haredoc 373 - { 374 - url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 375 - lazy = true, 376 - ft = { "hare" }, 377 - branch = "dev" 378 - }, 379 - { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 380 - -- TCL 381 - { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 382 - -- LF 383 - { 384 - "ptzz/lf.vim", 385 - lazy = true, 386 - cmd = { "Lf" }, 387 - dependencies = { "voldikss/vim-floaterm" } 388 - }, 389 - -- SuperMaven, another AI coding tool 390 - { 391 - "supermaven-inc/supermaven-nvim", 392 - opts = { keymaps = { accept_suggestion = "<C-f>" } }, 393 - lazy = true, 394 - cmd = "SupermavenStart" 395 - }, 396 - { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 397 - { "weakish/rcshell.vim", lazy = true, ft = "rcshell" }, 398 - } 327 + ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 328 + }, 329 + -- Conjure, lisp is magical 330 + { 331 + "Olical/conjure", 332 + dependencies = { "PaterJason/cmp-conjure" }, 333 + config = function() 334 + vim.g["conjure#client#scheme#stdio#command"] = "gxi" 335 + vim.g["conjure#client#scheme#stdio#prompt_pattern"] = "%d*> $?" 336 + end, 337 + lazy = true, 338 + ft = { "scheme", "scm", "lisp", "fennel", "clojure", "lua", "janet" }, 339 + }, 340 + { "PaterJason/cmp-conjure", lazy = true }, 341 + { "p1xelHer0/gerbil.nvim", lazy = true, ft = "scheme", config = true }, -- Fennel, Luasthp 342 + { "jaawerth/fennel.vim", lazy = true, ft = "fennel", config = true }, 343 + { "rktjmp/hotpot.nvim", lazy = true, ft = "fennel", config = true }, 344 + { "Olical/nfnl", lazy = true, ft = "fennel", config = true }, -- Rust stuff 345 + { 346 + "simrat39/rust-tools.nvim", 347 + lazy = true, 348 + ft = { "rust" }, 349 + config = function() 350 + local rt = require("rust-tools") 351 + rt.setup({ 352 + server = { 353 + on_attach = function(_, bufnr) 354 + -- Hover actions 355 + vim.keymap.set("n", "<C-space>", 356 + rt.hover_actions.hover_actions, 357 + { buffer = bufnr }) 358 + -- Code action groups 359 + vim.keymap.set("n", "<Leader>a", 360 + rt.code_action_group.code_action_group, 361 + { buffer = bufnr }) 362 + end 363 + } 364 + }) 365 + end, 366 + dependencies = { "nvim-lua/plenary.nvim" } 367 + }, 368 + { "mfussenegger/nvim-dap", lazy = true, ft = { "c", "rust" } }, 369 + { 370 + "saecki/crates.nvim", 371 + tag = "v0.4.0", 372 + dependencies = { "nvim-lua/plenary.nvim" }, 373 + config = function() require("crates").setup() end, 374 + lazy = true, 375 + ft = { "rust" } 376 + }, -- RISC-V Assembly syntax highlighting 377 + { "kylelaker/riscv.vim", ft = "riscv" }, -- Hare Stuff 378 + -- Hare stuff 379 + -- Haredoc 380 + { 381 + url = "https://git.sr.ht/~torresjrjr/vim-haredoc", 382 + lazy = true, 383 + ft = { "hare" }, 384 + branch = "dev" 385 + }, 386 + { url = "https://git.sr.ht/~sircmpwn/hare.vim", ft = { "hare" } }, 387 + -- TCL 388 + { "lewis6991/tree-sitter-tcl", lazy = true, build = "make" }, 389 + -- LF 390 + { 391 + "ptzz/lf.vim", 392 + lazy = true, 393 + cmd = { "Lf" }, 394 + dependencies = { "voldikss/vim-floaterm" } 395 + }, 396 + -- SuperMaven, another AI coding tool 397 + { 398 + "supermaven-inc/supermaven-nvim", 399 + opts = { keymaps = { accept_suggestion = "<C-f>" } }, 400 + lazy = true, 401 + cmd = "SupermavenStart" 402 + }, 403 + { "imsnif/kdl.vim", lazy = true, ft = "kdl" }, 404 + { "weakish/rcshell.vim", lazy = true, ft = "rcshell" }, 405 + } 399 406 })