- They are in this unusual dir order due to my symlink style configuration for using GNU/STOW in order to make my life easier since I am using version control to maintain and backup these stuff.
- I use GNU/Stow to manage my dotfiles as well as keep track of them in GitHub using Git.
- Here I have a few configs of free and open source softwares as the directory names suggests
- I have gotten a lot of help while setting them up from StackOverflow; reddit pages like r/neovim, r/linux, r/linuxmasterrace, r/archlinux, r/linux4noobs, r/linuxquestions; and Google.
- Copied a lot of stuff from the one and only UNIXPORN
- ChrisTitusTech, Brodie-Robertson
UNIXPORN stuff (tiling window managers) just for fun
- Waybar is from s1mpleman
- I use NEOVIM(a better version of vim, more appropiately a better fork) because it is one of the best editor I have ever used. I have configured it to my liking with all the keybinds ready to use so that my hands remain in the keyboard. There are still some extension left.
- Don't go for the exit vim memes, they're all bluff. Use it to its full potential in its vanilla state and you will realise the power of vim, the legendary text editing abilities it provides, and you can make it more awesome by adding plugins(sky is the limit). Start from here freecodecamp.org/Vim-tutorial-for-beginners, then go for more improvements using channels like ThePrimeagen, etc.
- I have already have setup general settings, language stuff, lsp using native nvim-lsp, auto formatting and linting(maybe) using the linters and formatters provided by mason from this repo, and more incoming.
- TODOS:
- Configure DAP for java, cpp, and other languages to be used later on.
- make the ui better with the transparency and stuff.
- setup formatting and linting for more languages.
- keep track of the changes in the readme
- ThePrimeagen is the legendary vimmer, he made me step into nvim/vim. One of the best channel, also twitches.
- TJDevries is another legendary vimmer, and the core maintainer of Neovim, has a great channel, also twitches.
- Devaslife is the vimmer dev, he primarily uses nvim and I follow him a lot. His frontend and backend vids are amazing.
- The r/neovim reddit page, google helped of course. They helped me setup nvim like the one you see in the pics
- This configuration requires Neovim (>= 0.8)
- Nerd Fonts (>= 3.0!!):
- Any Nerd Font is required to display the glyph correctly.
- ryanoasis/nerd-fonts
- JetBrains Mono NL is recommended or you can use the ligature version.
- Node (>=16.20.0) & Npm. Use nvm to version control the node as per your liking, better usability than the native package manager.
- Python (>=3.9) & pip
- Cmake - for building some plugins
- GCC (recent versions) - for building some plugins
- fd - A better version of find(linux util) in rust of course, improves performance in some plugins
- ripgrep(rg) - A better version of grep(linux util) in rust of course, improves performance in some plugins
- jfind - A wayy faster version of fzf written in cpp, required for jfind.nvim
- folke/lazy.nvim - The main thing, a plugin manager , Lazy. Bootstraps everything, no need to configure.
- folke/tokyonight.nvim - A dark and light Neovim theme/colorscheme written in Lua ported from the VSCode's tokyonight theme.
- other colorschemes include ones :
- svrana/neosolarized.nvim - A truecolor, solarized dark colorscheme
- gruvbox-community/gruvbox - One of the legendary colorschemes Gruvbox
- other colorschemes include ones :
- nvim-lualine/lualine.nvim - A blazing fast and easy to configure Neovim statusline written in Lua
- kyazdani42/nvim-web-devicons - Lua
fork
of vim-web-devicons for neovim, for eyecandy icons - lewis6991/gitsigns.nvim - Git signs for better tracking for buffers
- folke/zen-mode.nvim - Distraction-free mode
- goolord/alpha-nvim - beautiful and highly customizable dashboard for Neovim
- xiyaowong/transparent.nvim - make everything transparent with just one command
- j-hui/fidget.nvim - ui for nvim-lsp progress and some of their details
- stevearc/dressing.nvim - Neovim plugin to improve the default vim.ui interfaces.
- RRethy/vim-illuminate - automatically highlighting other uses of the word under the cursor using either LSP, Tree-sitter, or regex matching.
- eandrju/cellular-automaton.nvim - Screensaver using the text in the buffer
-
VonHeikemen/lsp-zero.nvim - bundles all the boilerplate code req for lsp
- This lsp-zero repo helped me a lot to setup the LSP for every language I needed, I just need to install the right backend if needed (eg: rust, go, etc) and the correct LSP server itself and everything just works right out of the box. Java requires some extra configurations and I have done that too in ftplugin dir, idk about the other languages that needs that type of extra configurations, all of them does need for professional usecases, but Im in the learning stage.
-
neovim/nvim-lspconfig - A collection of configurations for Neovim's built-in LSP, required to inject lsp functions in neovim.
-
onsails/lspkind-nvim - VSCode-like pictograms
-
L3MON4D3/LuaSnip - Snippet Engine for Neovim written in Lua
-
hrsh7th/nvim-cmp - A completion engine plugin for neovim written in Lua
-
hrsh7th/cmp-nvim-lsp - nvim-cmp source for neovim's built-in LSP
-
hrsh7th/cmp-buffer - nvim-cmp source for buffer words
-
jose-elias-alvarez/null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
-
williamboman/mason.nvim - Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters
-
williamboman/mason-lspconfig.nvim - Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim
-
glepnir/lspsaga.nvim - A light-weight lsp plugin based on neovim's built-in lsp with a highly performant UI
-
Language specific stuff
- If you don't want extra configuration's mental torture, just go for neoclide/coc.nvim
- for JAVA use mfussenegger/nvim-jdtls, requires a hell lot of configuration
- more to be added in future
- If you don't want extra configuration's mental torture, just go for neoclide/coc.nvim
- nvim-treesitter/nvim-treesitter - Treesitter configurations and abstraction layer for Neovim. Must have for The best Syntax hightlighting.
- windwp/nvim-ts-autotag - Use treesitter to auto close and auto rename html tag
- nvim-telescope/telescope.nvim - A highly extendable fuzzy finder for lsp stuff, grep, find_files,etc can be extended to make it a beast.
- nvim-telescope/telescope.nvim - A highly extendable fuzzy finder for lsp stuff, grep, find_files,etc can be extended to make it a beast.
- debugloop/telescope-undo.nvim - A telescope extension to view and search
- nvim-telescope/telescope-fzf-native.nvim - as the name suggests
- nvim-tree/nvim-tree - File Browser
- windwp/nvim-autopairs - Autopairs i.e autoclosing braces, quotes, etc.
- tpope/vim-fugitive - A Git wrapper so awesome, it should be illegal
- tpope/vim-rhubarb - A GitHub extension for fugitive.vim
- folke/which-key.nvim - A displays a popup with possible keybindings of the command you started typing.
- folke/todo-comments.nvim - highilighted comments using special keywords very good looking and useful
- folke/trouble.nvim - A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
- iamcco/markdown-preview.nvim - Markdown live preview, like GitHub
- jake-stewart/jfind.nvim - faster file search alternative to fzf and telescope-fzf-native, trigger using ctrl + f, written in cpp.
- szw/vim-maximizer - useful for maximizing splits or other split type buffers inside of a buffer.
- luukvbaal/statuscol.nvim - Status column plugin that provides a configurable 'statuscolumn' and click handlers**.
- dstein64/vim-startuptime - measure nvim startuptime accurately
- nmac427/guess-indent.nvim - auto detect indentation
- lukas-reineke/indent-blankline.nvim - adds indentation guides to all lines (including empty lines)
- echasnovski/mini.indentscope - active indent guide and indent text objects
- ThePrimeagen/vim-be-good - A game made by ThePrimeagen to be good at vim in a fun way
- mbbill/undotree - time travel undo for any file
- windwp/nvim-spectre - search/replace in multiple files in a dir
- NvChad/nvim-colorizer.lua - Better CSS hex(maybe others too) color code representation
- kylechui/nvim-surround - Chad legendary level of editing using keybinds for any type of editing of surrounding tags/quotes/braces,etc.
- Fish shell
- Fisher - Plugin manager for fish
- Tide - Shell theme. Use version 5:
fisher install ilancosman/tide@v5
- Nerd fonts - Powerline-patched fonts. I use JetBrainsMono NF.
- z - Directory jumping using
z a-folder-name
- Exa - better
ls
replacement - ghq - Local Git repository organizer, for better management of repos according to owner and version control hosting websites
- peco - Interactive filtering
🤮 PowerShell setup (🤮Windows), is in another repo
- Made a lot of unix style commands aliased in powershell.
- Scoop - A command-line installer
- Git for Windows
- Terminal Icons - Folder and file icons
- PSReadLine - Cmdlets for customizing the editing environment, used for autocompletion
- z - Directory jumper
- PSFzf - Fuzzy finder
- highly recommended for setting up nvim from scratch - I also took a lot from this
- dev workflow using tmux and vim ThePrimeagen version
- how to use nvim by ThePrimeagen, some recent vids highly recommended first and second
- dev workflow using tmux and vim devaslife version
- Fish shell workflow for coding
- How to set up PowerShell prompt with Oh My Posh on Windows 11