How to setup snacks.nvim plugin for nvf

I recently installed nvf after a long struggle and wanted to install snacks.nvim.
But the options documentation for nvf has only 2 options. enable and setupOps.

nvf/default.nix

{ config, pkgs, … }:

{
vim = {
# Theme settings
theme = {
enable = true;
name = “oxocarbon”;
style = “dark”;
};

# UI enhancements
statusline.lualine.enable = true;
statusline.lualine.theme = "palenight";

binds.whichKey = {
    enable = true;
    setupOpts.notify = true;
    setupOpts.preset = "modern"; # classic, modern, helix
    setupOpts.win.border = "rounded";
};

mini.tabline = {
  enable = true;
};

telescope.enable = true;

filetree.nvimTree = {
  enable = true;
  mappings.toggle = " t";
  setupOpts.hijack_cursor = true;
};

# Snacks
utility.snacks-nvim = {
  enable = true;
  setupOpts = {
    bigfile.enable = true;
    dashboard.enable = true;
  };
};

# Editor features
autopairs.nvim-autopairs.enable = true;
comments.comment-nvim.enable = true;
useSystemClipboard = true;
autocomplete.nvim-cmp.enable = true;
git.gitsigns.enable = true;
utility.motion.hop.enable = true;    # Quick navigation
utility.surround.enable = true;

# Terminal integration
terminal.toggleterm.enable = true; # might not need afte snacks being used

# Language support
languages = {
  enableLSP = true;
  enableTreesitter = true;
  enableFormat = true;

  nix.enable = true;
  clang.enable = true;
  rust.enable = true;
  python.enable = true;
  markdown.enable = true;
};

debugger.nvim-dap = {
  enable = true;       # Enable Debug Adapter Protocol
  ui.enable = true;    # Enable DAP UI (nvim-dap-ui)
};

};
}

However i could’nt find any documentation on how use setupOpts.
but after rebuilding this nix file, opened nvf and did :checkHealth snacks and noticed something

snacks healthcheck

snacks: require(“snacks.health”).check()

Snacks ~

  • OK setup called

Snacks.bigfile ~

  • OK setup {enabled}

Snacks.dashboard ~

  • OK setup {enabled}
  • OK setup ran
  • WARNING dashboard did not open: argc(-1) > 0

Snacks.explorer ~

  • WARNING setup {disabled}

Snacks.image ~

  • WARNING setup {disabled}
  • ERROR None of the tools found: ‘kitty’, ‘wezterm’, ‘ghostty’
  • ERROR None of the tools found: ‘magick’, ‘convert’
  • ERROR magick is required to convert images. Only PNG files will be displayed.
  • OK Terminal Dimensions:
    • {size}: 1507 x 748 pixels
    • {scale}: 1.00
    • {cell}: 7 x 15 pixels
  • OK Available Treesitter languages:
    markdown_inline, markdown
  • WARNING Missing Treesitter languages:
    css, html, javascript, latex, norg, scss, svelte, tsx, typst, vue
  • WARNING Image rendering in docs with missing treesitter parsers won’t work
  • ERROR Tool not found: ‘gs’
  • WARNING gs is required to render PDF files
  • ERROR None of the tools found: ‘tectonic’, ‘pdflatex’
  • WARNING tectonic or pdflatex is required to render LaTeX math expressions
  • ERROR Tool not found: ‘mmdc’
  • WARNING mmdc is required to render Mermaid diagrams
  • ERROR your terminal does not support the kitty graphics protocol
  • supported terminals: kitty, wezterm, ghostty

Snacks.input ~

  • WARNING setup {disabled}

Snacks.lazygit ~

  • ERROR {lazygit} not installed

Snacks.notifier ~

  • WARNING setup {disabled}
  • ERROR is not ready

Snacks.picker ~

  • WARNING setup {disabled}
  • WARNING vim.ui.select for Snacks.picker is not enabled
  • WARNING Missing Treesitter languages:
    regex
  • OK ‘git’ git version 2.47.2
  • ERROR Tool not found: ‘rg’
  • ERROR ‘rg’ is required for Snacks.picker.grep()
  • ERROR None of the tools found: ‘fd’, ‘fdfind’
  • OK ‘find’
  • OK Snacks.picker.files() is available
  • ERROR ‘fd’ v8.4 is required for searching with Snacks.picker.explorer()
  • WARNING SQLite3 is not available. Frecency and history will be stored in a file instead.

Snacks.quickfile ~

  • WARNING setup {disabled}

Snacks.scope ~

  • WARNING setup {disabled}

Snacks.scroll ~

  • WARNING setup {disabled}

Snacks.statuscolumn ~

  • WARNING setup {disabled}

Snacks.terminal ~

  • OK shell configured
    • vim.o.shell: /run/current-system/sw/bin/zsh
    • parsed: { “/run/current-system/sw/bin/zsh” }

Snacks.toggle ~

  • OK {which-key} is installed

Snacks.words ~

  • WARNING setup {disabled}

as and when i added something like dashboard, bigfile , treesitter, whichkey,… the helthcheck report started printing OK.

Question:

  1. is this the right way to do it. i mean manually add the plugins based on the options from the documentation ?
  2. how to add ui related changes. im especially looking for debugger related UI

Thanks,