summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/default.nix
blob: 9c36ff5d3c1c7e436c2d947a73ac6d12bb2bdcf3 (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
54
55
56
57
58
59
60
{
  pkgs,
  inputs,
}:
inputs.mnw.lib.wrap pkgs {
  neovim = pkgs.neovim-unwrapped;

  plugins = with pkgs.vimPlugins; let
    tangerine-nvim = pkgs.vimUtils.buildVimPlugin {
      name = "tangerine-nvim";
      src = pkgs.fetchFromGithub {
        owner = "udayvir-singh";
        repo = "tangerine.nvim";
        tag = "v2.9";
        hash = "";
      };
    };
  in {
    dev.config.pure = ./config;
    start = [
      tangerine-nvim # Allow configuration in fennel.

      # 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.
      # friendly-snippets # Extra snippets.

      # 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
    fennel-ls # Fennel LS
    nixd # Nix LS
    marksman # Markdown LS

    # Formatters
    alejandra # Nix Formatter

    # Extra Tools
    ripgrep
  ];
}