aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua/plugins.lua
blob: f1c63678875ffa948f2d06ce84e48ab30ddefa33 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    "--branch=stable", -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({

  -- Color Scheme
  "folke/tokyonight.nvim",

  -- Syntax highlighting
  'nvim-treesitter/nvim-treesitter',

  -- Status line
  'nvim-lualine/lualine.nvim',

  -- Git
  'airblade/vim-gitgutter',
  
  -- File System
  'stevearc/oil.nvim',
  'benomahony/oil-git.nvim',
  
  -- non-linear undo history 
  'mbbill/undotree',
  
  -- Git 
  'tpope/vim-fugitive',
  
  -- Comments
  "tpope/vim-commentary",

  -- Surrounding
  'tpope/vim-surround',

  -- Better . usage
  'tpope/vim-repeat',
  
  -- Some lsp shit
  'mason-org/mason.nvim',

  -- Wakatime
  'wakatime/vim-wakatime',

  {
    'nvim-neo-tree/neo-tree.nvim',
    branch = 'v3.x',
    dependencies = {
      'nvim-lua/plenary.nvim',
      'MunifTanjim/nui.nvim',
      {'3rd/image.nvim', opts = {}},
    },
    lazy = false,
  },
  
  -- Markdown
  {
    'OXY2DEV/markview.nvim',
    lazy = false,
    priority = 49,

  },

  -- Telescope
  {
    'nvim-telescope/telescope.nvim',
    tag = '0.1.5',
    dependencies = {
      'nvim-lua/plenary.nvim',
      'sharkdp/fd',
      { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' },
    }
  },

  -- Icons  
  {
    "echasnovski/mini.icons",
    lazy = true,
    init = function()
      package.preload["nvim-web-devicons"] = function()
        require("mini.icons").mock_nvim_web_devicons()
        return package.loaded["nvim-web-devicons"]
      end
    end,
  },

  -- Rust LSP
  {
    'mrcjkb/rustaceanvim',
    version = '^6', -- Recommended
    lazy = false, -- This plugin is already lazy
  },

  -- Completion
  "hrsh7th/nvim-cmp",
  "hrsh7th/cmp-buffer",
  "hrsh7th/cmp-path",
  "hrsh7th/cmp-nvim-lsp",
  "hrsh7th/cmp-nvim-lua",
})