aboutsummaryrefslogtreecommitdiffstats
path: root/modules/programs/nixvim/plugins
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-15 20:02:29 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-07-15 20:03:04 +0530
commit01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 (patch)
tree88560b79fa71e3b83d9d9aca6d1bb40673a1a170 /modules/programs/nixvim/plugins
parent2c573bb0c437b83fe629a9a5b818c976d2dfd796 (diff)
downloadhome-manager-config-01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95.tar.gz
home-manager-config-01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95.zip
refactor: organized the modules into better categories
Instead of lumping everything in modules/programs we are separating them into separate directories in modules/
Diffstat (limited to 'modules/programs/nixvim/plugins')
-rw-r--r--modules/programs/nixvim/plugins/cmp.nix37
-rw-r--r--modules/programs/nixvim/plugins/comment.nix23
-rw-r--r--modules/programs/nixvim/plugins/default.nix20
-rw-r--r--modules/programs/nixvim/plugins/gitsigns.nix8
-rw-r--r--modules/programs/nixvim/plugins/indent-blankline.nix14
-rw-r--r--modules/programs/nixvim/plugins/lsp.nix234
-rw-r--r--modules/programs/nixvim/plugins/lualine.nix90
-rw-r--r--modules/programs/nixvim/plugins/luasnip.nix8
-rw-r--r--modules/programs/nixvim/plugins/noice.nix8
-rw-r--r--modules/programs/nixvim/plugins/nvim-tree.nix44
-rw-r--r--modules/programs/nixvim/plugins/telescope.nix85
-rw-r--r--modules/programs/nixvim/plugins/treesitter.nix19
-rw-r--r--modules/programs/nixvim/plugins/web-devicons.nix8
-rw-r--r--modules/programs/nixvim/plugins/which-key.nix21
14 files changed, 0 insertions, 619 deletions
diff --git a/modules/programs/nixvim/plugins/cmp.nix b/modules/programs/nixvim/plugins/cmp.nix
deleted file mode 100644
index 683e0d3..0000000
--- a/modules/programs/nixvim/plugins/cmp.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ config, lib, ... }:
-
-# Cmp - Completion plugin (nvim-cmp) for auto-completion
-{
- config.programs.nixvim.plugins.cmp = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- autoEnableSources = true;
- settings = {
- snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end";
- mapping = {
- "<C-Space>" = "cmp.mapping.complete()";
- "<CR>" = "cmp.mapping.confirm({ select = true })";
- "<Tab>" = "cmp.mapping.select_next_item()";
- "<S-Tab>" = "cmp.mapping.select_prev_item()";
- "<Down>" = "cmp.mapping.select_next_item()";
- "<Up>" = "cmp.mapping.select_prev_item()";
- "<C-u>" = "cmp.mapping.scroll_docs(-4)"; # scroll docs up
- "<C-d>" = "cmp.mapping.scroll_docs(4)"; # scroll docs down
-
- "<Escape>" = ''
- cmp.mapping(function(fallback)
- if cmp.visible() then
- cmp.abort()
- else
- fallback()
- end
- end, { "i" })
- '';
- };
- sources = [
- { name = "nvim_lsp"; }
- { name = "path"; }
- { name = "buffer"; }
- ];
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/comment.nix b/modules/programs/nixvim/plugins/comment.nix
deleted file mode 100644
index cc1b9cb..0000000
--- a/modules/programs/nixvim/plugins/comment.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ config, lib, ... }:
-
-# Comment - Comment toggling plugin (comment.nvim)
-{
- config.programs.nixvim.plugins.comment = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- settings = {
- toggler = {
- line = "gcc"; # toggle line comment
- block = "gbc"; # toggle block comment
- };
- opleader = {
- line = "gc"; # line comment operator (gc + motion)
- block = "gb"; # block comment operator (gb + motion)
- };
- extra = {
- above = "gcO"; # add comment line above
- below = "gco"; # add comment line below
- eol = "gcA"; # add comment at end of line
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/default.nix b/modules/programs/nixvim/plugins/default.nix
deleted file mode 100644
index a263c51..0000000
--- a/modules/programs/nixvim/plugins/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ ... }:
-
-# Plugins - Collection of nixvim plugin configurations
-{
- imports = [
- ./cmp.nix
- ./comment.nix
- ./gitsigns.nix
- ./indent-blankline.nix
- ./lsp.nix
- ./lualine.nix
- ./luasnip.nix
- ./noice.nix
- ./nvim-tree.nix
- ./telescope.nix
- ./treesitter.nix
- ./web-devicons.nix
- ./which-key.nix
- ];
-}
diff --git a/modules/programs/nixvim/plugins/gitsigns.nix b/modules/programs/nixvim/plugins/gitsigns.nix
deleted file mode 100644
index ea99eba..0000000
--- a/modules/programs/nixvim/plugins/gitsigns.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Gitsigns - Git status in the sign column (gitsigns.nvim)
-{
- config.programs.nixvim.plugins.gitsigns = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/programs/nixvim/plugins/indent-blankline.nix b/modules/programs/nixvim/plugins/indent-blankline.nix
deleted file mode 100644
index eb2674a..0000000
--- a/modules/programs/nixvim/plugins/indent-blankline.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, lib, ... }:
-
-# Indent-blankline - Visual indentation guides (indent-blankline.nvim)
-{
- config.programs.nixvim.plugins.indent-blankline = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- settings = {
- indent = {
- char = "┊";
- tab_char = "│";
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/lsp.nix b/modules/programs/nixvim/plugins/lsp.nix
deleted file mode 100644
index 7fc3ddd..0000000
--- a/modules/programs/nixvim/plugins/lsp.nix
+++ /dev/null
@@ -1,234 +0,0 @@
-{ config, lib, ... }:
-
-# LSP - Language Server Protocol configuration (nvim-lspconfig)
-{
- config.programs.nixvim.plugins.lsp = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- inlayHints = true;
- autoLoad = true;
-
- keymaps.lspBuf = {
- K = "hover";
- gD = "references";
- gd = "definition";
- gi = "implementation";
- gt = "type_definition";
- };
-
- servers = {
- # -- System & Configuration --
- nixd = {
- enable = true;
- package = null;
- }; # Nix
- bashls = {
- enable = true;
- package = null;
- }; # Bash/Shell
- taplo = {
- enable = true;
- package = null;
- }; # TOML
- yamlls = {
- enable = true;
- package = null;
- }; # YAML
- jsonls = {
- enable = true;
- package = null;
- }; # JSON
- marksman = {
- enable = true;
- package = null;
- }; # Markdown
-
- # -- Web Development (HTML/CSS/JS/TS) --
- html = {
- enable = true;
- package = null;
- }; # HTML
- cssls = {
- enable = true;
- package = null;
- }; # CSS/SCSS/LESS
- tailwindcss = {
- enable = true;
- package = null;
- }; # Tailwind CSS
- vtsls = {
- # JS/TS (Modern fast wrapper for tsserver)
- enable = true;
- package = null;
- settings = {
- # Optional but recommended: stops huge generic types from taking over your screen
- vtsls.experimental.maxInlayHintLength = 30;
-
- # TypeScript type inferences
- typescript.inlayHints = {
- parameterNames.enabled = "all";
- parameterTypes.enabled = true;
- variableTypes.enabled = true;
- propertyDeclarationTypes.enabled = true;
- functionLikeReturnTypes.enabled = true;
- enumMemberValues.enabled = true;
- };
-
- # JavaScript type inferences (via JSDoc)
- javascript.inlayHints = {
- parameterNames.enabled = "all";
- parameterTypes.enabled = true;
- variableTypes.enabled = true;
- propertyDeclarationTypes.enabled = true;
- functionLikeReturnTypes.enabled = true;
- enumMemberValues.enabled = true;
- };
- };
- };
- eslint = {
- enable = true;
- package = null;
- }; # ESLint diagnostics/formatting
-
- # -- Web Frameworks --
- volar = {
- # Vue
- enable = true;
- package = null;
- tslsIntegration = false;
- };
- svelte = {
- enable = true;
- package = null;
- }; # Svelte
- astro = {
- enable = true;
- package = null;
- }; # Astro
-
- # -- Scripting & High-Level Languages --
- basedpyright = {
- # Python (Modern, faster fork of Pyright)
- enable = true;
- package = null;
- settings.basedpyright.analysis.inlayHints = {
- variableTypes = true;
- callArgumentNames = true;
- functionReturnTypes = true;
- genericTypes = false; # can get noisy, opt-in
- };
- };
- ruff = {
- enable = true;
- package = null;
- }; # Python (Ultra-fast linter/formatter)
- ruby_lsp = {
- enable = true;
- package = null;
- }; # Ruby (Shopify's modern standard)
- lua_ls = {
- # Lua
- enable = true;
- package = null;
- settings.Lua.hint = {
- enable = true;
- arrayIndex = "Auto";
- setType = true;
- paramName = "All";
- paramType = true;
- };
- };
- intelephense = {
- enable = true;
- package = null;
- }; # PHP
- elixirls = {
- enable = true;
- package = null;
- }; # Elixir
-
- # -- Systems, Compiled, & Enterprise --
- clangd = {
- enable = true;
- package = null;
- }; # C/C++ (inlay hints on by default)
- rust_analyzer = {
- # Rust (inlay hints on by default)
- enable = true;
- package = null;
- installCargo = false;
- installRustc = false;
- };
- gopls = {
- # Go
- enable = true;
- package = null;
- settings.gopls.hints = {
- assignVariableTypes = true;
- compositeLiteralFields = true;
- compositeLiteralTypes = true;
- constantValues = true;
- functionTypeParameters = true;
- parameterNames = true;
- rangeVariableTypes = true;
- };
- };
- zls = {
- enable = true;
- package = null;
- }; # Zig (inlay hints on by default)
- jdtls = {
- # Java
- enable = true;
- package = null;
- settings.java.inlayHints.parameterNames.enabled = "all";
- };
- kotlin_language_server = {
- enable = true;
- package = null;
- }; # Kotlin
- csharp_ls = {
- enable = true;
- package = null;
- }; # C# (.NET) — no inlay hint support
- hls = {
- # Haskell
- enable = true;
- package = null;
- installGhc = false;
- settings.haskell.plugin."inlay-hints".globalOn = true;
- };
- ocamllsp = {
- enable = true;
- package = null;
- }; # OCaml
-
- # -- Infrastructure & DevOps --
- dockerls = {
- enable = true;
- package = null;
- }; # Dockerfile
- docker_compose_language_service = {
- enable = true;
- package = null;
- }; # Docker Compose
- terraformls = {
- enable = true;
- package = null;
- }; # Terraform/HCL
-
- # -- Data & APIs --
- sqlls = {
- enable = true;
- package = null;
- }; # SQL
- graphql = {
- enable = true;
- package = null;
- }; # GraphQL
- prismals = {
- enable = true;
- package = null;
- }; # Prisma ORM
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/lualine.nix b/modules/programs/nixvim/plugins/lualine.nix
deleted file mode 100644
index 72f34be..0000000
--- a/modules/programs/nixvim/plugins/lualine.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ config, lib, ... }:
-
-# Lualine - Statusline configuration (lualine.nvim)
-{
- config.programs.nixvim.plugins.lualine = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- settings = {
- options = {
- theme = with config.scheme.withHashtag; {
- normal = {
- a = {
- fg = base00;
- bg = base0D;
- gui = "bold";
- };
- b = {
- fg = base05;
- bg = base01;
- };
- c = {
- fg = base05;
- bg = base00;
- };
- };
- insert = {
- a = {
- fg = base00;
- bg = base0B;
- gui = "bold";
- };
- b = {
- fg = base05;
- bg = base01;
- };
- c = {
- fg = base05;
- bg = base00;
- };
- };
- visual = {
- a = {
- fg = base00;
- bg = base0A;
- gui = "bold";
- };
- b = {
- fg = base05;
- bg = base01;
- };
- c = {
- fg = base05;
- bg = base00;
- };
- };
- replace = {
- a = {
- fg = base00;
- bg = base08;
- gui = "bold";
- };
- b = {
- fg = base05;
- bg = base01;
- };
- c = {
- fg = base05;
- bg = base00;
- };
- };
- inactive = {
- a = {
- fg = base04;
- bg = base00;
- gui = "bold";
- };
- b = {
- fg = base04;
- bg = base00;
- };
- c = {
- fg = base04;
- bg = base00;
- };
- };
- };
- icons_enabled = true;
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/luasnip.nix b/modules/programs/nixvim/plugins/luasnip.nix
deleted file mode 100644
index 60571e9..0000000
--- a/modules/programs/nixvim/plugins/luasnip.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Luasnip - Snippet engine for Neovim (Lua-based)
-{
- config.programs.nixvim.plugins.luasnip = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/programs/nixvim/plugins/noice.nix b/modules/programs/nixvim/plugins/noice.nix
deleted file mode 100644
index d466506..0000000
--- a/modules/programs/nixvim/plugins/noice.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Noice - Modern UI for Neovim (cmdline, popupmenu, messages)
-{
- config.programs.nixvim.plugins.noice = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/programs/nixvim/plugins/nvim-tree.nix b/modules/programs/nixvim/plugins/nvim-tree.nix
deleted file mode 100644
index 2ad6570..0000000
--- a/modules/programs/nixvim/plugins/nvim-tree.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ config, lib, ... }:
-
-# Nvim-tree - File explorer sidebar (nvim-tree.lua)
-{
- config.programs.nixvim.plugins.nvim-tree = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- settings = {
- filters = {
- dotfiles = false;
- git_clean = false;
- no_buffer = false;
- custom = { };
- };
- git = {
- enable = true;
- ignore = false;
- };
- view = {
- width = 30;
- };
- renderer = {
- indent_markers = {
- enable = true;
- inline_arrows = false;
- icons = {
- corner = "└";
- edge = "│";
- item = "├";
- bottom = "─";
- none = " ";
- };
- };
- icons = {
- show = {
- folder = true;
- folder_arrow = false;
- file = true;
- git = true;
- };
- };
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/telescope.nix b/modules/programs/nixvim/plugins/telescope.nix
deleted file mode 100644
index b9678fc..0000000
--- a/modules/programs/nixvim/plugins/telescope.nix
+++ /dev/null
@@ -1,85 +0,0 @@
-{ config, lib, ... }:
-
-# Telescope - Fuzzy finder
-{
- config.programs.nixvim.plugins.telescope = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- extensions = {
- fzf-native.enable = true; # faster fuzzy sorting
- ui-select.enable = true; # use telescope for vim.ui.select (code actions etc.)
- };
- settings = {
- defaults = {
- layout_strategy = "horizontal";
- layout_config = {
- horizontal = {
- preview_width = 0.55;
- results_width = 0.45;
- };
- width = 0.87;
- height = 0.80;
- };
- mappings = {
- i = {
- "<C-k>".__raw = "require('telescope.actions').move_selection_previous";
- "<C-j>".__raw = "require('telescope.actions').move_selection_next";
- "<Escape>".__raw = "require('telescope.actions').close";
- };
- };
- };
- };
- keymaps = {
- # Files
- "<leader>ff" = {
- action = "find_files";
- options.desc = "Find files";
- };
- "<leader>fg" = {
- action = "live_grep";
- options.desc = "Live grep";
- };
- "<leader>fb" = {
- action = "buffers";
- options.desc = "Find buffers";
- };
- "<leader>fr" = {
- action = "oldfiles";
- options.desc = "Recent files";
- };
-
- # LSP
- "<leader>fd" = {
- action = "diagnostics";
- options.desc = "Diagnostics";
- };
- "<leader>fs" = {
- action = "lsp_document_symbols";
- options.desc = "Document symbols";
- };
-
- # Git
- "<leader>gc" = {
- action = "git_commits";
- options.desc = "Git commits";
- };
- "<leader>gb" = {
- action = "git_branches";
- options.desc = "Git branches";
- };
-
- # Misc
- "<leader>fh" = {
- action = "help_tags";
- options.desc = "Help tags";
- };
- "<leader>fc" = {
- action = "commands";
- options.desc = "Commands";
- };
- "<leader>fk" = {
- action = "keymaps";
- options.desc = "Find keymaps";
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/treesitter.nix b/modules/programs/nixvim/plugins/treesitter.nix
deleted file mode 100644
index 035ac7a..0000000
--- a/modules/programs/nixvim/plugins/treesitter.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, lib, ... }:
-
-# Treesitter - Syntax highlighting and parsing (nvim-treesitter)
-{
- config.programs.nixvim.plugins.treesitter = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- folding = {
- enable = true;
- };
- settings = {
- highlight = {
- enable = true;
- };
- indent = {
- enable = true;
- };
- };
- };
-}
diff --git a/modules/programs/nixvim/plugins/web-devicons.nix b/modules/programs/nixvim/plugins/web-devicons.nix
deleted file mode 100644
index 3c6ad86..0000000
--- a/modules/programs/nixvim/plugins/web-devicons.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ config, lib, ... }:
-
-# Web-devicons - File icons for various file types (nvim-web-devicons)
-{
- config.programs.nixvim.plugins.web-devicons = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- };
-}
diff --git a/modules/programs/nixvim/plugins/which-key.nix b/modules/programs/nixvim/plugins/which-key.nix
deleted file mode 100644
index 18018e7..0000000
--- a/modules/programs/nixvim/plugins/which-key.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ config, lib, ... }:
-
-# Which-key - Popup for keybindings (which-key.nvim)
-{
- config.programs.nixvim.plugins.which-key = lib.mkIf config.programs.nixvim.enable {
- enable = true;
- settings = {
- plugins = {
- marks = true;
- registers = true;
- spelling = {
- enabled = true;
- suggestions = 20;
- };
- };
- win = {
- border = "single";
- };
- };
- };
-}