Skip to content

Add comprehensive snacks.nvim integration with documentation and templates#8

Closed
Copilot wants to merge 6 commits intolook-into-snacksfrom
copilot/fix-52bc1a6d-fdfe-43e1-8e61-cfae0ff22f54
Closed

Add comprehensive snacks.nvim integration with documentation and templates#8
Copilot wants to merge 6 commits intolook-into-snacksfrom
copilot/fix-52bc1a6d-fdfe-43e1-8e61-cfae0ff22f54

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Aug 7, 2025

This PR adds comprehensive integration support for folke/snacks.nvim, a collection of 26+ small quality-of-life plugins for Neovim, into the GigVim nvf-based configuration.

What is snacks.nvim?

Snacks.nvim is a modular plugin collection that provides essential Neovim enhancements including:

  • File management: Advanced picker, file explorer, big file handling
  • UI improvements: Better notifications, input, dashboard, smooth scrolling
  • Development tools: Git integration, terminal, scratch buffers, debugging utilities
  • Visual enhancements: Indent guides, scope detection, zen mode, animations

Integration Challenge

Snacks.nvim presents unique integration challenges for nvf:

  • Requires early initialization (priority = 1000, lazy = false)
  • Complex modular architecture with 26+ individual components
  • Special autocmd setup requirements
  • Potential conflicts with existing nvf plugins

Solution

This PR provides a complete integration ecosystem:

1. Comprehensive Documentation

  • Internal documentation linking to all external snacks.nvim resources
  • Integration guide specific to nvf patterns and GigVim
  • Conflict resolution strategies for common plugin conflicts
  • Migration guides from telescope, dashboard-nvim, nvim-tree, etc.

2. Four Configuration Templates

Default (snacks-nvim.nix) - Recommended for most users

# Balanced setup with core QoL improvements
bigfile, dashboard, explorer, indent, input, notifier, picker, 
quickfile, scope, scroll, statuscolumn, words

Minimal (TEMPLATE-snacks-nvim-minimal.nix) - Conservative setup

# Essential improvements only, minimal conflicts
bigfile, input, notifier, quickfile

Developer (TEMPLATE-snacks-nvim-dev.nix) - Development-focused

# Enhanced dev tools with debugging and git integration
Core + debug, picker, profiler, git tools, terminal, scratch

Full (TEMPLATE-snacks-nvim-full.nix) - Power users

# All 26+ snacks with comprehensive configuration
Complete snacks.nvim experience

3. nvf-Specific Integration

Each template follows nvf patterns:

  • Uses extraPlugins mechanism with proper priority handling
  • Includes comprehensive keymap schemes appropriate to each configuration level
  • Provides conflict prevention through conservative defaults
  • Implements performance optimizations for nvf environment

4. Usage Examples

Quick start with default configuration:

let
  snacksModule = import ./plugins/optional/snacks-nvim.nix { inherit inputs pkgs; };
in {
  imports = [ ./minimal.nix snacksModule ];
}

Key features enabled by default:

  • <leader>ff - Smart file picker with fuzzy search
  • <leader>e - File explorer
  • <leader>n - Notification history
  • ]] / [[ - LSP reference navigation
  • Automatic big file optimization and smooth scrolling

Files Added

docs/plugins/
├── snacks-nvim.md                    # Complete feature documentation
├── snacks-nvim-integration.md       # nvf integration guide  
├── snacks-nvim-full-example.nix     # Full configuration example
└── README.md                        # Overview and quick start

plugins/optional/
├── snacks-nvim.nix                  # Default configuration
├── TEMPLATE-snacks-nvim-minimal.nix # Conservative setup
├── TEMPLATE-snacks-nvim-dev.nix     # Developer-focused
└── TEMPLATE-snacks-nvim-full.nix    # Complete feature set

Migration Support

The integration provides detailed migration paths from common plugins:

  • Telescope → snacks.picker: Gradual migration with keymap compatibility
  • Dashboard-nvim → snacks.dashboard: Section migration and customization
  • Nvim-tree → snacks.explorer: Feature parity verification
  • Nvim-notify → snacks.notifier: Notification handling updates

Validation

  • Health check support via :checkhealth snacks
  • Performance profiling with snacks.profiler
  • Debug utilities with global dd() and bt() functions
  • Comprehensive troubleshooting documentation

This integration enables GigVim users to leverage snacks.nvim's powerful feature set while maintaining the declarative, reproducible nature of the nvf framework.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • nixos.org
    • Triggering command: curl -L REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

… templates

Co-authored-by: gignsky <13265812+gignsky@users.noreply.github.com>
Copilot AI changed the title [WIP] Look into the initial session instructions for the session running currently in the pr here @gignsky/gigvim/pull/7 and understand what I mean when I ask you to document and template out the plugin I'm about to give you: I want you to full investigate ... Add comprehensive snacks.nvim integration with documentation and templates Aug 7, 2025
Copilot AI requested a review from gignsky August 7, 2025 14:25
@gignsky gignsky added the enhancement New feature or request label Aug 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants