-
|
I have been trying for days to minify this template and get a minimal example to work. What is THE most minimal example for using |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 5 replies
-
|
Well, after you scroll down past the The functions in those specs contain the config code for the plugin. So, you take that code in the function and put it anywhere outside of the call to lze.load Then in the nix code, you remove everywhere it says lazy = true This is because plugins installed with lazy = true do not load until you call packadd on them. If you don't want lazy, you will want them to just load. Remove anything else relating to lze, and that's it! In the process of that, feel free to remove any plugins you don't like, and their associated config. The confusing part of doing that is likely to be converting how I did the lsps to not use lze. The lsp field in the specs for Before that, the nvim-lspconfig spec will run It just has been put into a spec so that it only calls As an aside, I am not sure if "hella bloated" is a great description. Maybe slightly bloated, depending on your general tastes. Snacks isn't bloat (in this config), it is being used for the lsp workspace stuff, and a few other things, such as fuzzy finding. You likely would want a replacement for it if you removed it. There are great replacements of course, but I had to choose a plugin for fuzzy finding and snacks has a few more things that are useful, so I chose that. which-key is probably bloat, but a premade config of any kind should should give its users a pop up to tell them what keys exist. lualine might be bloat, as might a colorscheme, fidget.nvim, lazydev, and vim-startuptime. I personally don't necessarily agree, and lua plugins without external dependencies are very small, and the ones chosen do not have performance issues, but it is your config, remove what you wish. it also has nvim-lint, conform, nvim-treesitter, nvim-treesitter-textobjects, and nvim-lspconfig. These are used to set up core things such as completion, linting, formatting, and things like incremental selection. The vast majority of the neovim userbase has these installed. They definitely are not bloat, unless you consider lsps and formatters bloat. Blink might be bloat if you like the builtin completion. I don't really, and most use a plugin to make use of sources which do not conform to the lsp api. It also has 2? extensions for it, mostly as a demo, but also because the colorful menu is nice. And then it has lze for lazy loading. Defining what bloat is is hard. And I wanted to show that lazy loading on nix is not more strenuous than using lazy.nvim The biggest contributor to the initial installation time is that I installed all the treesitter grammars rather than just some of them. I did give instructions in the template how you might limit it to only install the ones you want. In addition, the 2 lsps it installs (nix and lua) make up the majority of the size of the closure created, but those generally install quickly thanks to the nixpkgs binary cache. nvim and the other plugins combined are very small and make up very little of the final disk size, and the plugins chosen have little effect on runtime performance. If you wanted to see a bloated config, you should check out mine 🤣 (but it doesn't feel that way, it loads in 60-80ms, bloat matters more for security than speed if you use lazy loading, and I read the plugins I install) |
Beta Was this translation helpful? Give feedback.
-
|
First off, sorry for being a little rude. There is a minimal example in the templates' I have tried what you suggested and came to this config: d-hain/NixOS@40b8cea |
Beta Was this translation helpful? Give feedback.
-
|
Okay thanks for the quick fix. In regards to my bloated comment: Thank you very much for the quick and detailed replies ❤️. I'll now get to configuring some more. |
Beta Was this translation helpful? Give feedback.
Well, after you scroll down past the
vim.optoptions, you will see the lze specs that lazily load and configure the plugins.The functions in those specs contain the config code for the plugin.
So, you take that code in the function and put it anywhere outside of the call to lze.load
Then in the nix code, you remove everywhere it says lazy = true
This is because plugins installed with lazy = true do not load until you call packadd on them. If you don't want lazy, you will want them to just load.
Remove anything else relating to lze, and that's it!
In the process of that, feel free to remove any plugins you don't like, and their associated config.
The confusing part of doing that is likel…