Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

DashVim configuration

programs.dashvim.enableNvfDefaultKeybinds

Nvf has a ton of default keybinds, this options re-enables them.

Type: boolean

Default:

false

Example:

true

programs.dashvim.accentColor

Overrides base0D as it is most widely used as primary color.

Type: null or string

Default:

null

Example:

"F7768E"

programs.dashvim.additionalConfig

Nvf configuration to be added to DashVim.

Type: attribute set of anything

Default:

{ }

programs.dashvim.additionalLuaConfigFiles

A list of lua files to be added to DashVim

Type: list of absolute path

Default:

[ ]

programs.dashvim.agent.enable

Enables codecompanion

Type: boolean

Default:

false

Example:

true

programs.dashvim.agent.config

Config for codecompanion

Type: attribute set of anything

Default:

{ }

Example:

{ }

programs.dashvim.agent.key

Key for your agent. Please don’t use a plain text key, try sops-nix or agenix instead.

Type: null or anything

Default:

null

Example:

null

programs.dashvim.agent.variant

The agent type, see codecompanion for details.

Type: string

Default:

"copilot"

Example:

"openai"

programs.dashvim.colorscheme

Base16 colorscheme. Can be an attribute set with base00 to base0F, a string that leads to a yaml file in base16-schemes path, or a path to a custom yaml file.

Type: string or (attribute set) or absolute path

Default:

{
  base00 = "1e1e2e";
  base01 = "181825";
  base02 = "313244";
  base03 = "45475a";
  base04 = "585b70";
  base05 = "cdd6f4";
  base06 = "f5e0dc";
  base07 = "b4befe";
  base08 = "f38ba8";
  base09 = "fab387";
  base0A = "f9e2af";
  base0B = "a6e3a1";
  base0C = "94e2d5";
  base0D = "89b4fa";
  base0E = "cba6f7";
  base0F = "f2cdcd";
}

Example:

{
  base00 = "1A1B26";
  base01 = "191a25";
  base02 = "2F3549";
  base03 = "444B6A";
  base04 = "787C99";
  base05 = "A9B1D6";
  base06 = "CBCCD1";
  base07 = "D5D6DB";
  base08 = "C0CAF5";
  base09 = "A9B1D7";
  base0A = "0DB9D7";
  base0B = "9ECE6A";
  base0C = "B4F9F8";
  base0D = "366fea";
  base0E = "BB9AF7";
  base0F = "F7768E";
}

programs.dashvim.dashboardAscii

The Ascii picture for dashboard.nvim.

Type: list of string

Default:

[
  " _______       ___           _______. __    __   __   _______ "
  "|       \\     /   \\         /       ||  |  |  | |  | |   ____|"
  "|  .--.  |   /  ^  \\       |   (----`|  |__|  | |  | |  |__   "
  "|  |  |  |  /  /_\\  \\       \\   \\    |   __   | |  | |   __|  "
  "|  '--'  | /  _____  \\  .----)   |   |  |  |  | |  | |  |____ "
  "|_______/ /__/     \\__\\ |_______/    |__|  |__| |__| |_______|"
  "                                                               "
]

Example:

[
  "yourpicture"
]

programs.dashvim.formatters

Config for conform

Type: attribute set of anything

Default:

{
  cs = [
    "csharpier"
  ];
  csharp = [
    "csharpier"
  ];
  css = [
    "prettierd"
    "prettier"
  ];
  fsharp = [
    "fantomas"
  ];
  html = [
    "prettierd"
    "prettier"
  ];
  htmlangular = [
    "prettierd"
    "prettier"
  ];
  javascript = [
    "prettierd"
    "prettier"
  ];
  javascriptreact = [
    "prettierd"
    "prettier"
  ];
  json = [
    "prettierd"
    "prettier"
  ];
  lua = [
    "stylua"
  ];
  markdown = [
    "prettierd"
    "prettier"
  ];
  nix = [
    "alejandra"
  ];
  php = [
    "prettierd"
    "prettier"
  ];
  python = [
    "black"
  ];
  scss = [
    "prettierd"
    "prettier"
  ];
  typescript = [
    "prettierd"
    "prettier"
  ];
  typescriptreact = [
    "prettierd"
    "prettier"
  ];
  yaml = [
    "yamllint"
    "yamlfmt"
  ];
}

Example:

{ }

programs.dashvim.instantUsername

Username for instant.nvim

Type: string

Default:

"DashVim"

Example:

"yourUserName"

programs.dashvim.lsp.additionalConfig

Nvf lsp configuration to be added to DashVim.

Type: attribute set of anything

Default:

{ }

programs.dashvim.lsp.lspServers

Nvf LSP config -> vim.languages

Type: attribute set of anything

Default:

{
  assembly = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  bash = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  clang = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  csharp = {
    enable = true;
    lsp = {
      enable = false;
      servers = [
        "roslyn-ls"
      ];
    };
  };
  css = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  dart = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  elixir = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  enableDAP = true;
  enableExtraDiagnostics = true;
  enableFormat = true;
  enableTreesitter = true;
  fsharp = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  gleam = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  go = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  html = {
    enable = true;
  };
  java = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  kotlin = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  lua = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  markdown = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  nix = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  php = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  python = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  ruby = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  rust = {
    enable = true;
    extensions = {
      crates-nvim = {
        enable = true;
      };
    };
    lsp = {
      enable = true;
    };
  };
  sql = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  svelte = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  terraform = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  ts = {
    enable = true;
    lsp = {
      enable = false;
    };
  };
  typst = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  vala = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  wgsl = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  yaml = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
  zig = {
    enable = true;
    lsp = {
      enable = true;
    };
  };
}

Example:

{ }

programs.dashvim.lsp.special.roslyn.broadSearch

Whether roslyn.nvim should search parent and child directories for solution files.

Type: boolean

Default:

true

Example:

false

programs.dashvim.lsp.special.roslyn.filewatching

File watching mode for roslyn.nvim. “off” disables recursive watched-file registrations to avoid Roslyn or Neovim watching too much of the filesystem, while DashVim still sends targeted save notifications for C# project files. “auto” lets roslyn.nvim choose client or server watching, and “roslyn” forces Roslyn’s built-in file watcher.

Type: one of “auto”, “roslyn”, “off”

Default:

"off"

Example:

"auto"

programs.dashvim.lsp.special.roslyn.lockTarget

Whether roslyn.nvim should keep using the selected solution target for later C# buffers.

Type: boolean

Default:

true

Example:

false

programs.dashvim.lsp.special.useAngular

Whether to enable angular ls. Note this disables Html-ls and removes the typescript renaming function.

Type: boolean

Default:

false

Example:

true

programs.dashvim.lsp.tailwind.enable

Whether to use tailwind lsp

Type: unspecified value

Default:

true

Example:

false

programs.dashvim.lsp.useDefaultSpecialLspServers

These are LSP servers which are installed via plugins. For example rustaceanvim for rust. Disabling this will remove all special servers. You can install specific ones using the additionalConfig.

Type: boolean

Default:

true

Example:

false

programs.dashvim.opencode.enable

Enables opencode integration including the opencode-nvim plugin, the opencode binary, theme syncing, and config deployment.

Type: boolean

Default:

true

Example:

false

programs.dashvim.opencode.config

Additional opencode.json configuration to merge.

Type: attribute set of anything

Default:

{ }

Example:

{
  autoupdate = false;
  permission = "ask";
}

programs.dashvim.opencode.plugin

List of opencode plugins to enable (npm package names).

Type: list of string

Default:

[ ]

Example:

[
  "opencode-helicone-session"
]

programs.dashvim.opencode.theme

The opencode theme name. By default uses “dashvim” which is auto-generated from your base16/base24 colorscheme.

Type: string

Default:

"dashvim"

Example:

"catppuccin"

programs.dashvim.toolchain.preferProjectTools

Prefer project-local LSP, formatter, and linter executables found in Neovim’s runtime PATH. DashVim’s pinned Nix tools remain the fallback when no different project tool is available.

Type: boolean

Default:

true

Example:

false

programs.dashvim.useDefaultCmpConfig

Enables default cmp config

Type: boolean

Default:

true

Example:

false

programs.dashvim.useDefaultKeybinds

Enables the default keybinds for DashVim. Keep in mind that regular keymaps from plugin defaults and Neovim are still active.

Type: boolean

Default:

true

Example:

false