Skip to content

LegioN2004/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💻 DOTFILES

These are my personal dotfiles for mainly my Arch-Linux machine

  • 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

Hyprland rice

first Hyprland ss second Hyprland ss

i3wm rice

nvim, tmux, i3 screenshot

Neovim configuration 🖐️s on🔥

one nvim pic

  • 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

😎 The following are the legendary people of the Neovim users/community

  • 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

⚡️Requirements

  1. This configuration requires Neovim (>= 0.8)
  2. Nerd Fonts (>= 3.0!!):
  3. Node (>=16.20.0) & Npm. Use nvm to version control the node as per your liking, better usability than the native package manager.
  4. Python (>=3.9) & pip
  5. Cmake - for building some plugins
  6. GCC (recent versions) - for building some plugins
  7. fd - A better version of find(linux util) in rust of course, improves performance in some plugins
  8. ripgrep(rg) - A better version of grep(linux util) in rust of course, improves performance in some plugins
  9. jfind - A wayy faster version of fzf written in cpp, required for jfind.nvim

🔧 Plugins used

UI stuff

LSP stuff

  • 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

Utilities (must have)

🐚 Shell setup (Linux) (shall also work in macOS)

  • 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

✅ How to use

  1. highly recommended for setting up nvim from scratch - I also took a lot from this
  2. dev workflow using tmux and vim ThePrimeagen version
  3. how to use nvim by ThePrimeagen, some recent vids highly recommended first and second
  4. dev workflow using tmux and vim devaslife version
  5. Fish shell workflow for coding
  6. How to set up PowerShell prompt with Oh My Posh on Windows 11