summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/default.nix
blob: a6e5b62154493f9a2d2234fd6a7bdeaeb1e5392b (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
61
62
63
64
65
66
67
68
69
70
71
72
73
{
  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 = "sha256-C4QmsW83SxTn+eIkCMWDnd/Vdc9Mb7yD7a0bYSiIRJI=";
      };
    };
    hibiscus-nvim = pkgs.vimUtils.buildVimPlugin {
      name = "hibiscus-nvim";
      src = pkgs.fetchFromGitHub {
        owner = "udayvir-singh";
        repo = "hibiscus.nvim";
        tag = "v1.7";
        hash = "sha256-fjdwT2rdDZ6OF4SByMrcvFNXhF4lhBwzmTLhpwgOQ6o=";
      };
    };
  in {
    dev.config = {
      pure = ./config;
      impure = "/home/culsans/Sync/setup/pkgs/custom-neovim";
    };
    start = [
      tangerine-nvim # Allow configuration in fennel.
      hibiscus-nvim # Adds extra fennel macros.

      # 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
  ];
}