summaryrefslogtreecommitdiffstats
path: root/flake/templates/standalone/configuration.nix
blob: cc26fd2306a57c874214b76f9f9ab0424e3241f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# A module to be evaluated via lib.evalModules inside nvf's module system.
# All options supported by nvf will go under config.vim to create the final
# wrapped package. You may also add some new *options* under options.* to
# expand the module system.
{
  # You may browse available options for nvf on the online manual. Please see
  # <https://notashelf.github.io/nvf/options.html>
  config.vim = {
    theme.enable = true;

    # You may want to configure builtin options of Neovim
    options = {
      # Allows for project-local configuration
      # <https://neovim.io/doc/user/options/#'exrc'>
      exrc = true;
      secure = true;
    };

    lsp = {
      # Enable LSP functionality globally. This is required for modules found
      # in `vim.languages` to enable relevant LSPs.
      enable = true;

      # You may define your own LSP configurations using `vim.lsp.servers` in
      # nvf without ever needing lspconfig to do it. This will use the native
      # API provided by Neovim > 0.11
      servers = {};
    };

    # Language support and automatic configuration of companion plugins.
    # Note that enabling, e.g., languages.<lang>.diagnostics will automatically
    # enable top-level options such as enableLSP or enableExtraDiagnostics as
    # they are needed.
    languages = {
      enableFormat = true;
      enableTreesitter = true;
      enableExtraDiagnostics = true;

      # Nix language and diagnostics.
      nix.enable = true;
    };
  };
}