chore: add comments explaining plugins
This commit is contained in:
parent
4a815ee1e7
commit
b6aa4c332a
1 changed files with 95 additions and 55 deletions
150
flake.nix
150
flake.nix
|
@ -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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue