return {
  {
    "folke/snacks.nvim",
    keys = {
      { "<leader>t", function() Snacks.explorer({ cwd = LazyVim.root() }) end, desc = "Explorer (Root Dir)" },
      { "<leader>T", function() Snacks.explorer() end, desc = "Explorer (cwd)" },
    },
    opts = {
      picker = {
        sources = {
          explorer = {
            hidden = false,        -- dotfiles hidden by default; H to toggle
            ignored = false,       -- gitignored files hidden by default; I to toggle
            follow_file = true,    -- auto-reveal current buffer in tree
            git_status = true,
            git_untracked = true,
            watch = true,          -- live file watcher
            exclude = { "node_modules", ".next", ".vscode", ".idea", ".DS_Store", "thumbs.db" },
            include = { ".env*" }, -- always show .env files regardless of hidden/ignored
            layout = {
              layout = {
                width = 30,
                min_width = 30,
              },
            },
            win = {
              list = {
                keys = {
                  ["S"] = "split",  -- horizontal split (like NeoTree S)
                  ["s"] = "vsplit", -- vertical split (like NeoTree s)
                  ["t"] = "tab",    -- new tab (like NeoTree t)
                },
              },
            },
          },
        },
      },
    },
  },
}
