chore: add comments explaining plugins

This commit is contained in:
Youwen Wu 2025-01-18 13:52:24 -08:00
parent 4a815ee1e7
commit b6aa4c332a
Signed by: youwen5
GPG key ID: 865658ED1FE61EC3

150
flake.nix
View file

@ -73,29 +73,32 @@
python312Packages.pylatexenc python312Packages.pylatexenc
fd fd
# lsps (minimal because should be provided per-project by nix) # lsps (minimal because should be provided per-project by nix, but the essentials are included).
nixd # The idea is that documents (Typst or markdown) and configuration files (TOML, JSON, Nix, etc) are bundled.
tinymist # Everything else is provided per-project.
nixd # nix language server
tinymist # Typst
marksman # markdown
# formatters # formatters
nixfmt-rfc-style nixfmt-rfc-style # recommended nix formatter
nodePackages_latest.prettier nodePackages_latest.prettier
taplo taplo # for TOML
typstyle typstyle # for Typst
rustfmt rustfmt
black black # python
stylua stylua
marksman
libnotify libnotify # required for pomo.nvim
neovim-node-client neovim-node-client # required for tailwind-tools-nvim's node component
nodejs nodejs # ^^^
]; ];
}; };
# install lz.n and treesitter grammars # install lz.n and treesitter grammars
startupPlugins = { startupPlugins = {
gitPlugins = with pkgs.neovimPlugins; [ ]; # gitPlugins = with pkgs.neovimPlugins; [ ];
general = with pkgs.vimPlugins; [ general = with pkgs.vimPlugins; [
lz-n lz-n
(nvim-treesitter.withPlugins ( (nvim-treesitter.withPlugins (
@ -130,7 +133,8 @@
)) ))
# for some reason trigger_load still fails to load this in the # for some reason trigger_load still fails to load this in the
# proper order # proper order
telescope-ui-select-nvim telescope-ui-select-nvim # replace default vim.ui.select with telescope
telescope-fzf-native-nvim
]; ];
}; };
@ -138,57 +142,93 @@
# lz.n (not necessarily lazy loaded) # lz.n (not necessarily lazy loaded)
optionalPlugins = { optionalPlugins = {
gitPlugins = with pkgs.neovimPlugins; [ gitPlugins = with pkgs.neovimPlugins; [
blink-ripgrep blink-ripgrep # when you hit <C-g>, blink.cmp will rg through the whole project and use it for completions
pomo-nvim pomo-nvim # pomodoro timers
]; ];
general = with pkgs.vimPlugins; [ general = with pkgs.vimPlugins; [
nvim-autopairs
nvim-lspconfig # tools - stuff that adds entirely new functionality
which-key-nvim
telescope-nvim telescope-nvim
markdown-preview-nvim
render-markdown-nvim
nvim-web-devicons
oil-nvim
harpoon2
toggleterm-nvim
trouble-nvim
lualine-nvim
mini-ai
mini-hipatterns
mini-surround
mini-starter
cellular-automaton-nvim
indent-blankline-nvim
fidget-nvim
mini-bufremove
neogit neogit
gitsigns-nvim toggleterm-nvim
barbecue-nvim
undotree undotree
conform-nvim harpoon2
neocord oil-nvim
rustaceanvim
crates-nvim # QoL - augments existing features to be a little nicer or adds some minor enhancements
haskell-tools-nvim fidget-nvim # the best notifications. unintrusive. also does LSP progress.
vim-wakatime gitsigns-nvim # shows git changed areas in the sidebar
lsp_lines-nvim barbecue-nvim # ide-like breadcrumbs
vim-sleuth mini-ai # adds additional 'a' and 'i' patterns (nothing to do with AI)
typescript-tools-nvim mini-hipatterns # highlight surrounding patterns
texpresso-vim mini-surround # essential. adds 'sa', 'sr', 'sd', etc for surrounding
blink-cmp vim-sleuth # identifies the indent style in the current file
clangd_extensions-nvim mini-bufremove # better buffer removal
tailwind-tools-nvim which-key-nvim # hints for keybinds
typst-preview-nvim nvim-autopairs # automatically pair (), {}, '''', etc
lsp-progress-nvim
lazydev-nvim # lsp / formatting
plenary-nvim trouble-nvim # shows diagnostics in a menu
obsidian-nvim lsp_lines-nvim # shows LSP diagnostics in virtual text under the line
blink-compat nvim-lspconfig # configures language servers with sane defaults
conform-nvim # polyglot formatting swiss army knife
# bar
lualine-nvim
lsp-progress-nvim # adds LSP progress and attached LSPs to the bar
# eye candy
render-markdown-nvim # renders markdown. works in markdown files and also hover documentation.
nvim-web-devicons # helps plugins display nerd font icons.
indent-blankline-nvim # show indent guides
mini-starter # dashboard
# completion
blink-compat # allow nvim-cmp sources to be used with blink
blink-cmp # the fastest completions
# productivity
obsidian-nvim # obsidian zettelkasten workflows in nvim
# misc
plenary-nvim # utility functions in lua
vim-wakatime # coding time tracking
neocord # discord RPC
# colorschemes # colorschemes
rose-pine rose-pine
oxocarbon-nvim oxocarbon-nvim
# fun
cellular-automaton-nvim # a surprise!
# -- language specific --
# lua
lazydev-nvim # lazy loaded lua_ls when developing neovim plugins and configuration
# TeX
texpresso-vim # super fast live TeX preview
# rust
crates-nvim # provides intelligent features for Crates.toml
rustaceanvim # better rust_analyzer experience
# TS/JS
typescript-tools-nvim # better typescript-language-server experience
tailwind-tools-nvim # tailwindcss enhanacements and completions
# cpp
clangd_extensions-nvim
# markdown
markdown-preview-nvim # view markdown files rendered in a live updating browser window
# typst
typst-preview-nvim # view typst documents rendered in a live updating browser window
# haskell
haskell-tools-nvim
]; ];
}; };