|
11 | 11 | (defn safe-mod-require [mod] |
12 | 12 | (safe-require (.. :mods "." mod))) |
13 | 13 |
|
14 | | -(defn bootstrap-lazy [] |
| 14 | +(defn bootstrap-lazy |
| 15 | + [] |
15 | 16 | (let [lazypath (.. (vim.fn.stdpath :data) :/lazy/lazy.nvim) |
16 | 17 | uv (or vim.uv vim.loop)] |
17 | 18 | (when (not (uv.fs_stat lazypath)) |
18 | 19 | (vim.fn.system [:git |
19 | 20 | :clone |
20 | | - :--filter=blob:none |
21 | | - :https://github.com/folke/lazy.nvim.git |
| 21 | + "--filter=blob:none" |
| 22 | + "https://github.com/folke/lazy.nvim.git" |
22 | 23 | :--branch=stable |
23 | 24 | lazypath]) |
24 | 25 | (when (not (= 0 vim.v.shell_error)) |
25 | 26 | (error "failed to bootstrap lazy.nvim"))) |
26 | 27 | (vim.opt.rtp:prepend lazypath))) |
27 | 28 |
|
28 | | -(defn to-lazy-spec [name opts] |
| 29 | +(defn to-lazy-spec |
| 30 | + [name opts] |
29 | 31 | (let [spec [name] |
30 | 32 | opts (or opts {})] |
31 | 33 | (each [k v (pairs opts)] |
32 | 34 | (match k |
33 | 35 | :requires (tset spec :dependencies v) |
34 | 36 | :run (tset spec :build v) |
35 | | - :mod (tset spec :config (fn [_plugin _opts] |
36 | | - (safe-mod-require v))) |
| 37 | + :mod (tset spec :config |
| 38 | + (fn [_plugin _opts] |
| 39 | + (safe-mod-require v))) |
37 | 40 | _ (tset spec k v))) |
38 | 41 | spec)) |
39 | 42 |
|
|
48 | 51 | (bootstrap-lazy) |
49 | 52 | (let [lazy (safe-require :lazy)] |
50 | 53 | (when lazy |
51 | | - (lazy.setup specs |
52 | | - {:ui {:border :rounded}}))))) |
| 54 | + (lazy.setup specs {:ui {:border :rounded}}))))) |
53 | 55 |
|
54 | 56 | ;; setup is used for inline setup for modules that require no or {} arg |
55 | 57 |
|
|
63 | 65 | (plugin.setup arg)) |
64 | 66 | (plugin.setup)))))) |
65 | 67 |
|
66 | | -(use |
67 | | - ;; ensured |
68 | | - :Olical/aniseed {} |
69 | | - :lewis6991/impatient.nvim {} |
70 | | - :NLKNguyen/papercolor-theme {} |
71 | | - :fedemengo/github-nvim-theme {} |
72 | | - :catppuccin/nvim {} |
73 | | - :loctvl842/monokai-pro.nvim {:mod :ui.monokai} |
74 | | - :AlexvZyl/nordic.nvim {} |
75 | | - |
| 68 | +(use ;; ensured |
| 69 | + :Olical/aniseed {} :lewis6991/impatient.nvim {} :NLKNguyen/papercolor-theme |
| 70 | + {} :fedemengo/github-nvim-theme {} :catppuccin/nvim {} |
| 71 | + :loctvl842/monokai-pro.nvim {:mod :ui.monokai} :AlexvZyl/nordic.nvim {} |
76 | 72 | :zbirenbaum/copilot.lua {;:cmd :Copilot |
77 | 73 | ;:event :InsertEnter |
78 | 74 | :mod :dev.copilot} |
79 | 75 | :zbirenbaum/copilot-cmp {:mod :dev.copilot_cmp} |
80 | 76 | :MeanderingProgrammer/render-markdown.nvim {:mod :ui.render-markdown} |
81 | 77 | :yetone/avante.nvim {:requires [[:nvim-treesitter/nvim-treesitter] |
82 | | - [:HakonHarnes/img-clip.nvim] |
83 | | - [:stevearc/dressing.nvim] |
84 | | - [:nvim-lua/plenary.nvim] |
85 | | - [:MunifTanjim/nui.nvim] |
86 | | - [:nvim-tree/nvim-web-devicons]] |
87 | | - :run :make |
88 | | - :mod :dev.avante} |
89 | | - |
90 | | - ;; dev |
91 | | - :stevearc/profile.nvim {:mod :dev.profile} |
92 | | - :ruifm/gitlinker.nvim {:requires [[:nvim-lua/plenary.nvim]] :mod :dev.gitlinker} |
93 | | - :RRethy/vim-illuminate {:mod :tools.illuminate} |
94 | | - :sopa0/telescope-makefile {:requires [[:akinsho/toggleterm.nvim]]} |
95 | | - ;; utils |
96 | | - :wellle/targets.vim {} |
97 | | - :folke/which-key.nvim {:mod :tools.which-key} |
| 78 | + [:HakonHarnes/img-clip.nvim] |
| 79 | + [:stevearc/dressing.nvim] |
| 80 | + [:nvim-lua/plenary.nvim] |
| 81 | + [:MunifTanjim/nui.nvim] |
| 82 | + [:nvim-tree/nvim-web-devicons]] |
| 83 | + :run :make |
| 84 | + :mod :dev.avante} ;; dev |
| 85 | + :stevearc/profile.nvim {:mod :dev.profile} :ruifm/gitlinker.nvim |
| 86 | + {:requires [[:nvim-lua/plenary.nvim]] :mod :dev.gitlinker} |
| 87 | + :RRethy/vim-illuminate {:mod :tools.illuminate} :sopa0/telescope-makefile |
| 88 | + {:requires [[:akinsho/toggleterm.nvim]]} ;; utils |
| 89 | + :wellle/targets.vim {} :folke/which-key.nvim {:mod :tools.which-key} |
98 | 90 | :folke/trouble.nvim {:mod :tools.trouble} |
99 | 91 | :nvim-telescope/telescope-fzf-native.nvim {:run :make} |
100 | | - :nvim-telescope/telescope.nvim {:requires [[:nvim-lua/popup.nvim] [:nvim-lua/plenary.nvim]] :mod :tools.telescope} |
101 | | - :kevinhwang91/nvim-hlslens {:mod :ui.hlslens} |
| 92 | + :nvim-telescope/telescope.nvim |
| 93 | + {:requires [[:nvim-lua/popup.nvim] [:nvim-lua/plenary.nvim]] |
| 94 | + :mod :tools.telescope} :kevinhwang91/nvim-hlslens {:mod :ui.hlslens} |
102 | 95 | :lukas-reineke/indent-blankline.nvim {:mod :ui.indentblank :main :ibl} |
103 | | - :norcalli/nvim-colorizer.lua {:mod :ui.colorizer} |
104 | | - :numToStr/FTerm.nvim {:mod :tools.fterm} |
105 | | - :SmiteshP/nvim-navic {} |
106 | | - :jdhao/better-escape.vim {:mod :tools.better-escape} |
107 | | - :mhinz/vim-startify {:mod :ui.startify} |
108 | | - :karb94/neoscroll.nvim {:mod :ui.neoscroll} |
109 | | - :ggandor/leap.nvim {:url "https://codeberg.org/andyg/leap.nvim" |
110 | | - :mod :tools.leap} |
111 | | - :windwp/nvim-autopairs {} |
112 | | - ;; theme |
113 | | - :rcarriga/nvim-notify {:mod :ui.notify} |
114 | | - :folke/zen-mode.nvim {:mod :ui.zenmode} |
115 | | - :nvim-lualine/lualine.nvim {} |
116 | | - :arkav/lualine-lsp-progress {:mod :ui.lualine} |
117 | | - :akinsho/bufferline.nvim {:requires [[:nvim-tree/nvim-web-devicons]] :mod :ui.tab} |
118 | | - :nvim-focus/focus.nvim {:mod :ui.focus} |
119 | | - :petertriho/nvim-scrollbar {:mod :ui.scrollbar} |
120 | | - ;; programming |
| 96 | + :norcalli/nvim-colorizer.lua {:mod :ui.colorizer} :numToStr/FTerm.nvim |
| 97 | + {:mod :tools.fterm} :SmiteshP/nvim-navic {} :jdhao/better-escape.vim |
| 98 | + {:mod :tools.better-escape} :mhinz/vim-startify {:mod :ui.startify} |
| 99 | + :karb94/neoscroll.nvim {:mod :ui.neoscroll} :ggandor/leap.nvim |
| 100 | + {:url "https://codeberg.org/andyg/leap.nvim" :mod :tools.leap} |
| 101 | + :windwp/nvim-autopairs {} ;; theme |
| 102 | + :rcarriga/nvim-notify {:mod :ui.notify} :folke/zen-mode.nvim |
| 103 | + {:mod :ui.zenmode} :nvim-lualine/lualine.nvim {} |
| 104 | + :arkav/lualine-lsp-progress {:mod :ui.lualine} :akinsho/bufferline.nvim |
| 105 | + {:requires [[:nvim-tree/nvim-web-devicons]] :mod :ui.tab} |
| 106 | + :nvim-focus/focus.nvim {:mod :ui.focus} :petertriho/nvim-scrollbar |
| 107 | + {:mod :ui.scrollbar} ;; programming |
121 | 108 | :nvim-treesitter/nvim-treesitter {:run ":TSUpdate" :mod :tools.treesitter} |
122 | | - :ray-x/go.nvim {:mod :dev.go_nvim} |
123 | | - :Julian/lean.nvim {;:ft [:lean] |
124 | | - :requires [[:neovim/nvim-lspconfig]] |
125 | | - :mod :dev.lean} |
126 | | - :lewis6991/gitsigns.nvim {:mod :tools.gitsigns} |
127 | | - :ray-x/lsp_signature.nvim {} |
128 | | - :hedyhli/outline.nvim {:mod :lsp.symbols} |
129 | | - :wakatime/vim-wakatime {} |
130 | | - :Vonr/align.nvim {:mod :tools.align} |
| 109 | + :ray-x/go.nvim {:mod :dev.go_nvim} :Julian/lean.nvim |
| 110 | + {;:ft [:lean] |
| 111 | + :requires [[:neovim/nvim-lspconfig]] |
| 112 | + :mod :dev.lean} :lewis6991/gitsigns.nvim {:mod :tools.gitsigns} |
| 113 | + :ray-x/lsp_signature.nvim {} :hedyhli/outline.nvim {:mod :lsp.symbols} |
| 114 | + :wakatime/vim-wakatime {} :Vonr/align.nvim {:mod :tools.align} |
131 | 115 | :VonHeikemen/lsp-zero.nvim {:requires [[:neovim/nvim-lspconfig] |
132 | 116 | [:williamboman/mason.nvim] |
133 | 117 | [:williamboman/mason-lspconfig.nvim] |
|
141 | 125 | [:onsails/lspkind.nvim] |
142 | 126 | [:nvimtools/none-ls.nvim]] |
143 | 127 | :mod :lsp.lsp} |
144 | | - |
145 | 128 | ;; misc |
146 | 129 | :gruvw/strudel.nvim {:run "npm install" :mod :misc.strudel}) |
147 | 130 |
|
148 | | - |
149 | 131 | (map [:n] :<space>pi ":Lazy install<cr>" {:desc "Install plugins"}) |
150 | 132 | (map [:n] :<space>pu ":Lazy update<cr>" {:desc "Update plugins"}) |
151 | 133 | (map [:n] :<space>pc ":Lazy clean<cr>" {:desc "Clean plugins"}) |
|
0 commit comments