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.additionalConfig

NixVim configuration to be added to DashVim.

Type: attribute set of anything

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.alphaPicture

The Ascii picture for alpha.nvim.

Type: list of string

Default:

[
  " _______       ___           _______. __    __   __   _______ "
  "|       \\     /   \\         /       ||  |  |  | |  | |   ____|"
  "|  .--.  |   /  ^  \\       |   (----`|  |__|  | |  | |  |__   "
  "|  |  |  |  /  /_\\  \\       \\   \\    |   __   | |  | |   __|  "
  "|  '--'  | /  _____  \\  .----)   |   |  |  |  | |  | |  |____ "
  "|_______/ /__/     \\__\\ |_______/    |__|  |__| |__| |_______|"
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠪⣍⣒⠒⠦⠤⠤⠤⠄⠠⡜⡐⠁⠪⡢⡀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⢄⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠈⠛⠯⣉⠁⣐⣂⠐⠮⠥⠟⣓⣲⣾⣿⣿⣿⣶⡃⠀⠀⠈⢞⢆⠀⠀⠀⠀⠀⠀⡰⢁⠂⠄⣇⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⣠⠤⠤⠭⠷⠎⡡⠔⠒⠘⠀⢹⣿⣿⣿⣿⣿⠀⠈⠀⠀⠀⢢⢣⠀⠀⠀⠀⢀⡇⠈⠀⢰⢰⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⢸⢰⠀⠀⠀⡩⢋⣀⣤⣤⣤⣤⣤⣿⣿⠟⠿⣿⡀⠀⠀⠀⠀⠀⠆⢳⠀⠀⠀⢸⠀⠂⠀⠀⡈⡆⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⢣⢂⠀⠮⡪⠛⠉⢋⠝⠻⢿⢿⡿⢁⠔⢋⣸⠇⠀⠀⠀⠀⠀⡘⣆⢣⠀⠀⡼⠀⠀⠀⠀⡇⣇⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⡣⢲⡊⠀⠀⠀⠀⠀⡴⠃⣼⠡⢪⠔⠋⠀⠀⠀⢀⠀⠀⠀⢸⣿⡄⢆⠀⡇⠀⠀⠀⠀⠁⢸⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⢰⢡⡇⠀⠀⢀⠔⠠⠊⣰⠞⡇⢠⠃⠀⣠⣶⣿⣷⣷⣷⠄⠀⠈⡟⣷⡸⡄⡇⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⡇⣾⠀⣀⠔⣁⣤⣦⢺⣿⡆⡆⡃⠀⢨⠃⢸⣿⣿⣿⠏⠀⠠⢀⢠⣿⡇⣧⡇⠀⠀⠀⠀⠀⢸⣆⢔⡲⡆⠀          "
  "        ⠀⠀⣠⠞⠼⠧⢙⡒⣾⣿⣿⡷⡘⣟⣷⣜⡃⠀⡼⠀⠀⠷⠗⠋⠀⠀⠀⢀⡟⣿⣿⢀⠓⠀⠀⠀⠀⠀⢸⢋⠊⠀⡇⠀          "
  "        ⠘⠛⠒⠒⠉⠉⠁⡇⣿⣽⣿⡇⠈⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣠⠟⠀⣷⣿⣇⠱⡀⠀⠀⠀⡄⢀⠃⠀⡄⡇⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⡇⢸⣏⢀⣧⠀⠈⠆⠀⠀⠀⠀⠀⠀⠀⠀⡠⢊⡴⡟⠀⡼⢁⢸⡙⣠⠁⠀⠀⠀⢇⠆⠀⢀⢳⡇⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⢳⢀⣵⢸⣯⣷⣤⣀⠀⠀⠀⠀⠀⢀⣐⠮⠔⡎⠘⠀⠈⢀⢮⣿⣷⠁⠇⠠⠀⢰⠎⠀⠀⡘⣸⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⢀⠎⢬⢘⣯⠛⢻⠏⣿⣿⣶⣶⡶⠋⠉⠀⠀⢸⠀⠀⡔⠀⣪⣿⣿⢻⠀⠸⠈⡇⠛⠀⠠⢀⢃⡇⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠈⡹⡡⣪⡏⠛⠀⠀⢠⡟⢻⣿⣿⡇⠀⠀⠀⠀⢼⡆⠠⡇⢰⣿⣿⣿⣻⡄⠀⡆⠁⠀⣠⠃⠌⠼⠤⠤⡀          "
  "        ⠀⠀⠀⣀⡠⢞⣳⣽⢸⡇⠀⡇⠀⠸⠀⣼⣿⣿⡇⠀⠀⠀⠀⠈⡇⣰⠃⣶⡍⣼⣿⣏⠃⠀⠁⢠⠊⣀⣜⠤⠐⢂⢆⠇          "
  "        ⠀⠀⠈⠉⠉⠁⠀⢇⢸⡟⠀⡇⠀⡇⢸⢷⣹⣿⡇⠀⠀⠀⠀⠀⢳⡽⠃⡞⣇⣿⣧⣿⠀⠀⢸⠃⢠⠃⠀⢀⠤⢢⠞⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⢸⡀⡇⠀⠁⢠⠁⣿⠈⣿⣿⠇⠀⠀⠀⠀⠀⠀⠁⡆⡇⣾⠿⣹⣿⠀⠀⠃⡰⠃⡰⢔⣡⠞⠁⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⢇⢠⠀⠂⡌⠀⢽⠁⣟⡟⠀⠀⠀⠀⠀⠀⠀⠀⣇⢶⢹⣤⣿⠇⠀⣀⣈⠝⡱⠒⠉⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠈⣎⡄⠀⡷⠀⢸⠀⢹⠇⠀⠀⠀⠀⠀⠀⠀⠀⠫⣼⣾⣿⢋⠤⠤⠥⢆⡞⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⢀⢫⣡⢸⠎⢃⢘⠀⢈⡄⠀⠀⠀⠀⠀⠀⠀⠀⢀⡽⣽⢀⡋⠉⠑⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠉⠳⡯⣇⢆⠻⣆⠈⣤⠀⠀⠀⠀⣀⡀⠤⢚⡨⠷⣝⠗⠑⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠫⣗⠳⡜⠵⠀⡍⡥⠤⠤⠤⠄⠒⠉⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠫⡆⣇⠇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡙⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
  "        ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣦⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀          "
]

Example:

[
  "yourpicture"
]

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: "catppuccin-mocha"

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.instantUsername

Username for instant.nvim

Type: string

Default: "DashVim"

Example: "yourUserName"

programs.dashvim.lsp.lspServers

LspServers to enable.

Type: attribute set of anything

Default:

{
  angularls = {
    cmd = [
      "ngserver"
    ];
    enable = false;
    package = null;
  };
  bashls = {
    enable = true;
  };
  clangd = {
    enable = true;
  };
  cmake = {
    enable = true;
  };
  cssls = {
    enable = true;
    filetypes = [
      "css"
      "scss"
    ];
  };
  dartls = {
    enable = true;
  };
  dhall_lsp_server = {
    enable = true;
  };
  elixirls = {
    enable = true;
  };
  elmls = {
    enable = true;
  };
  eslint = {
    enable = true;
  };
  fsautocomplete = {
    cmd = [
      "fsautocomplete"
      "--adaptive-lsp-server-enabled"
      "--project-graph-enabled"
      "--use-fcs-transparent-compiler"
    ];
    enable = true;
    extraOptions = {
      init_options = {
        AutomaticWorkspaceInit = true;
      };
    };
    settings = {
      FSharp = {
        AutomaticWorkspaceInit = true;
        EnableReferenceCodeLens = true;
        ExternalAutocomplete = false;
        InterfaceStubGeneration = true;
        InterfaceStubGenerationMethodBody = "";
        InterfaceStubGenerationObjectIdentifier = "this";
        Linter = false;
        RecordStubGeneration = true;
        RecordStubGenerationBody = "";
        ResolveNamespaces = true;
        SimplifyNameAnalyzer = false;
        UnionCaseStubGeneration = true;
        UnionCaseStubGenerationBody = "";
        UnnecessaryParenthesesAnalyzer = false;
        UnusedDeclarationsAnalyzer = true;
        UnusedOpensAnalyzer = true;
        UseSdkScripts = true;
        excludeProjectDirectories = [
          ".git"
          "paket-files"
          ".fable"
          "packages"
          "node_modules"
          "tools"
        ];
        keywordsAutocomplete = true;
      };
    };
  };
  gdscript = {
    enable = true;
    package = null;
  };
  gleam = {
    enable = true;
  };
  gopls = {
    enable = true;
  };
  html = {
    enable = true;
  };
  htmx = {
    enable = true;
  };
  java_language_server = {
    enable = true;
  };
  jsonls = {
    enable = false;
  };
  julials = {
    enable = true;
    package = null;
  };
  kotlin_language_server = {
    enable = true;
  };
  ltex_plus = {
    enable = false;
    filetypes = [
      "typst"
      "markdown"
      "gitcommit"
      "tex"
      "latex"
      "org"
      "plaintext"
    ];
    package = null;
    settings = {
      ltex = {
        enabled = [
          "typst"
          "markdown"
          "gitcommit"
          "tex"
          "latex"
          "org"
          "plaintext"
        ];
      };
    };
  };
  lua_ls = {
    enable = true;
  };
  nixd = {
    enable = true;
    settings = {
      formatting = {
        command = [
          "alejandra"
        ];
      };
    };
  };
  nushell = {
    enable = true;
  };
  ocamllsp = {
    enable = true;
    package = null;
  };
  phpactor = {
    enable = true;
  };
  pyright = {
    enable = true;
  };
  ruby_lsp = {
    enable = true;
  };
  rust_analyzer = {
    enable = true;
    installCargo = false;
    installRustc = false;
  };
  sqls = {
    enable = true;
  };
  svelte = {
    enable = true;
  };
  tailwindcss = {
    enable = true;
  };
  taplo = {
    enable = true;
  };
  terraformls = {
    enable = true;
  };
  texlab = {
    enable = true;
  };
  tinymist = {
    enable = true;
  };
  vuels = {
    enable = true;
    package = null;
  };
  yamlls = {
    enable = true;
  };
  zls = {
    enable = true;
  };
}

Example: { }

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.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 additional config.

Type: boolean

Default: true

Example: false

programs.dashvim.useDefaultCmpconfig

Enables Lsp config, conform and DAP.

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