diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-15 20:02:29 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-15 20:03:04 +0530 |
| commit | 01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 (patch) | |
| tree | 88560b79fa71e3b83d9d9aca6d1bb40673a1a170 /modules/programs/nixvim/plugins | |
| parent | 2c573bb0c437b83fe629a9a5b818c976d2dfd796 (diff) | |
| download | home-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.nix | 37 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/comment.nix | 23 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/default.nix | 20 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/gitsigns.nix | 8 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/indent-blankline.nix | 14 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/lsp.nix | 234 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/lualine.nix | 90 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/luasnip.nix | 8 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/noice.nix | 8 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/nvim-tree.nix | 44 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/telescope.nix | 85 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/treesitter.nix | 19 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/web-devicons.nix | 8 | ||||
| -rw-r--r-- | modules/programs/nixvim/plugins/which-key.nix | 21 |
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"; - }; - }; - }; -} |
