|
1 | | -# kickstart.nvim |
2 | | - |
3 | | -## Introduction |
4 | | - |
5 | | -A starting point for Neovim that is: |
6 | | - |
7 | | -* Small |
8 | | -* Single-file |
9 | | -* Completely Documented |
10 | | - |
11 | | -**NOT** a Neovim distribution, but instead a starting point for your configuration. |
12 | | - |
13 | | -## Installation |
14 | | - |
15 | | -### Install Neovim |
16 | | - |
17 | | -Kickstart.nvim targets *only* the latest |
18 | | -['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest |
19 | | -['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. |
20 | | -If you are experiencing issues, please make sure you have the latest versions. |
21 | | - |
22 | | -### Install External Dependencies |
23 | | - |
24 | | -External Requirements: |
25 | | -- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`) |
26 | | -- [ripgrep](https://github.com/BurntSushi/ripgrep#installation), |
27 | | - [fd-find](https://github.com/sharkdp/fd#installation) |
28 | | -- Clipboard tool (xclip/xsel/win32yank or other depending on the platform) |
29 | | -- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons |
30 | | - - if you have it set `vim.g.have_nerd_font` in `init.lua` to true |
31 | | -- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji` |
32 | | -- Language Setup: |
33 | | - - If you want to write Typescript, you need `npm` |
34 | | - - If you want to write Golang, you will need `go` |
35 | | - - etc. |
36 | | - |
37 | | -> [!NOTE] |
38 | | -> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes |
39 | | -> and quick install snippets |
40 | | -
|
41 | | -### Install Kickstart |
42 | | - |
43 | | -> [!NOTE] |
44 | | -> [Backup](#FAQ) your previous configuration (if any exists) |
45 | | -
|
46 | | -Neovim's configurations are located under the following paths, depending on your OS: |
47 | | - |
48 | | -| OS | PATH | |
49 | | -| :- | :--- | |
50 | | -| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` | |
51 | | -| Windows (cmd)| `%localappdata%\nvim\` | |
52 | | -| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` | |
53 | | - |
54 | | -#### Recommended Step |
55 | | - |
56 | | -[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo |
57 | | -so that you have your own copy that you can modify, then install by cloning the |
58 | | -fork to your machine using one of the commands below, depending on your OS. |
59 | | - |
60 | | -> [!NOTE] |
61 | | -> Your fork's URL will be something like this: |
62 | | -> `https://github.com/<your_github_username>/kickstart.nvim.git` |
63 | | -
|
64 | | -You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file |
65 | | -too - it's ignored in the kickstart repo to make maintenance easier, but it's |
66 | | -[recommended to track it in version control](https://lazy.folke.io/usage/lockfile). |
67 | | - |
68 | | -#### Clone kickstart.nvim |
69 | | - |
70 | | -> [!NOTE] |
71 | | -> If following the recommended step above (i.e., forking the repo), replace |
72 | | -> `nvim-lua` with `<your_github_username>` in the commands below |
73 | | -
|
74 | | -<details><summary> Linux and Mac </summary> |
75 | | - |
76 | | -```sh |
77 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim |
78 | | -``` |
79 | | - |
80 | | -</details> |
81 | | - |
82 | | -<details><summary> Windows </summary> |
83 | | - |
84 | | -If you're using `cmd.exe`: |
85 | | - |
86 | | -``` |
87 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim" |
88 | | -``` |
89 | | - |
90 | | -If you're using `powershell.exe` |
91 | | - |
92 | | -``` |
93 | | -git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim" |
94 | | -``` |
95 | | - |
96 | | -</details> |
97 | | - |
98 | | -### Post Installation |
99 | | - |
100 | | -Start Neovim |
101 | | - |
102 | | -```sh |
103 | | -nvim |
104 | | -``` |
105 | | - |
106 | | -That's it! Lazy will install all the plugins you have. Use `:Lazy` to view |
107 | | -the current plugin status. Hit `q` to close the window. |
108 | | - |
109 | | -#### Read The Friendly Documentation |
110 | | - |
111 | | -Read through the `init.lua` file in your configuration folder for more |
112 | | -information about extending and exploring Neovim. That also includes |
113 | | -examples of adding popularly requested plugins. |
114 | | - |
115 | | -> [!NOTE] |
116 | | -> For more information about a particular plugin check its repository's documentation. |
117 | | -
|
118 | | - |
119 | | -### Getting Started |
120 | | - |
121 | | -[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o) |
122 | | - |
123 | | -### FAQ |
124 | | - |
125 | | -* What should I do if I already have a pre-existing Neovim configuration? |
126 | | - * You should back it up and then delete all associated files. |
127 | | - * This includes your existing init.lua and the Neovim files in `~/.local` |
128 | | - which can be deleted with `rm -rf ~/.local/share/nvim/` |
129 | | -* Can I keep my existing configuration in parallel to kickstart? |
130 | | - * Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` |
131 | | - to maintain multiple configurations. For example, you can install the kickstart |
132 | | - configuration in `~/.config/nvim-kickstart` and create an alias: |
133 | | - ``` |
134 | | - alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim' |
135 | | - ``` |
136 | | - When you run Neovim using `nvim-kickstart` alias it will use the alternative |
137 | | - config directory and the matching local directory |
138 | | - `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim |
139 | | - distribution that you would like to try out. |
140 | | -* What if I want to "uninstall" this configuration: |
141 | | - * See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information |
142 | | -* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files? |
143 | | - * The main purpose of kickstart is to serve as a teaching tool and a reference |
144 | | - configuration that someone can easily use to `git clone` as a basis for their own. |
145 | | - As you progress in learning Neovim and Lua, you might consider splitting `init.lua` |
146 | | - into smaller parts. A fork of kickstart that does this while maintaining the |
147 | | - same functionality is available here: |
148 | | - * [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim) |
149 | | - * Discussions on this topic can be found here: |
150 | | - * [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218) |
151 | | - * [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473) |
152 | | -
|
153 | | -### Install Recipes |
154 | | -
|
155 | | -Below you can find OS specific install instructions for Neovim and dependencies. |
156 | | -
|
157 | | -After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step. |
158 | | -
|
159 | | -#### Windows Installation |
160 | | -
|
161 | | -<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary> |
162 | | -Installation may require installing build tools and updating the run command for `telescope-fzf-native` |
163 | | -
|
164 | | -See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation) |
165 | | -
|
166 | | -This requires: |
167 | | -
|
168 | | -- Install CMake and the Microsoft C++ Build Tools on Windows |
169 | | -
|
170 | | -```lua |
171 | | -{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } |
172 | | -``` |
173 | | -</details> |
174 | | -<details><summary>Windows with gcc/make using chocolatey</summary> |
175 | | -Alternatively, one can install gcc and make which don't require changing the config, |
176 | | -the easiest way is to use choco: |
177 | | - |
178 | | -1. install [chocolatey](https://chocolatey.org/install) |
179 | | -either follow the instructions on the page or use winget, |
180 | | -run in cmd as **admin**: |
181 | | -``` |
182 | | -winget install --accept-source-agreements chocolatey.chocolatey |
183 | | -``` |
184 | | - |
185 | | -2. install all requirements using choco, exit the previous cmd and |
186 | | -open a new one so that choco path is set, and run in cmd as **admin**: |
187 | | -``` |
188 | | -choco install -y neovim git ripgrep wget fd unzip gzip mingw make |
189 | | -``` |
190 | | -</details> |
191 | | -<details><summary>WSL (Windows Subsystem for Linux)</summary> |
192 | | - |
193 | | -``` |
194 | | -wsl --install |
195 | | -wsl |
196 | | -sudo add-apt-repository ppa:neovim-ppa/unstable -y |
197 | | -sudo apt update |
198 | | -sudo apt install make gcc ripgrep unzip git xclip neovim |
199 | | -``` |
200 | | -</details> |
201 | | - |
202 | | -#### Linux Install |
203 | | -<details><summary>Ubuntu Install Steps</summary> |
204 | | - |
205 | | -``` |
206 | | -sudo add-apt-repository ppa:neovim-ppa/unstable -y |
207 | | -sudo apt update |
208 | | -sudo apt install make gcc ripgrep unzip git xclip neovim |
209 | | -``` |
210 | | -</details> |
211 | | -<details><summary>Debian Install Steps</summary> |
212 | | - |
213 | | -``` |
214 | | -sudo apt update |
215 | | -sudo apt install make gcc ripgrep unzip git xclip curl |
216 | | -
|
217 | | -# Now we install nvim |
218 | | -curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz |
219 | | -sudo rm -rf /opt/nvim-linux-x86_64 |
220 | | -sudo mkdir -p /opt/nvim-linux-x86_64 |
221 | | -sudo chmod a+rX /opt/nvim-linux-x86_64 |
222 | | -sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz |
223 | | -
|
224 | | -# make it available in /usr/local/bin, distro installs to /usr/bin |
225 | | -sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/ |
226 | | -``` |
227 | | -</details> |
228 | | -<details><summary>Fedora Install Steps</summary> |
229 | | - |
230 | | -``` |
231 | | -sudo dnf install -y gcc make git ripgrep fd-find unzip neovim |
232 | | -``` |
233 | | -</details> |
234 | | - |
235 | | -<details><summary>Arch Install Steps</summary> |
236 | | - |
237 | | -``` |
238 | | -sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim |
239 | | -``` |
240 | | -</details> |
| 1 | +# ⚡ Neovim Configuration (Go & TypeScript/JS) |
241 | 2 |
|
| 3 | +A personalized, lightweight, and fast Neovim configuration tailored for **Fullstack Development**. |
| 4 | +Focused on **Golang** (Backend) and **JavaScript/TypeScript** (Frontend) workflows. |
0 commit comments