101 lines
4 KiB
Markdown
101 lines
4 KiB
Markdown
# NVIM config
|
|
|
|
Goals:
|
|
- Works with or without nix
|
|
- LSP integration with the current project's settings if available
|
|
|
|
## Running
|
|
|
|
### With Nix
|
|
```sh
|
|
nix run "."
|
|
```
|
|
|
|
### Without Nix
|
|
- Must have all required programs installed and available on path
|
|
- neovim >= 0.5
|
|
- Evertying listed in flake.nix `runtime dependencies` variable near the top of the file
|
|
- These must be available on the path
|
|
- Treesitter/Lazy/Mason will install all other requirements needed on other systems
|
|
```sh
|
|
git clone https://github.com/RingOfStorms/nvim ~/.config/nvim
|
|
nvim --headless "+Lazy! sync" +qa
|
|
```
|
|
Backup existing config:
|
|
```sh
|
|
DATE=$(date +"%Y%m%d")
|
|
mv ~/.config/nvim ~/.config/nvim_$DATE.bak
|
|
mv ~/.local/share/nvim ~/.local/share/nvim_$DATE.bak
|
|
mv ~/.local/state/nvim ~/.local/state/nvim_$DATE.bak
|
|
```
|
|
or remove existing config:
|
|
```sh
|
|
rm -rf ~/.config/nvim
|
|
rm -rf ~/.local/share/nvim
|
|
rm -rf ~/.local/state/nvim
|
|
```
|
|
|
|
## NOTES/TODOS
|
|
|
|
|
|
- Checkout cargo-bloat, cargo-cache, cargo-outdated - memcache sccache
|
|
- For scratches, just make an input box for custom extension rather than predefined list
|
|
- for find files, ignore git, capital F for find all
|
|
- better copilot alternatives? Local LLM usage only? etc?
|
|
- blacklist for undofile? .age files... etc
|
|
- TODO learn more about augroup in autocommands.
|
|
|
|
- plugins to install:
|
|
- rmagatti/auto-session - session management
|
|
- TODO look for alternatives? I am not a huge fan of this as it causes some issues on startup sometimes. I really only care about window placements and I want the rest to load naturally
|
|
- preservim/nerdcommenter - [un]comment support
|
|
- uga-rosa/ccc.nvim - color picker for hex codes etc
|
|
- zbirenbaum/copilot.lua
|
|
- Does github's work for me now? github/copilot.vim
|
|
- zbirenbaum/copilot-cmp
|
|
- chrisgrieser/nvim-early-retirement - auto close buffers
|
|
- voldikss/vim-floaterm
|
|
- GIT
|
|
- lewis6991/gitsigns.nvim
|
|
- Neogitorg/neogit ??? remove? I dont use this much...
|
|
- kdheepak/lazygit.nvim ?? remove?
|
|
- sindrets/diffview.nvim ? as long as this works without the above.
|
|
- rest-nvim/rest.nvim - http curl commands
|
|
- TODO I want a better alternative to this. One that shows streaming responses/curl as is. Can I just run curl myself easily?
|
|
- RRethy/vim-illuminate - show token under cursor throughout file
|
|
- lukas-reineke/indent-blankline.nvim - indent lines
|
|
- TODO figure out tabs vs spaces thing with arrows vs bars.
|
|
- nvim-lualine/lualine.nvim
|
|
- TODO look at other buffer lines, is this still the best? What do others use?
|
|
- LSP stuff... figure out from scratch using kickstart/lazynvim as an example
|
|
- rust, ts, js, nix, lua,
|
|
- lvimuser/lsp-inlayhints.nvim L3MON4D3/LuaSnip hrsh7th/nvim-cmp williamboman/mason.nvim folke/neodev.nvim williamboman/mason-lspconfig.nvim neovim/nvim-lspconfig simrat39/rust-tools.nvim Saecki/crates.nvim
|
|
- how cna we do language specific tooling per project integrated with neovim here? Like different rust versions in current shell etc?
|
|
- MASON when not nix, otherwise yes
|
|
- lnc3l0t/glow.nvim - markdown preview
|
|
- null_ls replacement?? need a formater replacement, diff between lsp reformat?
|
|
- cspell? vs built in spell check?
|
|
- Lets use https://github.com/mfussenegger/nvim-lint
|
|
- Almo7aya/openingh.nvim
|
|
- tpope/vim-surround
|
|
- nvim-telescope/telescope-file-browser.nvim ?? do I want to keep this?
|
|
- nvim-telescope/telescope.nvim
|
|
- nvim-telescope/telescope-fzf-native.nvim
|
|
- nvim-telescope/telescope-ui-select.nvim (use this with scratch files?)
|
|
- johmsalas/text-case.nvim
|
|
- nvim-treesitter/nvim-treesitter
|
|
- mbbill/undotree
|
|
- nvim-lua/plenary.nvim
|
|
- rcarriga/nvim-notify ??? is this replaced by noice??
|
|
- folke/which-key.nvim
|
|
|
|
- check out
|
|
- https://github.com/onsails/lspkind.nvim
|
|
- https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-align.md
|
|
|
|
- plugins I decided to remove from my old config
|
|
- jinh0/eyeliner.nvim
|
|
- David-Kunz/gen.nvim - ollama integration
|
|
- Neogitorg/neogit ??
|
|
- kdheepak/lazygit.nvim ??
|
|
- null_ls
|