summaryrefslogtreecommitdiff
path: root/cats.nix
diff options
context:
space:
mode:
Diffstat (limited to 'cats.nix')
-rw-r--r--cats.nix190
1 files changed, 190 insertions, 0 deletions
diff --git a/cats.nix b/cats.nix
new file mode 100644
index 0000000..42a996a
--- /dev/null
+++ b/cats.nix
@@ -0,0 +1,190 @@
+inputs:
+let
+ inherit (inputs.nixcats) utils;
+in
+{
+ pkgs,
+ settings,
+ categories,
+ extra,
+ name,
+ mkPlugin,
+ ...
+}@packageDef:
+{
+ lspsAndRuntimeDeps = with pkgs; {
+ general = [
+ fd
+ ripgrep
+ lsof
+ tree-sitter
+ # lldb
+ ];
+
+ markdown = [
+ marksman
+ harper
+ ];
+
+ typst = [
+ tinymist
+ ];
+
+ nix = [
+ nixd
+ nil
+ nixfmt
+ ];
+
+ java = [
+ jdt-language-server
+ google-java-format
+ ];
+
+ lua = [
+ lua-language-server
+ stylua
+ ];
+
+ python = [
+ ruff
+ zuban
+ ];
+
+ zig = [
+ zls
+ ];
+
+ toml = [
+ tombi
+ ];
+ javascript = [
+ eslint
+ prettierd
+ typescript-language-server
+ ];
+ };
+
+ startupPlugins = with pkgs.vimPlugins; {
+ theme = [
+ kanagawa-nvim
+ vague-nvim
+ kanso-nvim
+ rose-pine
+ catppuccin-nvim
+ tokyonight-nvim
+ gruvbox-material-nvim
+ onedark-nvim
+ onedarkpro-nvim
+ ];
+
+ ui = [
+ nvim-web-devicons
+ ];
+
+ general = [
+ pkgs.neovimPlugins.lze
+ pkgs.neovimPlugins.lzextras
+ nvim-lspconfig
+ ];
+
+ rust = [
+ rustaceanvim
+ ];
+
+ extras = [
+ plenary-nvim
+ ];
+ };
+
+ optionalPlugins = with pkgs.vimPlugins; {
+ core = {
+ general = [
+ oil-nvim
+ guess-indent-nvim
+ undotree
+ nvim-surround
+ conform-nvim
+ nvim-lint
+ lazydev-nvim
+ ];
+
+ picker = {
+ mini = [
+ mini-pick
+ mini-extra
+ ];
+ telescope = [
+ telescope-nvim
+ telescope-fzf-native-nvim
+ telescope-ui-select-nvim
+ ];
+ };
+
+ git = [
+ pkgs.neovimPlugins.neogit
+ gitsigns-nvim
+ ];
+
+ completion = [
+ blink-cmp
+ blink-ripgrep-nvim
+ friendly-snippets
+ ];
+ };
+
+ tsitter = [
+ nvim-treesitter.withAllGrammars
+ nvim-treesitter-textobjects
+ # (nvim-treesitter.withPlugins (
+ # plugins:
+ # with plugins; [
+ # nix
+ # lua
+ # rust
+ # cpp
+ # c
+ # go
+ # yaml
+ # python
+ # javascript
+ # typescript
+ # toml
+ # json
+ # ]
+ # ))
+ ];
+
+ debug = [
+ nvim-dap
+ nvim-dap-ui
+ nvim-dap-virtual-text
+ nvim-dap-go
+ ];
+
+ misc = [
+ obsidian-nvim
+ typst-preview-nvim
+ ];
+
+ ai = [
+ pkgs.neovimPlugins.opencode-nvim
+ ];
+ };
+
+ sharedLibraries = {
+ general = with pkgs; [
+ # libgit2
+ ];
+ };
+
+ environmentVariables = {
+ };
+
+ extraWrapperArgs = {
+ };
+
+ extraLuaPackages = {
+ test = [ (_: [ ]) ];
+ };
+}