summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/default.nix
blob: 61f69ef1b7202fff172c25e0e63b070543f083ee (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
44
45
46
47
48
49
50
51
52
53
{
  pkgs,
  inputs,
}:
inputs.mnw.lib.wrap pkgs {
  neovim = pkgs.neovim-unwrapped;

  plugins = with pkgs.vimPlugins; {
    dev.config = {
      pure = ./config;
    };
    start = [
      # Core Plugins
      mini-nvim # Ton of small modules.
      nvim-lspconfig # Adds lsp presets.
      actions-preview-nvim # Adds a selector for LSP actions.
      nvim-treesitter.withAllGrammars # All treesitter grammars.
      tabby-nvim # Tab bar.
      lualine-nvim # Status line.
      telescope-nvim # Picker.
      plenary-nvim # General Library.
      alpha-nvim # Dashboard.
      dashboard-nvim

      # Colorschemes
      oxocarbon-nvim # IBM Carbon themes.
      rose-pine # Rose Pine themes.
      kanagawa-nvim # Kanagawa themes.
      everforest # Green themes.
      nordic-nvim # Warm dark nordic theme.

      # Miscellaneous Plugins
      presence-nvim # Discord RPC for nvim.
      cellular-automaton-nvim # Fun useless plugin.
    ];
    opt = [];
  };

  luaFiles = [./config/init.lua];

  extraBinPath = with pkgs; [
    # LSP Servers
    lua-language-server # Lua LS
    nixd # Nix LS
    marksman # Markdown LS

    # Formatters
    alejandra # Nix Formatter

    # Extra Tools
    ripgrep
  ];
}