No description
Find a file
2025-08-15 00:20:09 +02:00
lua upd 2025-08-15 00:20:09 +02:00
init.lua make diagnostics inline 2025-08-05 20:35:04 +02:00
README.md add claude code and plug.lua 2025-08-05 20:18:11 +02:00

Neovim Configuration

A modern, minimal Neovim configuration built around Neovim's native package management with custom plugin handling.

Features

  • Native Package Management: Uses Neovim's built-in vim.pack for plugin management
  • Custom Plugin System: Custom pack.lua module for simplified plugin configuration
  • Modern UI: Catppuccin colorscheme with transparency and custom color overrides
  • LSP Integration: Full Language Server Protocol support with Mason for easy installation
  • Smart Completion: Blink.cmp for fast, intelligent autocompletion
  • Efficient Navigation: Mini.pick for fuzzy finding, Oil.nvim for file management
  • Syntax Highlighting: Treesitter with support for multiple languages

Plugin Highlights

  • Colorscheme: Catppuccin (Macchiato flavor) with custom transparency
  • LSP: Mason + nvim-lspconfig for language servers
  • Completion: Blink.cmp with snippet support
  • File Management: Oil.nvim for directory editing
  • Status Line: Lualine with clean separators
  • Development: Claude Code integration for AI assistance

pack.lua

pack.lua is a custom plugin management wrapper that bridges the gap between modern plugin managers (like lazy.nvim) and Neovim's native package system. It provides:

Key Features

  • Lazy.nvim-compatible syntax: Write plugin specs similar to lazy.nvim
  • Dependency resolution: Automatically handles nested plugin dependencies
  • Auto-setup: Automatically calls setup() functions with provided options
  • URL flexibility: Supports various URL formats and naming conventions

Use Case

Perfect for users who want the simplicity of native Neovim package management without sacrificing the convenience of modern plugin configuration patterns. Instead of manually managing vim.pack.add() calls and setup functions, you can define plugins declaratively:

local plugins = {
    'https://github.com/catppuccin/nvim',

    { url = 'https://github.com/echasnovski/mini.pick',
      setup = true },

    { url = 'https://github.com/nvim-lualine/lualine.nvim',
      dependencies = { 'https://github.com/nvim-tree/nvim-web-devicons' },
      setup = function()
        require('lualine').setup({ /* config */ })
      end }
}

The module handles the complexity of dependency ordering, plugin loading, and setup calls automatically.

Key Bindings

  • Leader: <Space>
  • File Navigation: <leader>ff (files), <leader>e (Oil)
  • LSP: <leader>gd (hover), <leader>lf (format)
  • Terminal: <leader>tt (new terminal)
  • Claude Code: <leader>cc (toggle AI assistant)

Configuration Structure

lua/
├── colors.lua      # Catppuccin theme configuration
├── keymap.lua      # Key mappings
├── lsp.lua         # LSP and completion setup
├── options.lua     # Vim options and settings
├── pack.lua        # Custom plugin management system
└── plug.lua        # Plugin definitions and setup