Hey folks!π
Welcome to my personal Dotfiles repository that helps me back up my configuration files on multiple machines.
I'm AbhinavβοΈβI enjoy creating stuff with code. These dotfiles deliver a efficient, consistent and aesthetically pleasing dev experience that works seamlessly across WSL2, Linux and Windows based systemsπ.
These configurations are designed for my personal use but can serve as a useful starting point for others looking to streamline their setups.
- βοΈ Development Tools
- >_ Sleek Terminal Config
- π¨ Oh My Posh Prompt Style
- βοΈ WSL2 Integration
- π« Beautiful Wallpapers
- π Soothing themes everywhere
- π€ Neovim config switcher
| Lazyvim | Yazi |
|---|---|
|
|
| FZF | Btop |
|
|
| Lazygit | Telescope find files |
|
|
Here is all the information about my setup and tools:
Tip
Some of these tools have the config files included in the repo, which are marked with βοΈ, so you can Cherry-pick what you need.
π Core Development
| βοΈ Tool | π Description | β¨ Features | βοΈ Config |
|---|---|---|---|
| π€ Lazyvim | Lazyvim configuration | β’ IDE-like features β’ Modern Tools β’ Soothing Multiple Themes |
βοΈ Lazyvim |
| π ohmyposh | Cross-shell Prompt | β’ Nocturnal theme β’ Git status integration β’ Context-aware display |
|
| π₯οΈ Tmux | Terminal multiplexer | β’ Custom key bindings β’ Catppuccin Theme β’ Nerd Icons |
βοΈ tmux.conf |
| >_ Zsh | Shell | β’ Smart shell detection and adaptation β’ Enhanced history with timestamps β’ Modern CLI tools integration |
βοΈ .zshrc |
π Modern CLI/TUI Apps
| βοΈ Tool | π Description | β¨ Features | βοΈ Config |
|---|---|---|---|
| π± FZF | Fuzzy finder | β’ File searching β’ History exploration β’ Neovim Integration |
|
| π Eza | Modern ls | β’ Icon support β’ Multiple Themes β’ Custom Alias |
βοΈ theme.yml |
| βΉοΈ Bat | Better cat | β’ Syntax highlighting β’ Multiple themes β’ Line numbers |
|
| π Fastfetch | System Fetch | βοΈ config.jsonc | |
| π¨ Btop | System Monitor | βοΈ btop | |
| π Git | Versioning | βοΈ .gitconfig | |
| π Lazygit | Git TUI | βοΈ config.yml | |
| ποΈ Yazi | File Manager | βοΈ yazi | |
| π§© Zoxide | cd Replacement |
π Other
| π Entry | β¨ Apps |
|---|---|
| Colorschemes | β’ Catppuccin Mocha β’ Material Theme β’ One Dark β’ Oxocarbon β’ Solarized Osaka β’ Tokyodark |
| Fonts | JetBrainsMono Nerd Font |
| Dotfiles Manager | GNU Stow |
Nerd Fonts are required for special icons display in the terminal for aesthetic look. Follow these steps to install them:
- Visit the Nerd Fonts website
- Download your preferred font (on windows)
β¨ JetBrainsMono Nerd Font recommended
- Extract the downloaded zip file
- Install the fonts for WSL2:
- On Windows: Select all
.ttffile, Right-click on each and select "Install for all users"
- On Windows: Select all
- Configure your terminal to use the installed Nerd Font in Windows terminal settings.
For WSL2 users, make sure to set the Nerd Font in your Windows Terminal settings as well.
Note
Ensure you have Git, GNU Stow, and the required tools installed on your system before proceeding.
π₯ Cloning the Repository
- Clone the
dotfilesrepository along with its submodules:
git clone --recursive https://github.com/abhicodes07/dotfiles ~/dotfiles- If you have already cloned it without submodules initialized, run:
cd ~/dotfiles
git submodule init
git submodule updateποΈ Setting Up Dotfiles Using GNU Stow
- GNU Stow simplifies managing dotfiles across different directories. Each subdirectory of
~/dotfilescontains configurations for specific tools.
cd ~/dotfiles- Before stowing files, ensure conflicting configuration files are removed or backed up:
rm -rf ~/.config/Lazyvim
rm -rf ~/.zshrc ~/.bashrc- Use GNU Stow to create symlinks for configuration files:
stow -t ~/ bash
stow -t ~/ zsh
stow -t ~/.config Lazyvim- Use the similar commands for the other configurations too.
Here:
-tspecifies the target directory (e.g.,~/, or~/.config).
π Updating Dotfiles and Submodules
- Sync your dotfiles with the latest changes:
cd ~/dotfiles
git pull- Fetch the latest changes to submodules:
cd ~/dotfiles
git submodule update --remote Lazyvimπ§Ή Unstowing Dotfiles
- If you want to remove all symlinks:
stow -D -t ~/ bash
stow -D -t ~/ zsh
stow -D -t ~/.config Lazyvimla # Aesthetic file listing with beautiful icons
ls # Simple file listing with icons
lg # Git files
lta # Tree file listing with icons
ltg # Git tree files with icons
fzf # Fuzzy finder
yazi # file managerπͺ Key Features:
- Better tab completion with fuzzy finding
- Directory jumping with
zcommand and bookmarking system - Cross-platform environment variables and platform detection
- Files, PDFs and image viewing using
yazi - Aesthetic file listing with
ezaenabled aliases
- Switch between multiple Neovim configurations using custom script and
nvimscommand
Have a question, idea, or a cool setup to share? Or maybe you're running into an issue?
Head over to the Discussions section.
-
Why Use GNU Stow?
- Maintains a clean structure for your dotfiles repository.
- Allows modular management of configurations by stowing specific folders only.
-
Submodule Handling
- Submodules must be cloned recursively and updated separately. Any changes to the Lazyvim folder must be committed in its own repository and tracked by the
dotfiles.
- Submodules must be cloned recursively and updated separately. Any changes to the Lazyvim folder must be committed in its own repository and tracked by the
-
Clone Instructions for Fresh Installs
- Ensure you always clone using
--recursiveor run the commands to initialize the submodule afterwards.
- Ensure you always clone using
Copyright Β© 2026-present Abhi9av







