2023-02-01 19:11:37 +00:00
|
|
|
{lib}:
|
|
|
|
with lib; let
|
2023-02-01 21:01:35 +00:00
|
|
|
# Plugin must be same as input name from flake.nix
|
2023-02-01 19:11:37 +00:00
|
|
|
availablePlugins = [
|
2023-02-05 21:04:12 +00:00
|
|
|
# TODO: sort by category
|
2023-02-01 19:11:37 +00:00
|
|
|
"nvim-treesitter-context"
|
|
|
|
"gitsigns-nvim"
|
|
|
|
"plenary-nvim"
|
|
|
|
"nvim-lspconfig"
|
|
|
|
"nvim-treesitter"
|
|
|
|
"lspsaga"
|
|
|
|
"lspkind"
|
|
|
|
"nvim-lightbulb"
|
|
|
|
"lsp-signature"
|
|
|
|
"nvim-tree-lua"
|
|
|
|
"nvim-bufferline-lua"
|
|
|
|
"lualine"
|
|
|
|
"nvim-compe"
|
|
|
|
"nvim-autopairs"
|
|
|
|
"nvim-ts-autotag"
|
|
|
|
"nvim-web-devicons"
|
|
|
|
"tokyonight"
|
|
|
|
"bufdelete-nvim"
|
|
|
|
"nvim-cmp"
|
|
|
|
"cmp-nvim-lsp"
|
|
|
|
"cmp-buffer"
|
|
|
|
"cmp-vsnip"
|
|
|
|
"cmp-path"
|
|
|
|
"cmp-treesitter"
|
|
|
|
"crates-nvim"
|
|
|
|
"vim-vsnip"
|
|
|
|
"nvim-code-action-menu"
|
|
|
|
"trouble"
|
|
|
|
"null-ls"
|
|
|
|
"which-key"
|
|
|
|
"indent-blankline"
|
|
|
|
"nvim-cursorline"
|
|
|
|
"sqls-nvim"
|
|
|
|
"glow-nvim"
|
|
|
|
"telescope"
|
|
|
|
"rust-tools"
|
|
|
|
"onedark"
|
|
|
|
"catppuccin"
|
2023-02-01 21:01:35 +00:00
|
|
|
"minimap-vim"
|
2023-02-03 07:38:27 +00:00
|
|
|
"dashboard-nvim"
|
2023-02-03 12:42:45 +00:00
|
|
|
"alpha-nvim"
|
2023-02-03 19:53:48 +00:00
|
|
|
"scrollbar-nvim"
|
2023-02-03 21:19:30 +00:00
|
|
|
"codewindow-nvim"
|
|
|
|
"nvim-notify"
|
|
|
|
"cinnamon-nvim"
|
2023-02-03 22:46:34 +00:00
|
|
|
"cheatsheet-nvim"
|
|
|
|
"colorizer"
|
2023-02-03 23:12:41 +00:00
|
|
|
"venn-nvim"
|
2023-02-05 13:15:02 +00:00
|
|
|
"cellular-automaton"
|
2023-02-05 21:04:12 +00:00
|
|
|
"presence-nvim"
|
|
|
|
"icon-picker-nvim"
|
|
|
|
"dressing-nvim"
|
2023-02-05 21:57:47 +00:00
|
|
|
"orgmode-nvim"
|
|
|
|
"obsidian-nvim"
|
|
|
|
"vim-markdown"
|
|
|
|
"tabular"
|
2023-02-05 23:44:38 +00:00
|
|
|
"toggleterm-nvim"
|
2023-02-06 00:55:19 +00:00
|
|
|
"noice-nvim"
|
|
|
|
"nui-nvim"
|
2023-02-01 19:11:37 +00:00
|
|
|
];
|
2023-02-05 21:04:12 +00:00
|
|
|
# You can either use the name of the plugin or a package.
|
2023-02-01 19:11:37 +00:00
|
|
|
pluginsType = with types; listOf (nullOr (either (enum availablePlugins) package));
|
|
|
|
in {
|
|
|
|
pluginsOpt = {
|
|
|
|
description,
|
|
|
|
default ? [],
|
|
|
|
}:
|
|
|
|
mkOption {
|
|
|
|
inherit description default;
|
|
|
|
type = pluginsType;
|
|
|
|
};
|
|
|
|
}
|