A curated collection of configuration files (dotfiles) optimized for productivity, speed, and a modern CLI experience. This setup is managed using GNU Stow and mise.
This environment relies on several modern CLI tools that replace traditional counterparts:
| Tool | Purpose | Modern Alternative To... |
|---|---|---|
| mise | Polyglot runtime manager | asdf, nvm, pyenv |
| GNU Stow | Symlink manager | Manual copy-pasting |
| zoxide | Smarter navigation | cd |
| fzf | Fuzzy finder | grep, find, Ctrl+R |
| zellij | Terminal multiplexer | tmux, screen |
| eza | File listing | ls |
| bat | Syntax highlighting | cat |
| git-delta | Syntax-highlighting diffs | Standard git diff |
sudo pacman -S --noconfirm zsh mise zoxide fzf ripgrep zellij eza bat git-delta stow# Note: Some tools like mise/zellij may need their own repos or manual install
sudo apt install zsh stow fzf ripgrep bat
# Symlink batcat to bat
mkdir -p ~/.local/bin && ln -s /usr/bin/batcat ~/.local/bin/batgit clone https://github.com/rahulsamant37/dotfiles.git ~/dotfiles
cd ~/dotfilesGNU Stow creates symlinks from the folders in this repo to your home directory.
# Stow individual components
stow zsh
stow git
stow kitty
stow nvim
stow shellchsh -s $(which zsh)After starting a new shell, install your preferred languages via mise:
mise use -g node@latest
mise use -g python@latest~/dotfiles/
├── zsh/ # .zshrc configuration
├── git/ # .gitconfig (with delta pager)
├── kitty/ # Kitty terminal emulator config
├── nvim/ # Neovim configuration
├── shell/ # Shared shell completions/scripts
└── README.md # This file
| Alias | Command | Description |
|---|---|---|
ls |
eza --icons |
List files with icons |
ll |
eza -la --icons |
Detailed list with git info |
tree |
eza --tree |
Visual directory tree |
cat |
bat --paging=never |
View file with highlighting |
zj |
zellij |
Start terminal multiplexer |
preview |
fzf --preview ... |
Fuzzy find with file preview |
To add a new configuration (e.g., tmux):
- Create a folder:
mkdir -p ~/dotfiles/tmux - Move your config:
mv ~/.tmux.conf ~/dotfiles/tmux/ - Symlink it:
cd ~/dotfiles && stow tmux